BOOK THIS SPACE FOR AD
ARTICLE ADRecentemente, obtive a certificação Certified Bug Bounty Hunter, disponível na plataforma do Hack The Box Academy. Neste artigo, descreverei minha experiência durante o exame, bem como dicas e habilidades necessárias para realizá-lo com êxito. Lembrando que não serão compartilhadas informações sensíveis com relação à exploração dos alvos.
Antes de realizar o exame, é necessário terminar os módulos relacionados a essa certificação. Para ter acesso aos módulos, é preciso desbloqueá-los com cubos, os quais podem ser adquiridos por meio de uma compra única ou inscrição. Na data em que este artigo foi criado, era necessário 1.410 cubos para desbloquear a trilha completa do bug bounty hunter. Embora ao terminar um módulo o usuário receba alguns cubos, eles não são suficientes para liberar os próximos.
Após terminar os módulos, pode-se adquirir o voucher para realizar o exame. A certificação, junto com os módulos, não custa menos que R$1.500,00.
Após a compra do voucher, oferecem até um ano para utilizá-lo; após esse período, o mesmo torna-se inutilizável, sendo necessário comprá-lo novamente, então, atente-se a isso!
Ao iniciar o exame, o usuário terá sete dias para explorar algumas aplicações WEB/API. Há dois critérios para a aprovação: obter no mínimo 80 pontos e desenvolver um bom relatório técnico.
A obtenção dos pontos se dá por meio das flags espalhadas pelo exame, somando um total de 10 flags. Uma delas sempre estará em uma área da aplicação à qual somente o administrador possui acesso. Quanto à outra, estará localizada dentro do servidor.
Como este exame é voltado para ambientes WEB/API, ao obter acesso ao servidor, não é necessário escalar privilégios para ler a flag.
Caso você não vá bem de primeira, fique tranquilo: Você poderá refazer o exame caso não alcance a pontuação mínima necessária, mesmo que seu relatório tenha sido bem desenvolvido.
As habilidades necessárias para realizar esse exame são ensinadas nos módulos. Há módulos em que será necessário criar algum script, porém, durante o exame, não vi a necessidade de criar nenhum script especifico para automatizar alguma exploração ou realizar algum tipo de fuzzing muito específico.
Além disso, ter familiaridade com utilitários de sistemas unix-like, como grep, awk, sed e jq, é de grande ajuda quando é necessário juntar wordlists, remover palavras duplicadas ou substituir um caractere por outro, porém não é mandatório possuir tais habilidades.
Algumas das técnicas apresentadas nos módulos talvez não sejam exigidas durante o exame, mas é aproveitável se dedicar ao material como um todo.
Também vale mencionar o recurso Academy VS. HTB Labs, no qual o usuário poderá usar para aperfeiçoar uma determinada técnica ou tipo de ataque específico, caso sinta a necessidade.
O maior desafio no exame, não necessariamente é a exploração, mas sim a capacidade de ver a situação como um todo e saber conectar os pontos para atingir um objetivo final. Para isso, será necessário encadear vulnerabilidades, o que de fato torna o exame relativamente mais desafiador, mas também mais interessante.
Algumas dicas que podem ajudar bastante:
Enumere tudo que for possível e analise as informações com cuidado;Ao realizar o exame notei que as vulnerabilidades não se repetem ao longo da prova, então, presumo que se a pessoa explorou uma vulnerabilidade X em um alvo, isso não se repetirá em outro;Caso fique “travado’ em uma aplicação sem conseguir fazer progresso, por mais que tudo indique a presença da vulnerabilidade Y, teste outras, até as mais banais como, por exemplo, um brute force;Nem todos os ataques resultarão em um resultado visível na tela imediatamente. Nesse caso, seja por meio do HTTP history ou repeater, preste bastante atenção ao SIZE da resposta.Sem automações! Para explorar as aplicações por completo, são necessários payloads bastante específicos, o que faz com que ferramentas que automatizam o processo de exploração não necessariamente obtenham êxito.Em suma, o exame é divertido e relativamente fácil. Mas isso pode variar bastante, pois o que vai influenciar será a forma como o indivíduo irá encarar os desafios. Não é necessariamente uma questão de “pensar fora da caixa”, mas sim de ver o óbvio, o mais simples.
Com relação a quando iniciar o exame, recomendo dar início em um final de semana ou em qualquer data em que você consiga dedicar algumas horas de forma contínua, para que distrações não comprometam seu resultado!
Sobre a plataforma, não presenciei qualquer tipo de instabilidade no laboratório, mesmo ao realizar fuzzings com muitas threads.
Quanto ao relatório, é disponibilizado um template e embora seja necessário segui-lo, isso não é de ser feito. Além disso, por se tratar de uma certificação estrangeira, é necessário que esse documento seja redigido em inglês.
Espero ter contribuído de alguma forma para a comunidade :D!
Stay phsyched!