[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. 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. Fuzzing

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

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. Código CSS

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. Alerta JS

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. Redirects

Seguindo-o encontramos novamente uma listagem de arquivos. Diretório escondido

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

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. FTP

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. SSH Banner

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

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.

Privesc

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. Privesc

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

TryHackMeWebLinux Privilege Escalation