Mountaineer

Write Up da máquina Mountaineer do TryHackMe

Objetivo

O objetivo dessa máquina é encontrar as flags local.txt e root.txt.

Enumeração

Iniciando o processo de enumeração, utilizei o nmap para descobrir quais portas estavam abertas no host.

A máquina possui apenas duas portas abertas, então acessei a porta web para identificar se existia alguma aplicação e encontrei a página padrão do nginx.

Então, iniciei o processo para enumeração de diretórios.

Como resultado encontrei o "/wordpress". Acessando o diretório encontrei o que parece ser um blog.

Com essa nova informação, comecei uma nova enumeração, dessa vez no wordpress. Dessa forma, foi possível identificar o xmlrpc habilitado na aplicação.

Novamente realizei uma enumeração de diretórios, dessa vez, a partir do wordpress e encontrei novas pastas na aplicação.

Com essas novas informações, e após alguns minutos de teste, foi possível encontrar um LFI no diretório "/wordpress/images".

Exploração

Sabendo que a aplicação está rodando em um nginx, utilizei o LFI para ler os arquivos de configuração do servidor.

Referência para leitura: https://ubuntu.com/server/docs/how-to-configure-nginx

Em um dos arquivos, foi possível encontrar um novo endereço.

Acessando a nova aplicação, encontrei um painel para autenticação.

Com os usuários encontrados no LFI (/etc/passwd), foi possível fazer um brute force e encontrar as credenciais de acesso da aplicação.

A aplicação é um serviço de email. Lendo os emails recebidos pelo usuário foi possível encontrar uma senha.

Em outro email, foi possível encontrar mais informações sobre o usuário.

Com a senha encontrada no email, foi possível acessar o painel de administração do wordpress.

Com o login na aplicação, comecei um processo para identificar mais informações sobre plugins e temas utilizados pela aplicação. Nesse processo descobri que o wordpress está utilizando o plugin "Modern Events Calendar".

Esse plugin possui uma CVE com exploit público.

https://www.exploit-db.com/exploits/50082

Usando esse exploit, consegui uma web shell na aplicação.

Com a web shell no servidor, foi possível encontrar um arquivo de backup do keepass na pasta do usuário.

Para tentar acessar as informações desse arquivo, gerei uma wordlist com os dados do usuário encontrados no email.

Com a wordlist gerada, preparei o arquivo e usei o john para realizar a quebra da hash.

Com a senha encontrada utilizei o kpcli para ler as informações do arquivo.

Com as novas credenciais encontradas, é possível acessar o servidor via ssh (sim, essa é a senha mesmo, não é uma hash).

Vendo o histórico de comandos foi possível encontrar a senha do usuário root.

Last updated