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

Qu'est-ce que le bug bounty?

92465b02610a5983cde8f78dc7ddd1e4?s=47 JR0ch17
October 26, 2020

Qu'est-ce que le bug bounty?

92465b02610a5983cde8f78dc7ddd1e4?s=128

JR0ch17

October 26, 2020
Tweet

Transcript

  1. Getting Started in Bug Bounty What is bug bounty and

    how to get started?
  2. 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
  3. 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
  4. 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)
  5. 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
  6. GET /what_is_bug_bounty?programs=publique HTTP/1.1

  7. 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
  8. GET /what_is_bug_bounty?page=4 HTTP/1.1 Scope peut être très large comme celui

    de Tesla. Ou très petit (Ex. Un seul site web)
  9. 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...)
  10. 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)
  11. 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.
  12. GET /what_is_bug_bounty?page=8 HTTP/1.1 Comment fonctionne le système de points? •

    Réputation • Impact • Signal
  13. 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 •
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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!
  19. 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) ...
  20. GET /how_to_become_successful?page=2 HTTP/1.1 ... ... ... ... ... ... Pas

    reçu un seul bounty pendant les 6 prochains mois...
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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!!!
  27. 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.
  28. 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!!!
  29. 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
  30. 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)
  31. 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
  32. 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)
  33. 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
  34. Questions / Discussion