Mr Robot

Difficulty: Medium


TryHackMe Room


Walkthrough - Youtube Habemus Shell


Scanning


  • Vamos começar a nossa enumeração com uma ferramenta diferente do nmap agora só para testarmos coisas novas. Vamos utilizar aqui o rustscan.

Services and Versions


  • Vamos agora utilizar o nmap para tentar encontrar que serviço e versões estão rodando nessas portas.

Exploration


Port 80


  • Através do código-fonte podemos ver que está aplicação esta rodando com um Wordpress.

  • Vamos realizar um fuzzing para encontrar mais diretórios que possamos explorar.

  • Achamos diversos caminhos importantes para nossa exploração. Como páginas de login e robots.txt que possue caminhos que normalmente não devem ser indexados para página web.

  • Conseguimos a partir do robots.txt obter a primeira flag.

  • O outro arquivo que encontramos no robots.txt, parece ser uma wordlist para ser utilizada, talvez um futuro bruteforce.

  • Vamos baixar esse arquivo e vamos tratar o mesmo, retirando possíveis linhas repetidas para que ele fique menor.

  • Aqui podemos ver a diferença de tamanho da lista padrão e da tratada sem linhas repetidas e ordenada.

  • Vamos tentar logar agora com a página de login que encontramos no fuzzing.

  • Sabemos que o Mr.Robot é uma série conhecida, podemos fazer um osint com alguns nomes conhecidos de personagens dessa série.

  • Vou utilizar o usuário elliot, pois é o personagem principal da série.

  • Observe que o comportamento da aplicação, ele acaba falando que apenas a senha está errada. E com essa mensagem de erro, conseguimos enumerar usuários que realmente existem no sistema. Então, apenas precisamos agora descobrir a senha do usuário Elliot

  • Como temos uma wordlist, vamos executar um bruteforce nesse formulário com o usuário elliot e com a wordlist que encontramos em robots.txt

  • Vamos usar a ferramenta WpScan para realizar esse bruteforce

  • Agora se tentarmos logar, podemos entrar no painel do Wordpress.

  • Há diversas formas de se explorar um wordpress a partir da sua página de configuração. Uma delas é a utilização de um tema com payload de reverse shell. Vamos utilizar essa técnica.

  • Em apperance > editor

  • Vamos editar esse tema e colocar um payload bem conhecido de reverse shell em php, que é o Pentest Monkey.

  • Bom, usamos php aqui pq a tecnologia que esta rodando nesse wordpress é PHP.

  • Podemos usar o Wappalyzer para confirmar isso.

  • Vamos copiar e colar lá no editor do tema do wordpress. Mas antes mude para o template 404.php, que esta na direita e após isso clique em Update File.

  • Confirmamos a atualização, agora podemos deixar um listening do netcat na porta 443, e abrir a páginal do tema wordpress, e iremos receber o nosso reverse shell.

  • Lembre-se que assim que enumeramos a página web descobrimos o caminho para esse tema no codigo-fonte: http://10.10.247.19/wp-content/themes/twentyfifteen/arrow-up-right

Initial Access


  • Vamos deixar o shell mais interativo agora para que possamos navegar de uma forma mais confortável e não perder o shell caso faça um ctrl+c.

  • Primeiro procuramos por versões do python no sistema:

  • Não podemos ler a segunda flag, pois somente o usuário robot pode ler e somos o usuário daemon

  • Mas temos o arquivo password.raw-md5 nessa mesma pasta do robot e ele tem o que parece a senha desse usuário em md5.

  • Agora podemos tentar logar com o usuário robot.

  • E com isso conseguimos pegar a segunda flag.

Privilege Escalation


  • Para pegar a última flag, precisamos escalar privilégio para o usuário root

  • Vamos procurar binários incomuns com permissão de suid.

  • Encontramos o nmap usando o GTFobinsarrow-up-right para vermos se já é conhecido escalar privilégio com esse binário.

  • Com isso, conseguimos escalar para usuário root e conseguimos ler a ultima flag.

Last updated