PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Cybersécurité : mon retour d’expérience sur la certification CPTS proposée par Hack The Box

lundi 20 novembre 2023 à 10:00

I. Présentation

Dans cet article, je vous présente mon retour d'expérience sur le passage et l'obtention de la certification CPTS (Certified Penetration Testing Specialist) de la plateforme Hack The Box que je viens d'obtenir en cette fin 2023 ! La certification CPTS proposée par la plateforme Hack The Box est apparue en 2022 :

Pour les novices en la matière, un pentester (expert en test d'intrusion en français) est chargé de tester et évaluer la sécurité d'une entreprise ou d'un périmètre technique (application web, mobile, système d'information, etc.) en adoptant la démarche, les outils et les objectifs d'un pirate informatique. Son rôle est donc d'identifier les faiblesses et vulnérabilités d'une cible, de les exploiter comme un attaquant réel, puis d'écrire un rapport d'audit dans lequel il détaille sa démarche, ses découvertes et propose des recommandations à son client (l'entreprise auditée/attaquée) pour corriger les faiblesses identifiées.

Cette certification aborde de nombreux domaines techniques et d'après mon expérience en tant que pentester et auditeur en cybersécurité, tous sont pertinents :

Le modèle économique d'Hack The Box repose sur des cubes (= points) qu'il est possible d'acheter sur la plateforme et qui permettent eux-mêmes d'acheter des modules de cours. Le passage et la réussite d'un module fournissent des cubes supplémentaires (20% de son prix). Pour passer la CPTS, il est nécessaire de compléter les 28 modules du job role paths "Penetration Tester" (1980 cubes) :

Un job role path est donc un ensemble de modules réunis pour fournir une vue d'ensemble des thématiques du job en question.

Pour ma part, je suis passé par l'achat (via mon employeur) d'une certification Silver Annual Subscription (490$) qui permet d'avoir accès à tous les modules de Tier I et II et pas seulement aux modules nécessaires au passage de l'examen. Il existe aussi des modules de Tier III et IV qui sont techniquement plus aboutis, mais non nécessaires au passage de l'examen.

Il s'agit du modèle le plus rentable à mon sens puisqu'avec un accès à ces différents modules, il est possible de compléter en une seule année tous les paths relatifs aux trois certifications proposées par Hack The Box (Certified Penetration Tests Sepcialist, Certified Bug Bounty Hunter et Certified Defensive Security Analyst). D'ailleurs, la complétion des modules du job role path "Penetration tester" permet également de compléter 75% des modules du job role path "Bounty Hunter", qui donne accès à l'examen pour la certification du même nom.

II. Déroulement de la certification

L'obtention de la certification passe par :

Je parlerai plus en détail de l'examen dans la prochaine section, mais avant, il est nécessaire de s'attarder sur la complétion des cours. 28 modules sont proposés et abordent différents domaines techniques. Des modules "généraux" :

Des modules orientés application web :

Des modules orientés système d'exploitation :

Des modules orientés AD, services, et réseaux :

La complétion des 28 modules est de loin ce qui prend le plus de temps dans le cadre de l'obtention de la certification. Il s'agit d'une charge de travail conséquente qu'il faut réussir à placer dans son planning. Hack The Box évalue le temps nécessaire pour la complétion des modules à 43 jours de travail. Pour ma part, la complétion des modules m'a pris environ 6 mois, à hauteur de 3 à 5 heures par semaine environ (incluant quelques pauses au cours de l'année).

Le niveau technique des cours est abordable pour un débutant en cybersécurité (il faut des bases correctes en informatique générale, scripting et administration système) et permet une montée en compétence concrète sur les sujets abordés et la constitution d'une méthodologie correcte. Il s'agit de cours au format texte avec de nombreux exemples de commande, captures d'écran et labs d'entraînement. Voici par exemple la première page du module/cours sur les vulnérabilités de type file upload :

En fonction de votre expérience et de la façon dont vous abordez ces cours, cela peut prendre plus ou moins de temps. Me concernant et après plusieurs années d'expérience en cybersécurité et en pentest notamment, il est certain que la majorité des modules abordaient des sujets connus. Néanmoins, dans la plupart des cas, j'ai toujours réussi à extraire des astuces, outils ou techniques supplémentaires de ces modules. J'ai notamment profité de ces modules pour faire un point sur mes notes personnelles qui sont parfois écrites en parallèle de mes missions et qui sont donc forcément incomplètes. Certains modules m'ont permis de réécrire et réorganiser totalement mes notes sur certaines thématiques, la complétion du module prend alors plus de temps.

Il faut savoir que pour valider un module, il faut réussir à trouver les "flags" demandés dans chaque sous-chapitre, il faut pour cela démarrer le lab d’entraînement, se connecter à un VPN et effectuer différentes attaques ou énumération telles que décrites dans le cours :

Également, chaque module possède un ou plusieurs Skill assessments, une sorte d'évaluation finale orientée sur la thématique du module, à réaliser sans directives/solutions :

Si vous êtes un débutant complet dans le domaine de la cybersécurité, la complétion seule des cours n'est pour moi pas suffisante au passage de l'examen. Les modules apprennent à identifier et exploiter des vulnérabilités, des faiblesses de configuration, etc. Mais cela n'apporte pas une expérience de terrain réelle, souvent plus complexe et moins maîtrisée qu'un environnement propre et fait pour être exploité. Également, les modules n'apprennent pas à chercher par soi-même, puisque tout est guidé (à l'exception des Skill assessment, qui reprennent des éléments du cours, donc on sait à l'avance quel type de vulnérabilité chercher). À mon sens, il est nécessaire d'avoir une expérience de terrain supplémentaire (les box classiques Hack the Box peuvent être un début).

III. L'examen de la certification CPTS

Le passage de l'examen se fait sur 10 jours, une fois les prérequis atteints (100% des modules du job role path), le candidat peut démarrer l'examen quand il le souhaite sans réserver de créneau comme c'est le cas pour d'autres certifications. Lors du démarrage de l'examen, une lettre d'engagement est fournie (similaire à une lettre de cadrage/proposition commerciale réelle), fournissant des éléments de contexte, un périmètre d'audit, les conditions d'obtention de l'examen, etc.

Le format de l'examen est la réalisation d'un test d'intrusion externe (depuis Internet) sur une organisation. L'objectif est de réussir à s'introduire au sein du système d'information, puis de compromettre un nombre X de machines (flag user et root) et de domaines.

Les règles Hack The Box sont très claires à propos de l'examen, aucun détail ne doit être donné en dehors de ce qui est déjà publié par Hack The Box, je ne peux donc partager que mon ressenti concernant l'examen, mais aucun détail technique !

Après avoir passé tant d'heures sur la complétion des modules, je m'attendais à ce que l'examen soit complet, mais dans l'ensemble plutôt facile (bref, que ça roule). Je dois dire que j'ai été surpris de ce côté : j'ai passé au total 63 heures sur 7 jours pour récupérer les 12 flags nécessaires à l'obtention de la certification. À cela s'ajoutent quelques heures de reporting, également nécessaire à l'obtention de la certification. Le 8ème jour a été dédié à la finalisation du rapport, je n'avais tout simplement plus d'énergie et de motivation pour attaquer les flags 13 et 14 (optionnels) après avoir passé une telle semaine, bien que je pense avoir identifié le chemin d'exploitation.

Dans l'ensemble, mon ressenti concernant l'examen en lui-même est partagé entre des moments assez intenses ou un grand nombre d'informations sont à traiter, de nombreuses attaques à tester et parfois où l'obtention de flag s'enchaîne sur un cours laps de temps, et des moments de blocage très frustrants durant plusieurs heures (voire jours). Dans ce dernier cas, le décalage entre les missions dans la vie réelle et l'examen se fait ressentir :

A. Seul face à son clavier

Dans une mission réelle, les auditeurs sont généralement en équipe (binôme), ce qui permet d'échanger ses idées, d'avoir parfois une remise en question d'éléments qui nous semblent évidents (donc non vérifiés), et de nouvelles idées qui sortent de notre schéma de pensée habituel. Le simple fait de décrire un point de blocage à un tiers pendant la pause café nous force parfois à expliquer des détails sur lesquels nous ne nous attardions pas seul, ce qui (très souvent) apporte des solutions même sans réponse de notre interlocuteur.

Lors de l'examen, le fait de se retrouver totalement seul devant son écran et d'être venu à bout de ses idées est un moment assez désagréable qu'il faut savoir gérer pour éviter l'abandon. À mon sens, c'est ce à quoi le cours échoue à préparer le candidat, continuer à creuser malgré avoir fait le tour de sa "to do list" et de ses idées, savoir remettre en question chaque détail d'une pensée ou d'une hypothèse et tenter de sortir d'un "tunnel vision" qui arrive plus vite qu'on ne le pense.

Je note que passer par ces moments difficiles décuple la satisfaction de les surmonter seul, pour finir par l'obtention méritée de la certification.

B. Tous les chemins mènent à Rome

Dans une mission réelle et notamment lors des tests d'intrusion internes, plusieurs débuts de chemins d'attaques valides pour élever ses privilèges sur un domaine ou compromettre un SI sont généralement identifiés. Le pentester doit alors savoir identifier quel est le plus intéressant, rapide ou probable parmi le grand nombre de possibilités qui se présentent devant lui. Faites auditer une application ou un SI par 3 auditeurs, il est possible que vous ayez trois chemins d'attaques différents, exploités via des techniques et des outils eux aussi différents.

Lors de l'examen, un seul chemin de compromission est valide et exploitable. L'auditeur doit alors se mettre à penser comme celui qui a conçu l'examen et non de façon innovante.

Ce fameux "Think out of the box" est à mon sens la définition du hacking, savoir prendre un chemin de pensée auquel personne d'autre ne s'est risqué, voir les choses d'un point de vue inattendu pour trouver des chemins de compromission, des vulnérabilités. Bien que dans la réalité, il faut également savoir se baser sur des outils et méthodologies éprouvées (OWASP, MITRE, etc.), tout en sachant s'en échapper.

Le fait d'avoir à calquer sa réflexion sur celui de quelqu'un d'autre est donc un autre point problématique concernant l'examen à mon sens, puisque c'est précisément ce que je tente de fuir lors de mes missions en tant que pentester.

Une fois les 12, 13 ou 14 flags obtenus, il est nécessaire de rédiger un rapport d'audit professionnel à partir d'un modèle et de directives fournies dans l'un des modules. Là aussi, il s'agit d'un exercice exigeant aussi bien pour ceux qui n'ont pas l'habitude de rédiger des rapports d'audits que pour ceux qui, comme moi, se sont trop habitués à un format de rapport précis.

Bref, l'examen n'est pas à prendre à la légère, la complétion des (nombreux) modules du cours est certes rassurante, mais cela ne donne pas accès à la réussite évidente de l'examen.

IV. Mes conseils et astuces pour la CPTS

Je me permets ici de donner quelques conseils à ceux qui se lanceront dans cette aventure CPTS. Ils sont le fruit de mes bonnes idées et erreurs durant ce long parcours :

A. Concernant la complétion des modules

En préparation de l'examen, je vous conseille enfin de réaliser le dernier module Attacker Enterprise Networks sans aide et sans suivre le guide du module, sans Discord, forum ou collègue. Cela vous permettra également d'apprendre à gérer les vrais points de blocage tels que ceux que vous rencontrerez durant l'examen. Si vous y parvenez, vous pourrez aborder l'examen avec plus de confiance, bien que l'examen soit plus difficile et plus long que ce lab, il vous donnera une bonne idée de la démarche globale à adopter.

B. Concernant le passage de l'examen

J'ai vu des retours d'expérience sur le Discord de candidats ayant obtenu tous les flags nécessaires, mais n'ayant pas obtenu l'examen à cause d'un rapport incomplet ou pas suffisamment professionnel.

V. Conclusion

La certification CPTS d'Hack The Box est la première certification de ce type à laquelle je m'attaque, je n'ai donc pas la possibilité de la comparer avec d'autres.

J'ai trouvé le chemin qui mène à l'obtention de la certification intéressant, exigeant et un peu (trop) long. La complétion de modules sur des sujets déjà connus (mon cas de figure) est un peu barbante, mais il faut savoir aborder l'exercice avec curiosité au risque de se retrouver coincé sur des détails pendant l'examen. Je recommande le cours et le passage de la certification aux personnes qui se lancent dans la cybersécurité ou qui ont jusqu'à 3-4 ans d'expérience dans le domaine (pas forcément en pentest uniquement). Pour ces profils, la certification est certes un plus, mais l'apport principal en termes de progression viendra du suivi des cours et de la complétion des modules.

Pour des pentesters aguerris, le passage des modules/cours peut s'avérer être un point problématique, car cela demande beaucoup de temps pour un gain limité, il y a donc des risques d'abandons en cours de route. C'est pour moi un des points noirs de la certification. Le fait d'avoir à valider les skills assesments de chaque module m'apparaît comme suffisant pour prouver que l'on a les compétences requises pour l'examen, la validation de chaque sous-chapitre d'un même module via des flags à trouver devrait être optionnelle. Avec cet ajustement, la certification pourrait devenir intéressante pour des personnes plus expérimentées pour qui les cours sont d'un apport négligeable.

L'examen a été une épreuve de mon côté, je ne m'attendais pas à ce niveau de difficulté, acceptable et raisonnable lorsqu'on est arrivé au bout, mais qui mène à de bonnes remises en question au moment de la réalisation. J'en sors globalement meilleur qu'au commencement, avec des notes personnelles bien remplies, satisfait d'avoir finalisé ce long parcours, plus humble et un avec joli PDF avec mon nom dessus :).

En novembre 2023, nous ne sommes que 152 dans le monde à avoir la certification CPTS :

N'hésitez pas à poser vos questions dans les commentaires ou sur notre Discord !

Enfin si vous voulez vous lancer dans l'aventure Hack The Box Academy pour améliorer vos compétences en cybersécurité : utilisez ce lien d'inscription (je gagnerai quelques points 🙂 ) :

The post Cybersécurité : mon retour d’expérience sur la certification CPTS proposée par Hack The Box first appeared on IT-Connect.