Aller au contenu
  1. Posts/

Retour d'expérience et conseils : Hack The Box Certified Penetration Tester

·2483 mots·12 mins
Lacroix Raphaël (Chepycou)
Auteur
Lacroix Raphaël (Chepycou)
Bonjour, bienvenue sur mon blog. Je suis Raphaël LACROIX, je développe diverses applications pendant mon temps libre, allant du très inutile au parfois utile. Je fais aussi beaucoup de Capture The Flag et de défis de cybersécurité.

CPTS ? Mais qu’est-ce donc que cet acronyme barbare ?
#

Le CPTS est une certification délivrée par Hack The Box. Elle est assez similaire à l’OSCP en termes de difficulté, bien que l’examen soit assez différent (10 jours tout compris au lieu de 24 heures pour l’examen de l’OSCP, il faut d’abord suivre tous les modules de cours, il n’y a pas de restrictions d’outils …). HTB le décrit comme suit :

The HTB Certified Penetration Testing Specialist (aka HTB CPTS) is a highly hands-on certification that assesses the candidates’ penetration testing skills. HTB Certified Penetration Testing Specialist certification holders will possess technical competency in the ethical hacking and penetration testing domains at an intermediate level.

Mon feedback général sur le cours + les examens
#

De très bons cours
#

Comme indiqué précédemment, il est nécessaire de suivre le parcours de formation associé avant de pouvoir commencer l’examen. Ce cours, s’il est suivi sérieusement (en prenant des notes, en le lisant entièrement, etc.) devrait, d’après mon expérience, prendre environ 3 à 6 mois, en fonction de votre niveau au départ. Il y a également des modules optionnels pour acquérir les bases (bases du réseau, Linux, Web, AD etc.) qui peuvent être passés.

Voici quelques statistiques qui vous sont données lorsque vous avez terminé le cours :

  • Environ 250 machines piratées
  • Plus de 400 sections de modules complétées
  • Plus de 500 questions résolues
  • Plus de 750 000 mots lus (À peu près 1.5 fois la lecture intégrale de la trilogie du seigneur des anneaux selon mes calculs)

Ayant un peu d’expérience dans le domaine de la cybersécurité offensive (par des cours académiques et ma formation personnelle sur des plateformes telles que rootme) J’ai trouvé que les cours contenaient encore beaucoup d’informations intéressantes que je ne connaissais pas ou présentées d’une manière qui m’apportait quelque chose de neuf. Les cours étaient vraiment de grande qualité et avec l’abonnement silver, sont fournies des corrections qui sont un énorme gain de temps et qui servent également d’explication pour les choses potentiellement manquées en lisant le cours.

Un examen techniquement difficile
#

Je dirais que cet examen est assez parfait dans le sens où il teste vraiment tout ce qui a été évoqué en cours, sans faire du “bachottable” dans le sens où il évalue la compréhension, la méthodologie et la réflexion. Ce n’est certainement pas le type d’examen que vous réussirez en copiant ce que vous avez fait dans les exercices.

À l’heure actuelle, il semble qu’il y ait un peu plus d’un millier de personnes qui ont passé cette certification, donc elle aura probablement moins de valeur en terme de reconnaissance RH et recruteurs. Toutefois, en termes de reconnaissance technique, elle semble être l’une des meilleures pour les professionnels de compétence intermédiaire. Il y a un article intéressant de 0xP à ce sujet.

Conseils
#

Pour ce qu’ils valent 😅

Lors de la préparation
#

Le Crash test
#

Je vous recommande de faire AEN à l’aveugle. “Ok très bien ça veut dire quoi ?” me direz-vous si vous n’avez pas regardé les cours.

AEN (Attacking enterprise Network) est le dernier module du parcours. Il s’agit d’une attaque guidée, étape par étape, d’un réseau d’entreprise suffisamment proche de l’examen pour vous donner une bonne idée de si vous êtes prêt ou non. Le faire à l’aveugle signifie que vous ne lisez que la première page, que vous démarrez la machine et que vous l’attaquez sans suivre le tutoriel étape par étape. Il vous suffit de savoir que vous devez obtenir le statut d’administrateur de domaine sur l’AD + le statut de root sur une autre machine accessible à partir de là.

Ensuite, quand vous aurez fini (ou que vous serez bloqué, auquel cas je vous recommande d’aller aussi loin que nécessaire pour surmonter votre point de blocage puis de continuer d’avancer sans regarder), faites-le avec le pas-à-pas et prenez note sur une instance de sysreptor.

Dans le vrai examen, vous aurez 14 flagx (dont 12 que vous devez trouver pour passer la partie technique de l’examen), répartis sur un peu plus de machines, mais si vous voulez vous préparer à l’échelle, vous pouvez jeter un coup d’oeil au Pro Lab Zephyr (qui est sensiblement plus grand que l’examen).

Préparez vos notes
#

Je vous recommande de prendre des notes de tous les cours que vous suivez sur le path + tous les exercices/CTF/machines/… qui peuvent être pertinents.

J’ai pris mes notes avec Logseq et obsidian et je recommande d’utiliser l’un des deux, ou quelque chose qui a des fonctionnalités équivalentes (et qui n’est PAS stocké en ligne pour des raisons évidentes de confidentialité).

Deux habitudes que j’ai prises et qui m’ont vraiment aidé sont de prendre des notes de haut niveau sur une technologie/un service (ex : WordPress, Splunk, Joomla, osTicket, SSH, FTP), et d’avoir sur une autre page (liée à l’aide de liens Markdown) un point de méthodologie sur “Comment attaquer XYZ”, que vous devriez être en mesure de suivre aveuglément.

Le but n’est pas de suivre aveuglément, mais d’être méthodique et efficace, et de commencer par le plus évident/facile d’exploitation.

The graph view of my notes
Le graphe de mes notes

Une autre chose que je recommanderais serait de lier vos sujets ensemble comme vous pouvez le voir dans l’image ci-dessus. Par exemple, lier la page expliquant le dumping du NTDS à la page de votre outil (NetExec par exemple) et à la page du craquage de mot de passe (elle-même liée à la page de Hashcat). Cela peut vous faire gagner beaucoup de temps, car vous n’aurez pas perdre du temps à trouver “cette autre page dont j’ai oublié le nom”.

Préparer les rapports
#

Une autre chose que je recommande est d’utiliser sysreptor. sysreptor est un outil de reporting pour lequel Hack The Box a construit un modèle officiel. Pratique pour gagner du temps 😁.

texte alt

Vous pouvez déjà créer des fiches modèles pour toutes les vulnérabilités que vous pensez susceptibles d’être découvertes. Et si vous avez le temps de le faire, je vous recommande d’écrire autant de modèles que possible pour les vulnérabilités que vous avez vues dans le cours du CPTS. Croyez-moi, cela vous fera gagner beaucoup de temps, et vous n’aurez pas à écrire plus de 20 vulnérabilités à 3 heures du matin la dernière nuit avant la date limite de soumission. (Si ça semble personnel, c’est parce que ça l’est 🤦)

alt text

Je recommande vraiment d’installer sysreptor localement (parce que de cette façon vous avez les fonctionnalités illimitées) et d’apprendre à l’utiliser. Vous pouvez suivre leur tutoriel ici. Avec les versions locales, vous pouvez déjà écrire des notes de vulnérabilité pré-faites.

Je vous recommande de jeter un coup d’œil à cette méthodologie de rapport et de construire votre propre méthodologie basée sur celle-ci à l’avance (chaque moment passé avant l’examen est du temps que vous pourrez utiliser pendant l’examen).

Lors de l’examen
#

Gardez une trace de tout ce que vous faites
#

Comme vous pouvez le voir sur AEN, la surface d’attaque est assez grande, ce qui signifie que si vous vous fiez uniquement à ce que vous vous rappelez avoir fait, vous finirez par faire la même chose encore et encore ou bien, pire encore, par ne pas tester quelque chose parce que vous pensez l’avoir fait.

À ce niveau là je recommande de prendre note de tout. Prenez surtout des notes lorsque vous avez essayé quelque chose qui n’a pas fonctionné. Il serait dommage de le refaire dans 5 heures ou le lendemain parce que vous avez oublié que vous l’avez déjà essayé.

Une autre bonne habitude à prendre : Remplissez votre dossier loot avec même les plus petites choses, vous vous remercierez 10 heures plus tard parce que vous n’aurez pas à passer 15 minutes à refaire un exploit juste pour obtenir une info / un fichier / un secret que vous avez négligé.

Méthodologie du rapport
#

Si vous êtes prêt d’un point de vue technique, c’est la chose la plus importante à laquelle vous devez consacrer du temps. HTB vous note sur le rapport, et un mauvais rapport ne pardonne pas, quelles que soient vos réalisations techniques. Après tout, c’est le produit du client.

J’ai fini par adopter une méthodologie un peu différente de celle mentionnée ci-dessus et je me suis moins appuyé sur l’IA, sauf pour rédiger mes pages sur la vulnérabilité. J’ai regardé les benchmarks de l’époque qui plaçaient Gemini de Google en premier et Grok de Twitter en second (parmi les options gratuites) et après leur avoir demandé à tous les deux de rédiger un modèle de vulnérabilité complet, j’ai opté pour Grok qui avait la meilleure formulation et le meilleur style - du moins pour l’usage limité que j’en ai fait.

Méthodologie du pentest
#

Je vous recommande fortement de garder une liste markdown “todo” avec des cases à cocher ( - [ ] en markdown, logseq et obisdian le supportent) à chaque fois que vous avez une idée de quelque chose que vous pourriez faire. De cette façon, quand vous découvrez quelque chose de nouveau (un nouveau vhost, une nouvelle machine, un nouveau compte utilisateur, le résultat d’un scan) et que vous avez 5 idées de choses que vous pourrez tester, vous finirez par tester les 5 et non les 1 ou 2 premières.

Je recommanderai également de faire un graphique du réseau avec tous les ports ouverts et la position des machines (et de vos pivots). Pour la partie pivots, j’ai utilisé ligolo-ng que je recommande vivement, mais utilisez ce qui vous convient le mieux. Assurez-vous simplement de savoir comment utiliser les outils qui ne jouent pas très bien avec, comme bloodhound :

Comment utiliser DNSChef pour résoudre les problèmes de connectivité de Bloodhound liés aux timeouts LDAP
·398 mots·2 mins
Voici un tutoriel succinct sur la manière d’utiliser DNSChef pour résoudre les problèmes de connectivité Bloodhound liés aux timeouts LDAP, notamment via des proxies

Comment s’en sortir quand on coince ?
#

En cas de problème, rappelez-vous que tout ce dont vous aurez besoin pour réussir l’examen est mentionné dans le matériel appris en cours. C’est ce qui rend les choses encore plus frustrantes lorsque vous réussissez et que vous n’êtes même pas heureux de réaliser à quel point vous avez été stupide 😅.

Utilisez donc la fonctionnalité de recherche de Hack The Box et assurez-vous également d’avoir des notes de bonne qualité sur lesquelles vous pouvez compter et que vous pouvez consulter. En cas de gros blocage, recherchez des modules sur le site qui pourraient être liés à ce que vous faites et parcourez-les. Vous pouvez également utiliser des sites tels que https://ippsec.rocks et https://ctfsearch.com. Le premier, en particulier, m’a donné des idées pendant l’examen, ce qui m’a parfois permis de franchir une étape sur laquelle j’étais bloqué.

Si lorsque vous êtes bloqué sur un flag vous pensez à chercher flag X dans le chat discord, laissez-moi vous faire gagner du temps en résumant tout ce que vous trouverez :

1er gars (faisant le CPTS) : Je suis bloqué sur le flag X, C'est trop dur j'y arriverai pas.
2e gars (répondant) : Retourne aux cours, c'est là-dedans. Une fois que tu l'auras vu, tu verras que c'est facile. Réflćhis plus simplement et passe en revue tout ce que vous avez et pouvez faire.
[optionnel, 5 h après] : 1er gars : Oh mince je suis trop bête, c'était juste devant moi pendant tout ce temps. Haha. LOL.

Parfois, il y aura des rabbit holes, et il est difficile de donner des conseils appropriés à ce sujet, mais il faut s’en tenir au principe ds low-hanging fruits. Par exemple, vérifiez si vous êtes un sudoer ou si vous pouvez exécuter une commande avec sudo -l avant de vous lancer dans la recherche d’un 0-day dans le noyau Linux.

En résumé : soyez prêt à creuser en profondeur, mais gardez un œil sur les choses simples d’abord.

Gérer le stress
#

Je recommande de faire des pauses régulièrement. Chaque fois que vous ne savez pas quoi faire, que vous tournez en rond ou que vous êtes en train de faire un scan long, profitez-en pour vous reposer un peu et changer d’air.

Essayer de faire quelque chose sans écrans aide beaucoup, même si ce n’est que pour 5 à 10 minutes (comme marcher 5 minutes, sortir, lire un chapitre de livre, appeler quelqu’un ou discuter avec lui ou peut-être même faire une courte sieste si cela vous convient).

Gardez à l’esprit que l’examen est tout sauf un long fleuve tranquille, et préparez-vous donc à obtenir trois flags en quelques heures, puis à être bloqué sur un autre pendant un jour et demi. En plus de cela la perception de chaque examen est différente, donc essayez de ne pas vous concentrer sur ce que les autres vous disent à propos du « flag X » (mes flags les plus difficiles étaient 9, 2, 1 et 12 dans cet ordre, mais ce sera probablement quelque chose de différent pour vous).

Une autre chose qui a très bien fonctionné pour moi était la fameuse technique du « canard en plastique » (il ne s’agit pas forcément d’un canard en plastique, ce peut être une autre figurine, votre chien, votre écran de droite ou, si vous êtes à côté d’autres personnes et ne voulez pas parler voix haute, de quelqu’un que vous imaginez, bien que parler à voix haute semble mieux fonctionner pour moi). Je décrivais très précisément le problème que je rencontrais et ce que j’avais essayé, ce qui m’a énormément aidé.

Le fait d’écrire le rapport au fur et à mesure (soit dans vos notes, soit dans votre rapport final) m’a également aidé, car vous devez décrire, et cela peut rendre les choses plus claires dans votre tête.

Et après
#

Lorsque vous soumettez votre joli petit rapport (le mien faisait environ 105 pages), HTB l’évalue et vous donne une réponse dans les 30 jours ouvrables (environ 40 jours). L’attente peut être un peu longue ; dans mon cas, j’ai reçu la réponse le 39e jour à minuit ou quelque chose de ce genre.

Notez que si vous échouez, vous repasserez le même examen et recommencerez donc là où vous vous étiez arrêté (du moins si votre prise de notes était bonne). Le bon que vous achetez vaut pour deux essais à condition que vous passiez le deuxième examen peu de temps après (vérifiez sur le site web de HTB la date et l’heure exactes, il semble qu’elles changent parfois).

Vous pourrez désormais enregistrer votre certification sur le discord Hack The Box afin d’obtenir un badge à côté de votre nom (parce que les cosmétiques, c’est cool). Et si vous le souhaitez, vous pouvez acheter un pack CPTS contenant un T-shirt, un certificat imprimé, des pins et un autocollant. 😂

Quelques ressources dont je recommande la lecture :
#