HackTheBox (HTB) – Paper

Fala rapa, suave?

Hoje vou trazer o passo-a-passo de como resolvi a máquina Paper do HTB. Para resolver essa máquina, são necessárias as habilidades:

  • Fundamentos de Linux
  • Exploração de CVE
  • Enumeração Web

Então só vamos.

Reconhecimento

Primeiramente comecei o clássico nmap para scanear as portas. Encontrei aberta as portas 80, 443 e 22.

nmap -sC -sV -p- -Pn 10.10.11.143

Enumeração Web

Ao acessar a aplicação da porta 80, encontrei uma página de teste do Apache, porém não localizei nada demais. Também tentei fazer um brute force nos diretórios, porém, nada encontrado.

Resolvi então analisar as requisições com o burp, e encontrei o domínio office.paper.

Adicionei o domínio no arquivo /etc/hosts do meu Kali, para que o dns resolva o nome.

E assim consegui o acesso a página web, através do nome do domínio.

Agora com acesso a página, comecei novamente enumerar a página. Com a extensão para o Firefox do Wappalyzer, consegui ver que o CMS é um WordPress versão 5.2.3.

Ao revisar o site, encontrei um comentário informando o Michael que ele deveria remover os conteúdos secretos dos rascunhos, o que pode ser uma dica de onde precisamos ficar atentos.

Fazendo um brute force com o gobuster, encontrei o subdomínio chat.office.paper. Assim como o office.paper, adicionei ele no meu arquivo /etc/hosts para acessá-lo.

gobuster vhost -u http://office.paper -w /usr/share/wordlist/dirb/bug.txt

Ao acessar a URL, me deparei com um Rocket.chat. Porém não temos um usuário válido para login.

Destaque para a informação que para se registrar, é necessário usar a URL secreta… Mais um ponto para ficar atento

Exploração

O primeiro passo que fiz para iniciar a exploração foi procurar por vulnerabilidades no WordPress. Para isso usei a ferramente wpscan. Encontrei uma vulnerabilidade interessante que nos permite ver os rascunhos sem necessitar de autenticação, rascunhos esses que, como visto na fase de reconhecimento, pode conter conteúdos secretos.

wpscan --url office.paper --api-token (SEUTOKEN) --enumerate vp --plugins-detection aggressive

Em uma breve pesquisa sobre a vulnerabilidade, descobri ao parâmetro static, ao coloca-lo igual a 1, me me traz o conteúdo do rascunho.

http://office.paper/?static=1

Assim encontrei o link secreto http://chat.office.paper/register/8qozr226AhkCHZdyY

Ao cadastrar um usuário, consegui acesso ao rocket chat.

Ao ler a conversa no chat descobri que foi criado um robo chamado recyclops, que permite a execução de alguns comandos dentro do servidor. Ao entrar na conversa com ele e digitar o comando “help“, ele me trouxe as opções de comandos. Para mim os comandos mais importantes são:
File – Funciona como o cat, para leitura de arquivos.
List – Funciona como ls para listar diretórios.

A proposta do robo inicialmente é limitado para a pasta Sales, porém com alguns testes descobri que ele é vulnerável a LFI, ou seja, é possivel navegar pelos restantes dos diretórios do servidor.

Dessa forma, naveguei até o diretório do usuário local e tentei ler o arquivo user.txt. Porém o arquivo é restrito apenas para o usuário dwight.

file ../../../home/dwight/user.txt

Como o único usuário com leitura ao arquivo é o dwight, suspeitei que o próximo objetivo seria ganhar acesso a esse usuário, tendo em vista que o SSH estava habilitado no servidor.

Dessa forma comecei a fazer a varredura por arquivos que continham alguma senha no servidor. Encontrei um arquivo .env nas configurações do rocket.chat com a senha Queenofblad3s!23

file ../hubot/.env

E assim consegui o acesso via SSH ao servidor, e a flag contida em user.txt

User: dwight
Pass: Queenofblad3s!23

Escalação de Privilégio

Meu primeiro passo para tentar escalar o privilégio em um sistema Linux, é rodar o script linpeas, que faz o processo de procura por vulnerabilidades localmente de forma automática.

Para enviar o script ao servidor, primeiramente baixei ele no meu Kali linux (máquina local), iniciei um servidor web com python, e baixei o arquivo na minha máquina alvo com wget (com destino para pasta /tmp, onde temos permissão de edição).

Após rodar o script, o mesmo mostra que o sistema é vulnerável ao CVE-2021-3560.

Ao baixar script Polkit no link apresentado, usei o mesmo processo utilizado no script linpeas para transferi-lo para a máquina alvo.

Ao executar o script, consegui o acesso priveliagiado e a ultima flag, root.txt.

Sobre Vitor Prado 37 Artigos
Nascido e criado nas periferias de Diadema-SP, encontrei no estudo e no conhecimento uma forma alternativa de enfrentar os desafios da vida, apesar das muitas barreiras colocadas no caminho.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*