Bug bounty
Transformez une envie de chasser des failles en mission pilotée : cadrage légal, outils optimisé, scénarios d’exploitation et rapports qui déclenchent des bounty boosts.
Objectif : un premier signalement accepté en ≤ 21 jours avec un workflow recyclable programme après programme.
0x00 · Feuille de route bug bounty
Utilisez cette page comme guide opérationnel : choisissez un programme pertinent, préparez votre arsenal, cadrez vos tests et produisez des rapports exploitables. Chaque section 0x correspond à un jalon critique avant de frapper « Submit report ».
- T-14 jours · Sélectionner deux programmes publics et préparer les identities et accès.
- T-7 jours · Compléter la recon multi-surface et shortlister trois scénarios d’attaque.
- T · Exécuter le test principal, collecter les preuves et soumettre avec mitigation.
Protocole de mission
- Respectez l’ordre des jalons. Un programme mal cadré ou un rapport bancal ruinent vos chances d’invitation.
- Documentez tout. Captures, payloads, horodatages, scripts et traçabilité juridique.
- Traitez cette page comme votre carnet. Adaptez les checklists au contexte de chaque programme.
Tableau de bord chasseur
- Taux d’acceptation (rapports validés / soumis).
- Délai moyen triage → bounty pour évaluer la patience à prévoir.
- Nombre de findings par surface (web, mobile, API, cloud) pour prioriser vos formations.
Système de notes minimal
- Notion / Obsidian avec template par programme.
- Table « assets » (URL, CVE associés, owner).
- Bloc « risques business » pour articuler l’impact dès la recon.
Contact & communication
- Identifier le canal de support (Discord, Slack, email triager).
- Préparer un message type de disclosure responsable.
- Tracer les réponses pour enrichir votre base de retours.
0x01 · Choisir & cadrer son programme
Checklist de cadrage
Validez la maturité du programme, le périmètre autorisé et la politique de rémunération avant la première requête. Priorité aux programmes qui publient des rapports de triage récents et un historique de bounty clair.
À valider avant d’attaquer
- Scope précis (domaines, API, mobile), règles d’exclusion et services tiers listés.
- Politique de test sur production (rate limit, tests destructifs interdits, fuzzing).
- Niveau de récompense et SLA de triage pour prioriser votre investissement temps.
- Clauses légales : safe harbor, NDA, restrictions pays/persona.
Impact & criticité
- Un périmètre flou expose à un bannissement rapide ou à des actions légales.
- Des récompenses trop faibles tuent la motivation : privilégiez la valeur / temps.
- Un scope restreint impose de pivoter rapidement vers un autre programme.
Sources de programmes recommandées
Signaux pour passer votre tour
- Récompenses < 100 € pour des failles critiques.
- SLA « best effort » sans délai de réponse garanti.
- Aucun canal de communication avec le triage.
Dossier programme à constituer
- Copie locale des règles légales (PDF, capture).
- Tableau de suivi des accès fournis (tokens, codes, emails).
- Check-list de validation ready avant premier test.
0x02 · Préparer son arsenal
Setup minimal
Créez un environnement isolé, tracez vos identifiants et automatisez la collecte pour limiter les actions répétitives. Déployez un socle prêt-à-tirer en moins d’une heure, duplicable pour chaque mission.
~/bugbounty/
├── programs/
│ ├── target-A/
│ │ ├── recon/ (subdomains.csv, endpoints.json)
│ │ ├── burp-state/
│ │ └── reports/
│ └── target-B/
└── tooling/ (scripts, wordlists, docker-compose.yml)
Stack conseillé
- VM dédiée (Snapshot) + VPN multi-sorties pour alterner les origines.
- Navigateurs paramétrés : profil « clean », proxys Burp/ZAP, extensions de replay.
- Gestionnaire de mots de passe + coffre pour tokens/API keys fournis par le programme.
- Scripts de collecte (subdomains, endpoints mobiles, archives JS) versionnés.
Points de friction
- Ignorer les restrictions d’origine IP peut déclencher un blocage automatique.
- Tests sur compte personnel : créez des identités dédiées pour éviter la fuite de données privées.
- Absence de journalisation = rapport incomplet → récompense réduite.
Automatisations essentielles
- Docker compose « recon stack » (amass, httpx, nuclei) à lancer en un clic.
- Script d’export Burp → Markdown pour préparer le rapport.
- Alertes RSS/CVE (Feedly, security-tracker) liées aux technos du scope.
Traces & journaux
- Activez Burp Logger++ + extension Additional Macro Recorder.
- Journal local chiffré (Standard Notes, Joplin) pour noter chaque test destructif refusé.
- Captures vidéo courtes (OBS) des scénarios à impact fort.
Réduire la surface perso
- Séparer navigateurs chasse / vie perso + nettoyage automatique cookies.
- Rotation planifiée des adresses IP (VPN, VPS) selon les politiques anti-abus.
- Vault chiffré pour tous les secrets fournis par le programme.
0x03 · Reconnaissance & cartographie
Approche en trois temps
Dressez un inventaire qui couvre surface web, API, mobile et assets adjacents pour détecter les décalages entre scope théorique et réalité. L’objectif : repérer des chemins inattendus qu’aucun autre hunter n’a encore creusés.
Techniques clefs
- Discovery DNS (subfinder, amass) + prise d’empreintes technos (httpx, Wappalyzer CLI).
- Analyse des applications mobiles/API : décompilation, interception TLS, observation des endpoints non documentés.
- Collecte des secrets dans les bundles JS, fichiers `.git`, logs exposés.
- Cartes d’interconnexion (SSO, intégrations tierces, webhooks) à prioriser.
Ce que la map révèle
- Actifs hors scope → remonter au support avant de tester.
- Chemins d’accès oubliés (préprod, assets legacies) = quick wins.
- Failles de configuration (CORS, headers, ACL) visibles dès la phase recon.
Orienter la reconnaissance
- Quels flux business critiques transitent via l’application ?
- Quelles dépendances tierces pourraient être négligées (analytics, paiement, SSO) ?
- Existe-t-il des environnements staging ou legacy encore exposés ?
Checklist de collecte
- Inventaire des endpoints GraphQL/REST avec verbes autorisés.
- Mapping des rôles / permissions à partir de la documentation ou du code JS.
- Listes de paramètres dynamiques (IDs, tokens, signatures) pour préparer les attaques logiques.
Mise à jour continue
- Surveiller les commits publics (GitHub Advanced Search, Pushshift).
- Configurer une alerte
crt.shpour de nouveaux certificats liés au domaine. - Scruter les roadmaps produit pour anticiper les nouvelles surfaces.
0x04 · Tester & exploiter responsable
Boucle de tests
Planifiez vos attaques par scénario : validation technique, démonstration d’impact business et preuve reproductible. Travaillez en sprints courts (90 minutes) puis journalisez les résultats avant d’itérer.
Pattern de tests
- Automatiser les vérifications baseline (OWASP Top 10, vulnérabilités critiques historiques).
- Approche orientée graph : quelles permissions puis-je escalader ? Quels flux manipuler ?
- Construire des payloads minimaux viables avant d’aller plus loin (ne pas casser la prod).
- Tracer chaque requête (Burp Logger, scripts, journaux locaux) pour reconstruire la story.
Limites à ne pas franchir
- Pas de DoS, d’injections massives ou de brute force hors limites officielles.
- Éviter les données personnelles : privilégier des payloads neutres en prod.
- Si vous suspectez une faille critique, contactez la plateforme avant exploitation complète.
Playbooks à dérouler
- Escalade horizontale via IDOR → valider sur au moins deux comptes différents.
- Chaîne XSS → vol de jeton → prise de contrôle session support.
- Bypass logique de workflow (discount, validation KYC, paiement partiel).
Tests express (15 min)
- Contrôler la configuration CSP / headers de sécurité.
- Tester les endpoints graphiques pour GraphQL introspection.
- Verifier si les pièces jointes uploadées sont servies sans contrôle MIME.
Avant soumission
- Impact business exprimé en langage produit (perte financière, exposition données).
- Exploit reproduit 3× avec timestamps et variations.
- Mitigation temporaire proposée si la correction nécessite un changement lourd.
0x05 · Rapporter comme un pro
Structure du rapport
Décrivez l’impact métier autant que la vulnérabilité : un rapport clair, reproductible et contextualisé accélère le triage. Imaginez que le triager n’ait que 5 minutes : tout doit être compréhensible et exécutable sans effort.
Sections indispensables
- Résumé exécutif en 3 lignes : vulnérabilité, impact, action immédiate.
- Étapes reproductibles (numérotées) + preuves (captures, requêtes, réponse HTTP).
- Payloads prêts à copier et données de test générées.
- Recommandation de remédiation + références (OWASP, CVE, vendor doc).
Ce qui fait la différence
- Proposer une évaluation de sévérité alignée CVSS, mais argumentée.
- Fournir des logs ou ID de transaction pour faciliter la vérification.
- Inclure un mécanisme de mitigation temporaire si la correction prend du temps.
Référence Markdown
## Résumé
- Vulnérabilité : IDOR sur /api/orders/{id}
- Impact : Accès aux commandes d'autres clients (PII)
## Reproduction
1. Authentifiez-vous avec le compte test fourni.
2. Interceptez la requête GET /api/orders/12345.
3. Remplacez l'ID par celui d'un autre utilisateur (12400).
## POC / Payload
curl -H "Authorization: Bearer <token>" https://target/api/orders/12400
## Impact
- Exposition données personnelles (nom, adresse, montant).
- Possibilité de fraude (modification statut).
## Recommandation
- Vérifier l'appartenance de la ressource côté API.
- Ajouter des tests d'intégration couvrant les accès cross-compte.
Preuves à joindre
- Capture avant/après montrant l’impact business.
- Request/response raw (format texte pour diff facile).
- Hash SHA-256 de tout fichier partagé pour intégrité.
Checklist pré-soumission
- Langage clair, phrases courtes, pas d’argot.
- Score CVSS expliqué (vecteur + justification).
- Plan d’action (patch, monitoring, communication interne).
0x06 · Capitaliser & monter en puissance
Boucle d’amélioration
Transformez chaque mission en apprentissage continu pour améliorer votre taux de réussite et décrocher des programmes privés. Capitaliser, c’est aussi construire votre réputation auprès des plateformes et clients.
Actions post-mission
- Tenir un changelog perso (temps investi, scope, failles trouvées, retour triage).
- Automatiser ce qui a été répétitif (templates Burp, scripts recon, détection diff).
- Partager vos retours avec la communauté (write-up anonymisé, talks).
- Planifier une montée en gamme (mobile, cloud, hardware) selon les opportunités.
Pourquoi c’est critique
- Les plateformes privilégient les hunters réguliers avec un taux de signalements valides élevé.
- Suivre vos métriques permet de décider quand quitter un programme peu rentable.
- La veille permanente (CVE, nouvelles techniques) vous tient devant la courbe.
Mesurer la progression
- Nombre de programmes privés débloqués / trimestre.
- Gain moyen par heure de chasse (bounty / temps investi).
- Pourcentage de failles logiques vs techniques (objectif ≥ 40 % logiques).
Plan trimestriel
- 1 nouveau domaine technique (cloud, mobile, hardware) par trimestre.
- Participation à un CTF ou lab orienté vulnérabilités business.
- Lecture / write-up : synthétiser en 5 bullet points pour votre base interne.
Construire sa signature
- Publier (quand autorisé) des write-ups anonymisés.
- Tenir un portfolio (site ou GitHub) listant vos expertises et statistiques globales.
- Intervenir sur des salons / podcasts pour élargir le réseau client.
Annexes & documentation terrain
Gardez ces ressources ouvertes pendant vos sprints. Elles accélèrent votre prise de décision, l’exécution des tests et la rédaction des rapports.
🛡️ Programmes & safe harbor
Filtres par récompense, scope, pays autorisés et clauses légales.
Open Bug Bounty🧪 Guides méthodologiques
Approches détaillées pour tester API, mobile, cloud et ciblage business logique.
OWASP WSTG🧰 Automatisation recon
Scripts et pipelines pour industrialiser la collecte et l’analyse des assets.
Awesome Burp Extensions📝 Report templates
Modèles prêts à l’emploi (Markdown, HackerOne, Bugcrowd) avec scoring CVSS.
Bug bounty CheatsheetComplétez cette boîte à outils avec vos scripts, dashboards et guides internes. Plus votre bibliothèque est riche, plus vos cycles de chasse seront courts.