Coletando parâmetros com o BURP SUITE!

4 months ago 22

Guaxi

A fase de reconhecimento é a mais importante enquanto estamos analisando um “alvo”, e a coleta de parâmetros pode mudar o rumo do seu recon, tanto em bug bounty, quanto procurando falhas durante algum teste em seu site ou em algum que VOCÊ TENHA PERMISSÃO!!!

e por isso vou mostrar um método muito bom de coleta de parametros utilizando um script feito em python para o BURP SUITE!

Usaremos o script GET ALL PARAMS (GAP) que esta disponibilizado no github do xnl-h4ck3r!

GitHub — xnl-h4ck3r/burp-extensions: Burp Extensions

Existem 2 versões do script:
o GAP.PY que faz a coleta dos parâmetros e os links com o diretório completo.
e o GETALLPARAMS.PY que coleta somente os parâmetros, mas o funcionamento dos 2 é basicamente o mesmo.

usarei o GAP.PY nesta demonstração.

você pode baixar acessando o github ali a cima ou baixando direto, usando o seguinte comando no TERMINAL:

(não precisa baixar os 2 scripts, apenas oque te interessar)

Mas para usar o script precisaremos incluir no BURP-SUITE o JYTHON!

Jython é uma implementação da linguagem Python que gera bytecode para máquinas Java. Com ela é possível fazer o desenvolvimento de aplicações híbridas que unem código em Java e Python.

Precisaremos baixar a versão STANDALONE através deste link: https://www.jython.org/download.html

ou baixar direto via terminal:

wget https://repo1.maven.org/maven2/org/python/jython-standalone/2.7.2/jython-standalone-2.7.2.jar

Após baixar, faremos da seguinte forma a instalação:

no burp vá ate a aba: EXTENDER > OPTIONS> (PYTHON ENVIROMENT + JYTHON STANDALONE ) > SELECT FILE [jython.jar]

e pronto o jython esta incluído ao burp

agora iremos adicionar a EXTENSÃO do GAP

iremos em EXTENDER > EXTENSIONS > ADD > EXTENSION TYPE (PYTHON) > SELECT FILE [script GAP.py] > next

ele vai carregar e pronto esta instalado.

agora se notar foi criado uma nova aba no burp.

pronto agora vc pode configurar selecionando quais tipos de parâmetros deseja coletar.

Se prefere apenas de paginas JSON, XML, BODY da pagina, cookies, QUERY, etc.

Também é possível coletar parâmetros das RESPOSTAS que o servidor retorna.
Caso prefira, da pra salvar os parâmetros em um arquivo direto em uma pasta da sua preferencia, só precisa incluir a pasta na opção (auto-save output to directory),mas os parâmetros são exibidos na tela ao lado facilitando para copiar e enviar para um arquivo.

Para fazer a coleta ative o burp e NAVEGUE pelo site que deseja coletar os parâmetros, tente clicar em tudo que for possível e usar todos os recursos disponíveis no site para uma coleta mais completa!

usarei no exemplo o site http://testphp.vulnweb.com/

após navegar pelo site, vá ate a aba TARGET > SITE MAP > clique com o lado direito no site e clique em GAP ( get all params) para enviar os parâmetros pra extensão.

agora na aba do GAP temos 74 parâmetros e tambem os(arquivos, diretórios e urls) coletados, da também pra filtrar e exibir o link completo ali em (SHOW ORIGIN ENDPOINT)

agora é só copiar a lista e enviar para um arquivo ou salvar direto pela extensão!

Arquivos salvos automaticamente pela ferramenta.

Ele salvou 2 arquivos, um com os parâmetros e outro com os links.

Podemos ver a diferença em um teste simples, utilizando o ARJUN que é uma ferramenta para coleta de parâmetros!

O arjun esta disponível aqui neste link:

GitHub — s0md3v/Arjun: HTTP parameter discovery suite.

o ARJUN encontrou 2 parâmetros no teste simples, enquanto no GAP foram encontrados 74!

A Diferença foi porque o GAP coleta outros tipos de requests através da navegação pelo site usando o burp como proxy, tornando uma forma muito mais completa de fazer a COLETA DE PARAMETROS.

e agora é só pegar a lista com os parâmetros e fazer os testes!

espero que tenha ajudado e qualquer duvida estou a disposição!

abraço e happy hunt!

REFERENCIAS:

Burp Suite — Application Security Testing Software — PortSwigger

GitHub — xnl-h4ck3r/burp-extensions: Burp Extensions

GitHub — s0md3v/Arjun: HTTP parameter discovery suite.

https://www.jython.org/download.html

Read Entire Article