Ir para conteúdo
Entre para seguir isso  
rapt00r

0x01 - O que estudar?

Recommended Posts

Estamos aqui novamente rapaziada....

 

Hoje vamos falar sobre o que estudar para ser um bom caçador de bugs ou caçador de recompensas (COMO PREFERIR).

 

Vamos primeiro desmistificar alguns mitos:

1- "BUG HUNTER É MAIS CAPACITADO DO QUE UM PENTESTER " /// Bug Hunter = Etical Hacker = Pentester. (WTFF?!?!?!?!?)) "Bug Hunter" é o termo dado para alguém que procura bugs em algum software em busca de recompensa (um pentester também, porém possui um tempo limitado e pode ser pago caso não encontre algo 😁) e ele utiliza as mesmas técnicas que um Pentester utiliza/utilizaria para realizar seu Teste de Intrusão. Existem SIM! Bug Hunters que são muito mais capacitados do que um Pentester, assim como também existe o contrário.

2-  "VOU FAZER BUG PORQUE POIS DÁ MAIS DINHEIRO" /// Não é bem assim que funciona... Um Pentester pode ganhar bem mais do que um Bug Hunter, assim como o contrário. No caso de Bug Hunters, você recebe de acordo com a criticidade da vulnerabilidade (e onde) que você encontrou. O Pentester (se fizer parte de uma empresa) começará ganhando X e dependendo do seu desempenho poderá ganhar mais ou menos (😓).

3- "TAL BUG HUNTER TRABALHOU UMA NOITE E GANHOU $30.000" /// NÃO, NÃO E NÃO. Esse valor que foi pago, não foi por aquela semana/noite que ele passou procurando. Esse valor é fruto de todo conhecimento que foi adquirido ao longo do tempo que ele dedicou.

4- "POSSO SER BUG HUNTER E PENTESTER AO MESMO TEMPO" /// Sim, como já foi tido, Bug hunter nada mais é do que um pentester que realiza testes em busca de vulnerabilidades em softwares. Você pode sim ter um emprego na área de Segurança sendo um Pentester e fazer Bug Bounty no tempoo livre, tanto por diversão, quanto para aumentar sua renda. (😏🤑). Você pode também ser aquele cara que sempre faz Bug Bounty, e além de caçar bugs nos programas das empresas, oferecer um serviço de Pentest para alguém.

 

 

Bom, acho que os principais mitos foram falados, então vamos ao conteúdo. 🤩🤩

 

Já vimos que um Bug Hunter nada mais é do que um Pentester que busca bugs em empresas que possuem um programa de Bug Bounty. Então seguindo a lógica, podemos utilizar OS MESMOS CONTEÚDOS DE PENTEST para estudar, aprender, praticar e ir caçar seus bugs.

 

Primeiro de tudo, o que seria de um Pentester sem as bases da segurança da informação? Não o CIDA, mas as bases que fazem com que a Segurança da Informação seja importante. Estou falando de Programação, Redes, Sistemas Operacionais, etc etc. E tendo esse princípio, iremos focar aqui no Pentest/Bug Bounty em Aplicações Web (no qual é o meu foco).

 

Começando pela Programação, é difícil falar a você qual a melhor linguagem para ser estudada (JAVA NÃO É). O que eu recomendo é que você comece lá de baixo e ir evoluindo, dessa forma:

 

  • HTML -> É interessante estudarmos HTML para entender como um site é estruturado, seus elementos, e também os tipos que ataque que o envolve.
  • CSS -> Não muito diferente do HTML, é legal aprendermos pois o CSS hoje, nos possibilita utilizá-lo como vetor de ataque. Como exemplo deixo esse report de uma falha que utiliza o CSS como vetor de ataque => CSS Injection on /embed/ via bgcolor parameter leaks user's CSRF token and allows for XSS
  • JAVASCRIPT -> Aqui, é extremamente importante que você conheça a fundo JavaScript, tanto pelos ataques que o envolvem, quanto pelos seus frameworks e plataformas que são criados e utilizados (criando muita força) tanto no Front-End quanto no Back-End.
  • PHP -> Acho interessante estudar sobre pois ainda é altamente utilizado nos sites, por ser uma linguagem Server-Side, por ser fácil e por conter muito conteúdo na NET.
  • SQL -> É essencial que seja aprendido o SQL devido ao fato de que quase todas as aplicações hoje utilizam algum banco de dados (relacional) para guardar suas informações.
  • Python -> Recomendo o Python por ser uma linguagem muito fácil, poderosa e pode te ajudar bastante quando você precisar desenvolver alguma coisa rápida (claro que vai variar de programador para programador).
  • XML -> Como assim XML??? Segue o mesmo princípio do HTML, você deve estudar para entender como determinados ataques funcionam, como por exemplo: XXE in Site Audit function exposing file and directory contents
  • JAVA -> Por ser multiplataforma, e permitir que você decompile alguma biblioteca de forma mais fácil e legível para buscar vulnerabilidade como a que foi descoberta pelo João Matos (sou um grande fã) esse ano. CVE-2018-14667
  • Muitas outras tecnologias que existem, fica ao seu critério. Recomendo fortemente estudar as tecnologias que estão sendo utilizadas no site que você está procurando por vulnerabilidades. Um plugin que utilizo bastante para isso é o Wappalyzer.

 

Partindo para Redes, é indispensável o conhecimento na área, pois você precisa entender como a internet funciona, como as aplicações se comunicam, como os protocolos conversam, quais regras são utilizadas etc.

 

  • Protocolos de Transmissão como TCP/UDP -> É necessário ter conhecimento da base da internet, como os dados são trafegados e entreges etc.
  • Protocolos de Aplicações (SSH, Telnet, HTTP) -> Toda aplicação utiliza algum protocolo para se comunicar, são inúmeros e cada um com suas devidas regras. Em especial, recomendo estudar fortemente o procotolo HTTP, pois ele possui diversos métodos, diferentes versões, e inúmeros Headers que você precisa entender como funcionam para tirar proveito e utilizar como vetores de ataque. 
  • Todos os outros assuntos que envolvem redes são bem vindos, pois dependendo da aplicação que você irá testar, você precisará entender como o protocolo dessa aplicação funciona.

 

Indo pro último, mas não menos importante são os Sistemas Operacionais. 

  • Linux 🐧😍-> É essencial que você tenha conhecimentos relacionados ao sistema operacional do pinguim, pois é fortemente utilizado em servidores, e dependendo de cada distribuição, algumas coisas podem mudar. É muito importante que você entenda como funciona cada sistema operacional, pois haverá situações nas quais você poderá ter acesso à algum e precise de seus conhecimentos para realizar determinada ação.
  • Windows 🖼️ (IMAGINEM QUE O EMOTICON É UMA JANELA. "ABSTRAÇÃO") -> Máquinas com esse sistema operacional também são utilizadas em diversos servidores espalhados ao redor do mundo, não diferente do Linux, você deve entender como funciona o sistema para conseguir realizar determinadas funções que sejam necessárias para dar continuidade ao seu Bounty.
  • FreeBSD 😈-> FreeBSD ainda é utilizado para servidores, e como os outros sistemas descritos, você precisará entender como ele funciona.

 

PRATIQUE CTF, LEIA REPORTS, LEIA WRITEUPS, TUDO ISSO PODERÁ AJUDAR VOCÊ A DESENVOLVER SEU MINDSET. 

 

Após pesquisar em vários lugares (fórum do BugCrowd) resolvi colocar aqui materiais para que vocês possam estudar e começarem a fazer seus programas de Bug Bounty.

 

 

 

Bom galera, acho que por hoje é só. Espero que tenha despertado o interesse em vocês. Qualquer dúvida, sugestão, correção, discussão, se você não concorda em alguma coisa deixa aí nos comentários, tudo é bem-vindo :) !!!!

 

  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  



×

Informação Importante

Ao usar este site, você concorda com nossos Termos de Uso.