Hello,

J’ai récemment passé et réussi l’examen Burp Suite Certified Practitioner et plusieurs personnes m’ont demandé comment la certification se déroule, si l’examen est intéressant, des conseils pour bien le préparer.

Je vais essayer dans ce retour d’expérience de répondre à un maximum de questions et j’espère motiver un maximum de personnes à essayer de passer la certification !

L’examen

Parlons un peu de l’examen en lui-même. Il y a donc deux applications web, composées chacune de 3 vulnérabilités.

  1. Accéder à un compte utilisateur
  2. Élever ses privilèges à administrateur
  3. Lire le contenu d’un fichier sur le serveur

Il est normalement impossible de pouvoir accéder à une étape sans avoir réussi la précédente. Le but est de réussir toutes les étapes en 4 heures, vous n’aurez pas la certification s’il vous manque une seule de ces étapes.

Il est obligatoire d’avoir une licence Burp Suite Professional valide lors du passage de l’évaluation, sans quoi vous vous verrez refuser de l’examen. Vous n’avez pas de licence et vous trouvez ça cher juste pour obtenir votre certification ? Vous avez entièrement raison et c’est pourquoi il est même possible de passer le test avec la version d’essai de BurpSuite Professional. Rentrez simplement votre mail et recevez la version d’essai, donc plus d’excuses !

Un point que j’ai trouvé vraiment dommage est que Examity, la plateforme de surveillance utilisée par PortSwigger, oblige l’utilisation de Windows et de Google Chrome, étant sous Ubuntu avec Firefox ça m’arrangeait bien ! J’ai fait une VM Windows pour l’occasion, c’est dommage de ne pas au moins supporter Firefox ^^

Lors de l’examen, vous serez face à un grand nombre de fausses pistes, lors de mon premier essai cela m’a fait perdre énormément de temps. Il va falloir alors que vous appreniez à identifier rapidement une vulnérabilité exploitable d’une fausse piste. Par exemple, cela peut arriver que vous puissiez avoir une vulnérabilité XSS sans pour autant qu’elle ne soit délivrée à la victime, ce qui peut être assez frustrant par moment 😄

Ne perdez pas trop de temps si vous bloquez sur une vulnérabilité qui vous semble exploitable, cherchez-en plutôt une autre !

Prérequis

Je recommande évidemment à chaque personne qui souhaiterait passer cette certification de compléter tous les labs Apprentice et les Practitioner, même si vous savez déjà exploiter ces vulnérabilités, il est important de comprendre la méthodologie utilisée que nous pourrons retrouver lors de l’examen.

Récemment, PortSwigger a introduit un nouveau type de suivi dans notre dashboard utilisateur appelé “Exam preparation steps” afin de s’aider à se préparer à l’examen, que j’ai trouvé très bien fait et dont je conseille l’usage afin d’optimiser sa réussite.

Nous avons donc un lab de chaque catégorie différente (XSS, SQLi, File Upload…), 8 labs dits “spécifiques” à l’examen qui sont assez similaires à ceux présents le jour de l’évaluation. Ensuite, nous devons faire 5 mystery labs, c’est simplement un lab au hasard parmis les ~200 proposés, sans que vous sachiez lequel a été sélectionné. Je vous conseillerais d’en faire beaucoup plus malgré tout, 5 c’est trop peu. Puis, nous avons 1 practice exam, qui est juste un examen à blanc. Je conseillerais de faire l’examen blanc au moins une fois, même si vous n’arrivez pas forcément jusqu’au bout, mais afin d’avoir la méthodologie à adopter.

Mes tentatives

Tout d’abord, j’ai personnellement réussi à l’examen après 3 tentatives. Dans un premier temps, j’ai pris part à l’examen lorsque la certification venait de sortir. À ce moment là, la durée totale pour la complétion des labs était de 3 heures uniquement pour 2 labs (6 challenges), elle a depuis été allégée à une durée de 4 heures ce qui n’est pas pour nous déplaire et rend les choses plus abordables.

Lors de ma première tentative, j’ai réussi 3/3 challenges de la première application et 0/3 pour la deuxième, je n’ai pas réussi à passer la première étape.

Pour ce qui est de la seconde tentative PortSwigger a rajouté une heure de plus, malgré tout le résultat est resté le même, la première application pwn complètement assez facilement et la deuxième impossible de passer la première step…

Pour être honnête après ça j’étais un peu dégouté et je n’ai pas voulu reprendre la certification de suite… J’ai bien attendu quelques longs mois avant de m’y remettre, mais au bout d’un moment, j’ai me suis motivé à faire les derniers labs qu’il me restait, de plus il y a eu le #BurpChallenge qui m’a permis de gagner un voucher pour passer la certification. Une fois le voucher obtenu, j’ai repassé l’examen et cette fois, je l’ai réussi plutôt facilement, j’ai juste vraiment bloqué sur une étape, mais sinon ça allait.

Après environ 3 jours d’attente, j’ai enfin reçu ma validation et mon certificat d’obtention !

Un petit outil, WSAAR

J’ai commencé à créer un outil pour un usage personnel, au début de la certification quand il n’y avait encore que 3 heures pour 6 challenges, parce que j’étais très juste dans le temps et j’avais besoin d’un outil qui me ferait faire la reconnaissance des labs pour aller plus vite. En aucun cas mon but était de faire un outil qui allait me faire faire les labs automatiquement, c’est pourquoi il n’y a pas de payload dans ce script, c’est seulement pour gagner du temps sur la reconnaissance liée aux labs.

Je sais, le code de ce script n’est pas parfait, comme je l’ai dit précédemment j’avais fait ce script rapidement à titre personnel, je publie ce code en espérant donner un point de départ à quelqu’un pour faire peut-être quelque chose de plus propre ou pour avoir un petit outil pour aider à la reconnaissance. Si vous voulez l’améliorer, n’hésitez pas à contribuer.

Quelques conseils

  • N’hésitez pas à apprendre à utiliser le scanner de BurpSuite, les applications sont quasiment toutes faites pour ça.
  • Vous pouvez utiliser des outils autres que BurpSuite, ne vous en privez pas !
  • N’oubliez pas d’ajouter des extensions qui vous aideront sur votre BurpSuite comme :
  • Il est important de savoir rapidement différencier une fausse piste d’une vraie vulnérabilité, il ne faut pas perdre de temps pendant cet examen.
  • Prenez votre temps avant de lancer l’examen, faites tous les labs Apprentice et Practitioner, comprenez la méthodologie des labs.
  • Faites beaucoup de mystery labs, l’examen joue sur l’aléatoire, soyez préparé à cela.
  • Faites au moins une fois le practice exam, pour voir à quoi vous devez vous attendre.
  • Prenez des notes avant l’examen sur les vulnérabilités abordées (comment les détecter, les exploiter) et pendant l’examen (ne faites pas non plus un rapport, vous n’avez pas le temps).
  • Préparez votre environnement AVANT de commencer l’examen (notes, wordlists, outils…).
  • Vous avez une méthodologie à suivre, n’essayez pas de trouver une SSRF ou une Injection de commande alors que vous n’avez même pas l’utilisateur.

Conclusion

Je ne peux que recommander cette certification, de par son prix très accessible, ses ressources totalement gratuites ou même toute la technicité et la diversité web qu’elle couvre.

L’examen en lui-même n’est pas si difficile, du moment que vous avez réussi les labs de recommandés (c’est gratuit, vous pouvez en faire autant que vous voulez).

J’aurais peut-être aimé voir une petite partie rapport (avec du temps additionnel), dans le but d’habituer les participants à la prise de notes lors de tests d’intrusion ou autre. J’ai aussi apprécié le fait de pouvoir démarrer l’examen absolument quand vous voulez, à n’importe quelle heure, c’est très pratique de ne pas avoir de contrainte horaire !

J’espère au moins vous avoir éclairci sur le sujet et peut-être vous avoir motivé à passer la certification ! Si toutefois vous avez une question, n’hésitez pas à m’envoyer un DM sur Twitter ou Discord (Nishacid#1337) ce sera un plaisir d’en parler avec vous !

PS : gros merci à Mika pour la relecture (et toutes les typos ^^) allez voir son blog aussi !