🏆Vulnversity Writeup

-- documentações ainda em revisão -- faltando partes - video ja gravado

Vulnversity

Não vou conseguir lembrar a data certinha da primeira vez que fiz, mas estou recomeçando no tryhackme e este é o writeup q eu gostaria de trazer primeiro.

--Vou pular as primeiras tasks que são sobre estar conectado a VPN, ter um sistema com NMAP instalado, estar conectado na máquina do desafio e também pularemos as perguntas que não precisam de resposta.

Escaneando

Scan the box with nmap -sV < machines ip >

nmap -sV 10.10.84.129

O nmap é uma ferramenta gratuita, de código aberto e poderosa usada para descobrir hosts e serviços em uma rede de computadores. Utilizamos o nmap para escanear esta máquina para identificar todos os serviços que estão sendo executados em uma porta específica, mas podemos fazer o uso do programa de algumas formas, como:

nmap flag Description

Nmap flagCity

-sV

Attempts to determine the version of the services running

-p<x> or -p-

Port scan for port <x> or scan all ports

Pn

Disable host discovery and just scan for open ports

-A

Enables OS and version detection, executes in-build scripts for further enumeration.

-sC

Scan with the default nmap scripts

-v

Verbose mode

-sU

UDP port scan

-sS

TCP SYN port scan

 nmap -sV -Pn 10.10.84.129

Podemos utilizar o HELP do shell para saber mais parâmetros e até ajudar a responder algumas questões.

Algumas coisas que gostaria de add aqui para utilizarmos, poderia ser o seguinte:

Usar o mais comum em TODAS as portas / entre as portas especificadas (NO EXEMPLO SÃO TODAS POR TERMOS POSTO AS 65535 PORTAS)

nmap -sS -p1-65535 10.10.84.129

Podemos utilizar uma forma de agilizar os pacotes com o -T4 (cuidado ao usar o -T5 por ter risco de se derrubar).

Podemos, também utilizar uma força maior no 'verbose' para mostrar tudo na tela de forma mais detalhada o q está acontecendo, nesse caso podemos por -vv

sudo nmap -sS -p1-65535 10.10.84.129 -T4 -vv

Quantas portas estão abertas?

Eu fiz o exercício com o comando:

sudo nmap -sV -Pn 10.10.84.129

A saída sairia - resumidamente e objetivamente - mais ou menos como no exemplo abaixo;

┌──(laidler㉿kali)-[~/Documents/seclab]
└─$ nmap -sV -Pn 10.10.84.129
PORT     STATE
21/tcp   open
22/tcp   open
139/tcp  open
445/tcp  open
3128/tcp open
3333/tcp open

Podemos ver que temos 6 portas abertas detectadas, o que responde a questão. Resposta>

 6

Versão do squid proxy?

No nmap -sV -Pn 10.10.84.129 mostrado acima, ele não apenas mostra na saída qual a porta e seu estado (aberto), mas também mostra o serviço e qual a versão do mesmo.

Logo, a resposta fica clara na saída deste comando também:

┌──(laidler㉿kali)-[~/Documents/seclab]
└─$ nmap -sV -Pn 10.10.84.129
PORT     STATE SERVICE     VERSION
22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.7 (Ubuntu Linux; protocol 2.0)
3128/tcp open  http-proxy  Squid http proxy **3.5.12**
3333/tcp open  http        Apache httpd 2.4.18 ((Ubuntu))

Squid http proxy **3.5.12**

Resposta>

 3.5.12

NMap escanearia quantas portas com o parâmetro -p-400?

De acordo com o que foi explicado anteriormente, daria para responder numa boa, né? haha.

Resposta>

 400

Já o parâmetro -n, o que o nmap não irá resolver?

Usando a flag -n no nmap, ele não resolverá os nomes de domínio DNS. Isso significa que o nmap não tentará converter endereços IP em nomes de host. Isso pode ser útil para acelerar as varreduras. Podemos achar essa resposta se usarmos o HELP para ver o que cada parâmetro/flag faz.

Resposta>

 DNS

Qual sistema operacional provavelmente está sendo rodado? Qual porta está rodando o web server?

Ainda usando a mesma saída de nmap -sV -Pn 10.10.84.129 podemos ver que estamos falando do Ubuntu, com web server na porta 3333, ou seja, temos um site em http://10.10.84.129:3333.

Salvo engano, temos como detectar com o parãmetro -A

Respostas>

 Ubuntu
 3333

GoBuster - DirBruteforce

GoBuster é uma ferramenta usada para forçar bruscamente URIs (diretórios e arquivos), subdomínios DNS e nomes de host virtual. Para esta máquina, vamos nos concentrar em usá-lo para forçar bruscamente os diretórios. Eu geralmente uso outras ferramentas, como o dirb ou dirsearch, mas esse é bem legal também.

Qualquer coisa só rodar o sudo apt-get install gobuster

Se também tiver no Kali Linux, tu vai achar umas wordlists em /usr/share/wordlists.

gobuster dir -u http://<ip>:3333 -w < word list location and/or name >

Vamos utilizar para encontrar um diretório que pode ser usado para fazer o upload de um shell.

Usando o GoBuster

Utilizei com uma wordlist baixada que se encontra no mesmo diretório.

gobuster dir -u http://10.10.84.129:3333 -w common.txt

Você pode pesquisar pela wordlist 'directory-list-2.3-medium.txt' que resolverá o desafio.

Parâmetros do GoBuster;

GoBuster FlagDescription

-e

Print the full URLs in your console

-u

The target URL

-w

Path to your wordlist E.g: /usr/share/wordlists/dirbuster/

-U and -P

Username and Password for Basic Auth

-p <x>

Proxy to use for requests

-c <http cookies>

Specify a cookie for simulating your auth

Qual diretório é uma aba de upload?

Com o comando e uma saída mais ou menos como:

┌──(laidler㉿kali)-[~/Documents/seclab]
└─$ gobuster dir -u "http://10.10.84.129:3333/" -w common.txt 

===============================================================
[+] Url:                     http://10.10.84.129:3333/
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                common.txt
===============================================================
images               (Status 301) [Size 320] [--> http://10.10.84.129:3333/images/]
css                  (Status 301) [Size 317] [--> http://10.10.84.129:3333/css/]
fonts                (Status 301) [Size 319] [--> http://10.10.84.129:3333/fonts/]
internal             (Status 301) [Size 322] [--> http://10.10.84.129:3333/internal/]

podemos perceber que desses diretórios, o único que parece ter algo é o 'internal', então se abrirmos a página http://10.10.84.129:3333/internal/ iremos perceber que nela temos uma página de upload.

Resposta>

 /internal/

Comprometer o webserver - Exploração da falha

Last updated