Dicas de Bug Bounty — Parte 1
To read the english version, click here / Para ler a versão em inglês, clique aqui
Contexto
Eu recentemente estava lendo alguns artigos e writeups sobre bug bounty, e eu tentei focar em writeups de vulnerabilidades de controle de acesso porque queria aprender esse tipo de vulnerabilidade primeiro. Estas são as anotações que fiz. Os links dos artigos/writeups estão no fim desse post, eu recomendo a leitura para ter um melhor entendimento e talvez até escrever suas próprias anotações se quiser.
Dicas
- Leia o maior número de livros de hacking possível (Bug Bounty Bootcamp e Web Hackers Handbook 2 e 3 são boas recomendações)
- Frequentemente leia writeups no Medium
- Complete módulos no PortSwigger
- Vá além e prove impacto (por exemplo, com XSS não só use alert(1), prove que você pode roubar cookies com essa vulnerabilidade)
- Construa seus próprios scripts de reconhecimento
- Encontre ferramentas únicas no Github e teste elas, aprenda sobre elas e saiba exatamente o que elas fazem
- Não use somente uma ferramenta. Nos processo de enumeração e de brute force, por exemplo, você deve usar múltiplas ferramentas
- Sempre leia o Javascript, porque podem ter informações muito importantes no Javascript de um site
- Desenvolva sua própria metodologia e continue melhorando-a
- Foque somente em um programa de bug bounty, passe um bom tempo nele e entenda o flow de sua aplicação. Falhas no controle de acesso, por exemplo, frequentemente podem ser achadas em funcionalidades que as pessoas nunca se incomodaram em testar, devido a somente olhar superficialmente pela aplicação ou não entender ela
- Construa uma lista de requests e parâmetros da aplicação que você está testando
- Encontre todos os subdomínios e coloque-os no Escopo do Burp Suite (aliás, se você não está usando o Burp Suite, comece a usar)
- Use ferramentas de descobrir URLs, como ferramentas de pesquisa, APIs de pesquisa, Javascript e Github, para pesquisar por URLs indexadas. Fazendo isso, é possível achar chaves privadas
- Use todas as funcionalidades disponíveis no site, com cada método HTTP
- Tenha mais de uma conta para testes no site
- Tente manipular requests que tem como resposta o status 403
- No fim, exporte todos os requests com IDs, e a partir daí, ou jogue-os num bloco de notas e use a função “procurar e substituir” para mudar os IDs para outros (isso pode ser bom para achar requests que permitem se passar por outras pessoas), ou manualmente mexa com eles de novo para ver o que foi possivelmente passado por despercebido
- Após finalizados os testes com uma vulnerabilidade, siga para a próxima
- Identifique todos os subdomínios dentro do escopo e teste-os para ver os que ainda estão “vivos” e os que não estão, e construa um arquivo com essa informação
- Identifique exatamente quais são os parâmetros dos requests e que tipo de dados são permitidos nesses parâmetros, tudo isso usando uma série de ferramentas, e colocando essas informações numa lista separada
- Cheque quais parâmetros são refletidos em cada query de URL
- Com XSS, não simplesmente use alert(1), porque talvez o termo alert esteja bloqueado, mas outros termos não
- Veja o histórico de requests do Burp Suite e procure por endpoints que requerem uma conta com mais permissões, e veja se eles podem ser acessados com uma conta com menos permissões
- Para procurar por vulnerabilidades de controle de acesso com automação, use a extensão Autorize Burp
- Para procurar num processo manual, use PWNfox
- Passe um tempo na página do programa no Hackerone (ou qualquer outra plataforma de bug bounty que use)
- Tente procurar bugs em serviços Pró/Premium/VIP, só uma pequena quantidade de caçadores faz isso
- Se você não sabe algo, pesquise sobre (parece óbvio, mas é muio bom se lembrar disso)
Artigos/Writeups
How To Earn Your First Bounty — https://medium.com/@tobydavenn/how-to-earn-your-first-bounty-6fb37ef77bbd
$1500 Of Broken Access Controls — https://medium.com/@tobydavenn/1500-of-broken-access-controls-503d8a5f56f5
$700 Bounty writeup — https://medium.com/@tobydavenn/700-bounty-writeup-28ec1f310831
Access control worth $2000 (everyone missed this IDOR+Access control between two admins.) — https://medium.com/pentesternepal/access-control-worth-2000-everyone-missed-this-idor-access-control-between-two-admins-9745eaf15d21