Informações sobre a maquina:

Pontos: 300

Nível: Fácil

SO: Linux


→ Primeiro comecei buscando por portas abertas, utilizando o nmap

PORT   STATE SERVICE VERSION
22/tcp open ssh  OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
80/tcp open http Werkzeug/2.1.2 Python/3.8.13

→ Acessando a interface web, me deparo com uma página que não contém muita coisa, exceto dois botões Sign in e Sign up

Tentei fazer um Sign in com os usuários padrões, admin/admin e etc. Sem sucesso.

Tentei fazer um Sign in com os usuários padrões, admin/admin e etc. Sem sucesso.

→ Logo fui para o Sign up e criei o meu próprio usuário. Após criar meu usuário e logar, sou redirecionado para essa pagina. Nada de interessante, exceto o botão New Project.

Untitled

→ Assim que clico em New Project, recebo um alerta dizendo que não tenho permissão. Depois de longas horas, longos fuzzing de diretórios, fui dar uma atenção para os cookies e vejo que ele é um JWT que contém algumas informações interessantes.

Untitled

→ Assim que pego o JWT no cookie vou direto para o jwt.io e tenho o seguinte resultado.

Untitled

→ Bom conforme aprendi nas aulas do mestre Kadu, pode existir duas possíveis falhas (ou mais)

  1. Weak Secret → Secret fraca, podendo ser quebrada com hashcat ou john com uma boa wordlist. Quebrando a secret seria possível gerar um jwt válido. ( não deu certo )
  2. None Attack → Trocamos o alg por none ou deixamos vazio, dessa forma quando o backend for válida o token, não seria validado já que não tem alg, seria basicamente um bypass de autenticação.