Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Qu'est-ce que le bug bounty?

JR0ch17
October 26, 2020

Qu'est-ce que le bug bounty?

JR0ch17

October 26, 2020
Tweet

More Decks by JR0ch17

Other Decks in Technology

Transcript

  1. GET /whoami HTTP/1.1 Jasmin Landry JR0ch17 Je fais du bug

    bounty à temps partiel (Je me concentre principalement sur les applications webs) Classé 50ieme All-Time dans Bugcrowd
  2. GET /agenda HTTP/1.1 • C’est quoi du bug bounty? •

    BBP vs VDP • Publique vs Privé • “Scope” • Règlements • Obtenir des points sur Bugcrowd • Comment commencer? • Prérequis • Ressources • Comment avoir du succès? • Background sur mon aventure • Travailler fort et apprendre • Ma méthodologie • Évolution • Bug Bounty vs. Tests d’intrusion • Live Hacking Event • Questions/Discussion
  3. GET /what_is_bug_bounty HTTP/1.1 Le ”Bug bounty” est une initiative qui

    permettre aux entreprise d’offrir des récompenses (bounty) en échanges de vulnérabilités. • Récompense peut être un bounty (USD) , swag (t-shirt, stickers, etc), Hall of Fame, points • Bug Bounty Program (BBP) vs Vulnerability Disclosure Program (VDP) • BBP offre de l’argent (bounty) • VDP n’offre pas d’argent • Une entreprise peut gérer son propre programme • Une entreprise peut utiliser un tiers parti • Un BBP peut être publique (ouvert à tous) ou privé (invitation seulement)
  4. GET /what_is_bug_bounty?page=2 HTTP/1.1 • BBP Publique • Entreprise mature en

    sécurité; a un bon processus de S-SDLC en place • Offre normalement de plus gros bounty (10-15k pour des bugs critiques) • Plus de compétition (ouvert à tous) • Plus difficile • BBP Privé • Pour des entreprises qui commencent ou veulent expérimenter le BB • Offre normalement de plus petit bounty (1.5-5k pour des bugs critiques) • Moins de compétition (invitation seulement) • Plus facile
  5. GET /what_is_bug_bounty?page=3 HTTP/1.1 Quel genre de bug peut-on soumettre? Ça

    dépend du “scope”! • Web • API • Mobile (iOS & Android) • IoT • Autos • Browsers • Revue de code • Pentest (Nouveau) / Research Grant • Autres
  6. GET /what_is_bug_bounty?page=5 HTTP/1.1 Il y a des règlements à suivre!!!

    • Lisez attentivement la politique du programme • Il y a des trucs qu’on ne peut pas faire • Il y a des trucs qu’on doit faire • On peut se mettre dans le trouble (c’est assez rare que ça arrive, mais...)
  7. GET /what_is_bug_bounty?page=6 HTTP/1.1 Comment recevoir une invitation à un BBP

    privé? • Soumettre des bugs valides sur des BBPs publiques pour obtenir des points (et bounties) • Peut-être commencer avec des VDPs? • Moins de compétition • Se familiariser avec les outils • Bâtir sa propre méthodologie • Plus de chances de trouver des bugs à impact élever et critique (P1-P2)
  8. GET /what_is_bug_bounty?page=7 HTTP/1.1 Comment fonctionne le système de points? Se

    base sur le VRT https://bugcrowd.com/vulnerability-rating-taxonomy *Le programme a le dernier mot • Critical (P1): 40 Points • Duplicate: 10 Points • High (P2): 20 Points • Duplicate: 5 Points • Medium (P3): 10 Points • Duplicate: 0 Point* • Low (P4): 5 Points • Duplicate: 0 Point* • Informational (P5): 0 Points Le hacker qui envoye son rapport en premier obtient tous les points et le bounty.
  9. GET /what_is_bug_bounty?page=9 HTTP/1.1 Réputation • Vulnérabilité valide (Triaged ou Resolved):

    7 Points • Duplicate: 2 Points • Informative: 0 Point • Risque accepté • N’a pas d’impact de sécurité • Pas Applicable (NA): -5 Points • Rapport Nessus • Vulnérabilité OOS (Out-of-scope) • Spam: -10 Points •
  10. GET /what_is_bug_bounty?page=10 HTTP/1.1 Réputation – Pour le bounty • Critical

    : 50 Points • High : 25 Points • Medium : 15 Point • Low: 10 Points • Autre: 0 Points** Le hacker qui envoye son rapport en premier obtient le bounty *Certains BBPs donnent des bonus en plus du bounty; aucun points n’est offert pour un bonus **Certains BBPs acceptent des rapports OOS avec un impact mais n’offriront pas de bounty
  11. GET /what_is_bug_bounty?page=11 HTTP/1.1 Impact • Moyenne de la réputation par

    bounty (0 à 50) Signal • Moyenne de la réputation par rapport (-10 à 7) https://hackerone.com/leaderboard/all-time
  12. GET /how_to_get_started HTTP/1.1 • Prérequis: Aucun • N’importe qui peut

    se créer un compte et commencer à faire du bug bounty • • Web Application Hacker’s Handbook • Real World Bug Hunting * • • STÖK • Codingo • Hakluke • Farah Hawa • Insiderphd • Nahamsec • Jhaddix • The Cyber Mentor
  13. GET /how_to_get_started?page=2 HTTP/1.1 • Pratique • Web Security Academy •

    Pentesterlab • Hack The Box • TryHackMe • CTFs • Online Resources • Bugcrowd University • Hacker101
  14. GET /how_to_get_started?page=3 HTTP/1.1 • Suggestions • Savoir coder • Rester

    “Up to date” avec ce qui se passe dans la sécurité • Suivre les bonnes personnes sur • Automatiser le plus possible • Penser “Out of the box”, se poser des questions • Prendre son temps, il y aura toujours des bugs • Apprendre le plus possible – Ne pas le faire pour l’argent au début • Avoir du plaisir!
  15. GET /how_to_become_successful HTTP/1.1 Background 1) Travaillé en tant qu’administrateur de

    systèmes pendant 5 ans - Spécialisé en réseau (Cisco) et virtualisation (VMware) - Obtenu une dizaine de certifications dans le domaine 2) C’était devenu un peu plate... Mais la sécurité ça l’air intéressant 3) Obtenu quelques certifications en sécurité (Security+, CCNA: Security, CEH, SSCP, OSCP) 4) Commencé le bug bounty en janvier 2017 5) Obtenu ma première job en securité (Analyste sécurité Jr) en février 2017 6) Obtenu mon premier bounty en février 2017 (1 000$ de Microsoft) ...
  16. GET /how_to_become_successful?page=2 HTTP/1.1 ... ... ... ... ... ... Pas

    reçu un seul bounty pendant les 6 prochains mois...
  17. GET /how_to_become_successful?page=3 HTTP/1.1 J’ai fait quoi pendant ces 6 mois

    là? • Lu le plus de “write ups” possible • Lu les livres (2 fois ou plus) mentionné plus tôt • Participer à quelques CTFs • Lu HackerOne Hacktivity • Passé beaucoup de temps sur #bugbountytips • Travaillé fort et appris le plus possible
  18. GET /how_to_become_successful?page=4 HTTP/1.1 • Comment avoir du succès? 1. Il

    faut être rapide (Automatisation) 2. Unique (think out of the box) 3. Expérience 4. Chance • Automatiser le plus possible • Regarder pour les “low-hanging fruits” • Être proactif, trouver des bugs pendant que tu dors et manges - comme le fait todayisnew
  19. GET /how_to_become_successful?page=5 HTTP/1.1 • Penser “outside of the box” •

    Qu’est-ce que les autres hackers n’ont pas pensé regardé? • Quelle erreur le développeur aurait-il pu faire? • C’est quoi le “intended behavior”? Comment je pourrais faire pour y faire faire autre chose? • Expérience • Ça vient avec le temps et la pratique • Commence à remarquer certains “patterns” • Commence à apprendre certains frameworks et leurs vulnérabilités communes, mauvaises configurations, etc • Chance • Des fois, il nous faut que de la chance
  20. GET /how_to_become_successful?page=5 HTTP/1.1 Le bug bounty n’est pas pour tout

    le monde • Qualité requises • Persévérant • Curieux • Être capable de gérer son stress • Avoir confiance en soi • Attention! • Burn out • Dépression
  21. GET /methodology HTTP/1.1 À la recherche d’un nouveau programme... •

    Je ne regarde pas nécessairement ce type de scope *.domain.com • les scopes plus petits (ex. 5 applications web et un API) • les applications web avec beaucoup de fonctionnalités et avec du RBAC • un programme qui paye bien et “triage” et “resolve” rapidement
  22. GET /methodology?page=2 HTTP/1.1 1. L’application a été fait pour quoi?

    2. “Focus areas” & bonus 3. État d’esprit de CTF 1. Créer son propre flag 2. Faire ce qu’il faut pour trouver le flag 4. Hack!!!
  23. GET /methodology?page=2 HTTP/1.1 1. Reconnaissance 1. Identifier les technologies et

    librairies utilisées • Regarder les entêtes HTTP • Utiliser des outils tels que Wappalyzer et/ou BuiltWith • Regarder les offres d’emplois • Regarder les profils LinkedIn des programmeurs et trouver leur GitHub 2. Identifier le plus d’endpoints possibles • GitHub • Google Dork • WayBackMachine • Brute force (Attaque dictionnaire avec wordlists) 3. Prendre des notes • Rôles des utilisateurs • Intégrations à des tiers partis L’objectif de la phase de reconnaissance est d’augmenter la surface d’attaque, mettre les morceaux en place pour mieux comprendre l’application.
  24. GET /methodology?page=3 HTTP/1.1 2. Apprendre à utiliser l’application web •

    Utiliser l’application comme si j’étais un vrai utilisateur • Identifier le “intended behavior” • Identifier comment les fonctionnalités interagissent avec elles-mêmes • Identifier des fonctionnalités disponibles qu’à certains types d’utilisateurs; fonctionnalités cachés, paywall, etc • Identifier des plans d’attaques 3. Start Hacking!!!
  25. GET /methodology?page=4 HTTP/1.1 • Créer sa propre méthodologie • Faire

    ce qui fonctionne bien pour soi • Faire ce qu’on aime faire
  26. GET /evolution HTTP/1.1 Le bug bounty évolue très rapidement •

    De plus en plus de compagnies commencent un programme sur ou • La moyenne de bounty par bug ne cesse d’augmenter • Le nombre de “hackers” ne cesse d’augmenter • Devient une compétition réelle aux tests d’intrusion (penetration test)
  27. GET /evolution HTTP/1.1 Bug Bounty vs Pentest Hackers qualifiés Sécurité

    continue Durée Coût Pentest Oui * Non Ponctuel * Bug Bounty Oui et non Oui En continu * * En pentest, tu es limité sur les skills des pentesters ** Dans un pentest, tu payes un montant fixe même si le rapport est vide *** En bug bounty, tu payes que pour des résultats
  28. GET /evolution HTTP/1.1 Service de pentest de ou • et

    ont nos données • Ils connaissanent nos forces et “skills” • Avec les rapports publiques, ils peuvent montrer des examples de nos rapports aux clients • Le client indique le besoin de leur pentest • et leur offre les meilleurs ”hackers” pour leur besoin Ne paye pas pour la compagnie (Ex. Mandiant, Deloitte, KPMG, etc), mais paye pour les hackers (presque une garantie de résultats)
  29. GET /evolution HTTP/1.1 Live Hacking Event • ou invite leurs

    tops 20-30 hackers à participer à l’événement privé • Las Vegas, San Francisco, Los Angeles, Miami, Montréal, Vancouver, Buenos Aires, Londres, Amsterdam, Singapour, Australie • Scope est normalement nouveau (ou pas) • Bonus et prix • Collaboration avec d’autres hackers L’objectif de la grande majorité des gens qui font du bug bounty