HackingClub Vaccinate Write-up
25
0

HackingClub Vaccinate Write-up

Write-up da maquina Vaccinate Hackingclub.

Roberto Francisco
3 min
25
0
Email image

A máquina Vaccinate pertence ao Hackingclub, para poder ter acesso a essa máquina é necessário assinar o Hackingclub.

A máquina está classificada como nível Médio e seu sistema operacional é Linux.

                                               Reconhecimento

Primeira etapa é fazer o reconhecimento inicial de portas e serviços disponíveis no alvo. Para essa finalidade utilizaremos a ferramenta Nmap.

Nmap -sS -sV -v <IP>

Resultado:

Email image

Vamos iniciar o reconhecimento do serviço web.

Na página home da aplicação é possível encontrar um formulário.

Email image

Executaremos o wfuzz para tentar encontrar algum arquivo ou diretório na aplicação.

Email image

Um arquivo de texto disponível no servidor web. Vamos dar uma olhada.

Email image

Encontramos duas coisas interessantes, a nossa primeira flag e que possivelmente a aplicação está utilizando a função “call_user_func”.

No site do PHP  https://www.php.net/manual/pt_BR/function.call-user-func.php

Obtemos a seguinte informação:

Email image

Basicamente a função “call_user_func” pode ser utilizada para chamar diretamente uma função no php e os seus argumentos.

Pesquisando possíveis formas de exploração dessa função, encontramos “dynamic function injection” uma vulnerabilidade que permite o usuário chamar uma função do php diretamente, como por exemplo a função System.

Voltando para o formulário que encontramos na página home e capturamos a requisição com Burpsuite.

Email image

Encontramos dois arrays, data e usuario, temos um problema, de acordo com o site do php a função system não aceita array.

Email image

Vamos converter o parâmetro data em string e chamar o system pelo usuário, caso não funcione vamos inverter os valores.

Email image

Vamos enviar a requisição.

Email image

Temos nosso Remote Code Execution.

                                                   Exploração

Vamos utilizar o Curl para obter nossa shell.

Email image

Resultado:

Email image
Email image

Encontramos a 2º flag.

                                         Escalação de privilégios

Agora precisamos escalar nosso privilegio para root ou outro usuário que nos permita conseguir o root.

Executando o netstat podemos ver quais portas estão abertas na máquina.

Email image

Porta 8000 tem algum serviço escutando através dela, porem somente está disponível localmente.

Para acessar pela nossa máquina, utilizaremos o chisel que é um programa para tunelamento.

https://github.com/jpillora/chisel

Na nossa máquina executaremos o chisel como servidor.

Email image

Na máquina alvo executaremos como cliente.

Email image

Conexão feita, agora temos acesso a porta 8000.

Email image

Laravel com o modo debug ON, pesquisando por isso no google encontrei esse repositório no GitHub.

https://github.com/ambionics/laravel-exploits

ele explora o Laravel ignition, para confirmar que é essa versão do laravel podemos verificar as requisições que saem da nossa máquina.

Email image

Pronto, agora podemos executar o exploit.

Email image

Conseguimos nosso RCE agora como root.

Executamos uma reverse shell bash.

Email image

Pegamos a última flag.

                                                     Consideração Final

Obrigado por chegarem até o final do meu write-up.

Email image