Fala rapa, beleza?
Hoje irei trazer como eu resolvi o CTF Pickle Rick, do Try Hack Me.
Esse CTF consiste em explorar um webserver para capturar 3 ingredientes (flags), para poção do Rick.
Bora?!
Acessando o link que o próprio CTF fornece, tenho acesso a aplicação web.
https://10-10-238-143.p.thmlabs.com
Ao acessar o código fonte da página, encontrei um comentário com um Username.
Username: R1ckRul3s
Não encontro mais nada que possa ser explorável, então realizo o scan de diretórios.
gobuster dir -u https://10-10-238-143.p.thmlabs.com -w /usr/share/wordlists/dirb/big.txt -o diretorios.txt
Em robots.txt, encontro uma informação estranha, mas que talvez possa ser uma senha, já que encontramos um username no código fonte
http://10-10-238-143.p.thmlabs.com/robots.txt
palavra: Wubbalubbadubdub
Certo, já tenho um username e uma provável senha, porém ainda não encontrei nenhum campo de login. Então volto a fazer um scan de diretórios, só que dessa vez vou pedir para adicionar a extensão php e txt na minha busca.
gobuster dir -u https://10-10-238-143.p.thmlabs.com -w /usr/share/wordlists/dirb/big.txt -x php,txt -o diretorios2.txt
Agora sim encontro a página de login, e nela consigo me autenticar com o username e palavra encontrados até o momento.
http://10-10-238-143.p.thmlabs.com/login.php
Username: R1ckRul3s
Password: Wubbalubbadubdub
Agora autenticado na aplicação, encontro uma página que me permite utilizar comandos no servidor. E pelos comando aceito, o servidor é um Linux. Então consigo através de comandos de linux navegar pelos diretórios e procurar pelos ingredientes.
Ao listar os arquivos e diretórios, já me deparo com um arquivo Sup3rS3cretPickl3Ingred.txt, que provavelmente é um dos ingredientes. Então tento abrir o arquivo com cat, porém a aplicação bloqueou alguns comandos para dificultar um pouco o lab.
ls -la
cat Sup3rS3cretPickl3Ingred.txt
Bem, me baseando nos arquivos que estão sendo listados, provavelmente esse arquivo está no mesmo diretório do servidor web que está rodando a aplicação.
Então abrindo o arquivo pelo browser, consigo o primeiro ingrediente.
http://10-10-238-143.p.thmlabs.com/Sup3rS3cretPickl3Ingred.txt
Através da navegação entre os diretórios, encontrei o segundo ingrediente second ingredients dentro da pasta /home/rick.
cd ../../../home/rick;ls
Dessa vez não vou conseguir abrir o arquivo pelo browser, então preciso encontrar uma outra alternativa de leitura do arquivo. Existem diversas formas de ler um arquivo no linux, após eu tentar as que conheço, toda estavam bloqueadas… Então bora correr pro google né?
Após pesquisar, vejo que o comando nl, além de numerar as linhas, também mostra o conteúdo do arquivo. Assim consigo o segundo ingrediente!
cd ../../../home/rick;nl second\ ingredients
Obs: Para que o terminal reconheça o espaço entre as palavras, preciso colocar o caractere “\“.
Pela lógica, o 3 ingrediente estará dentro da pasta root, a qual precisamos de permissão no grupo sudoers para acesso.
Ao verificar as permissões sudoers do nosso usuário, vejo que temos acesso ALL.
sudo -l
Então com a execução do comando sudo, consigo acessar a pasta /root, assim conseguindo o último ingrediente.
sudo ls ../../../root/
sudo nl../../../root/3rd.txt
Seja o primeiro a comentar