[THM] Year of the Rabbit - Enumeração Web e Privilege Escalation
Sumário
Essa máquina de nível fácil exige conhecimentos básicos de JavaScript, análise de requisições Web, forense em arquivos, ataques de força bruta e escalação de privilégio.
Reconhecimento
A primeira etapa do reconhecimento foi um scan de portas no host usando o Nmap.

Página Web
Após isso, visitamos a página Web e nos deparamos com a tela inicial de um Servidor Apache. Através de um ataque de força bruta de diretórios foi possível encontrar diretórios e páginas.

Acessando o diretório /assets na aplicação encontramos a seguinte lista de arquivos:

O primeiro deles é um vídeo que contém o clássico meme Rickrolling enquanto o segundo - style.css - é um arquivo de estilização que contém no código um comentário indicando uma página PHP secreta.

Acessando a página percebemos uma série de redirecionamentos com destino final ao RickRolling. Entre elas um alerta indicando que seria necessário desabilitar o JavaScript do navegador para evitar a chamada do window.location.

No entanto, não foi necessário desativá-lo. Com auxílio do console de rede do navegador podemos perceber que ocorre uma chamada interessante para uma página intermediária com um parâmetro que indicaria um diretório escondido.

Seguindo-o encontramos novamente uma listagem de arquivos.

Ao acessar o Hot_Babe.png temos a imagem a seguir.

Salvei-a na minha máquina e para analisar abri seu conteúdo em formato de texto, pode usar VSCode, VIM, VI ou mesmo imprimi-lo com um cat do Linux ou type do Windows. Ao final do conteúdo temos uma mensagem informando o usuário do FTP e algumas possíveis senhas.
Exploração
Ataque de força bruta
Exportando todas as senhas para um arquivo de texto podemos fazer um ataque de força bruta e descobrir as credenciais para logar no serviço de transferência de arquivos. Para isso usei o THC Hydra com o seguinte comando:
hydra -l ftpuser -P .exploit/passwords.txt ftp://<IP>:21
Após logar no FTP vemos apenas um arquivo chamado Eli's_Creds.txt.

Acesso remoto
Ao baixar o arquivo citado anteriormente vemos que se trata de um código aparentemente estranho, mas olhando mais atentamente será fácil identificar que esse padrão é o utilizado em códigos da linguagem de programação Brainfuck. Ao submetê-lo em um compilador online temos na saída as credenciais do Eli para acesso remoto.
Ao acessar remotamente o servidor com SSH recebemos um banner com uma mensagem do root para o usuário Gwendoline.

Realizando uma busca por essa mensagem secreta conseguimos encontrá-la e obter as credenciais de login para esse usuário.

Logando no Gwendoline e indo para sua home obtemos a flag de usuário.
Escalando privilégio
Para enumerar falhas que permitem a escalação de privilégio eu utilizei basicamente dois comandos:
sudo -l- Para enumerar arquivos que possam ser executados com permissões de root.sudo -v- Para enumerar a versão do SUDO e verificar CVEs conhecidas.

Com as saídas podemos perceber que conseguimos executar o seguinte comando como root:
/usr/bin/vi /home/gwendoline/user.txt
E a partir da versão identificamos que está vulnerável a CVE-2019-14287, sendo possível utilizar do seguinte comando como exploit:
sudo -u#-1
Somando essas saídas temos o seguinte vetor de exploração de privilégio:
sudo -u#-1 /usr/bin/vi /home/gwendoline/user.txt
E na tela de edição de texto, basta digitar :!sh e apertar Enter.

A última flag pode ser encontrada na pasta /root.