Il y a quelques semaines, j’ai eu l’occasion de tester le processus de certification en sécurité offensive OSCP (Offensive Security Certified Professional).
Cette certification a le mérite d’être l’une des plus reconnues dans le milieu de la cybersécurité et plus particulièrement des tests d’intrusion.
Elle se déroule en deux phases :
- La partie cours et entraînement : PWK (Penetration Testing with Kali linux) qui se passe sur 1 à 3 mois, selon la formule choisie,
- La phase d’examen sur 48 h : 24 h d’examen sur machine, suivi de 24 h pour rédiger le rapport de pentests.
Déroulé de la certification OSCP
PWK – course
Tout d’abord parlons de la partie entraînement/cours :
- Une fois le programme démarré, Offensive Security fourni un PDF de plus de 350 pages contenant bon nombre d’explications théoriques sur des techniques standards de sécurité offensives.
- Le sylabus
- Le programme est accompagné de nombreuses vidéos reprenant point par point les différents chapitres abordés dans le PDF et fait ainsi la démonstration des techniques décrites.
- Le panel du cours est plutôt large et va parler aux débutants, tout en faisant un rappel des techniques aux plus expérimentés.
Il est ainsi possible de passer rapidement sur certains points très connus, vus et revus en pentest et ctf (il y a pas mal de vidéos que je n’ai jamais ouvertes pour gagner du temps) tout en s’attardant sur les points un peu plus complexes comme l’exploitation de binaire Windows par exemple, qui est très bien expliquée dans le document.
- Le cours contient un très grand nombre d’exercices permettant de mettre en pratique les connaissances acquises ou revues.
- À noter que 5 points supplémentaires sont accordés à l’examen si vous fournissez un rapport de tous les exercices sélectionnés, plus un rapport de pentest sur à minima 10 machines du lab.
Personnellement je m’y suis attelé et au final je trouve que plus de 190 pages en anglais pour 5 points, au regard du temps considérable pour tout faire et rédiger, ce n’est vraiment pas cher payé…
- Une fois la partie cours faite, on peut s’atteler au cœur de la formation, ce qui fait qu’elle est si reconnue et attrayante : “le lab” !
Je n’ai pas pu résister et j’ai commencé par une bonne partie du lab avant de me pencher sur les cours car j’estimais que “je n’avais pas grand chose à apprendre dans le pdf”. Et bien j’avais tort et ce fut juste une perte de temps tout simplement car :
-
- Les cours contiennent certains exercices à faire sur le lab (de la découverte réseau ou certains exploits par exemple), du coup au moment de rédiger les exercices, je me suis retrouvé à refaire des choses que j’avais déjà faites quelques semaines auparavant.
- Les cours contiennent quelques exemples applicables directement sur le lab, ce qui par conséquent en accélère l’exploitation.
PWK – lab
Le lab ! C’est LA raison principale pour laquelle les pentesters aiment cette certification. Il s’agit d’un environnement de 50-60 machines (on va éviter de dévoiler le nombre exact car justement ça fait partie du jeu de toutes les découvrir) réparties sur 4 réseaux :
- un réseau public accessible directement
- un sous-réseau dev accessible depuis certaines machines du réseau public
- un sous-réseau it accessible depuis certaines machines du réseau public
- un sous-réseau admin inaccessible depuis le réseau public
Pour atteindre le réseau admin il faudra donc s’amuser à pivoter une première fois dans une des machines du réseau public pour atteindre les sous-réseaux dev ou it. Puis pivoter une deuxième fois dans une des machines d’un des sous-réseaux afin d’atteindre l’admin. De quoi faire réviser un peu les ports forwarding si vous étiez rouillés !
Le lab est une très bonne expérience et j’en garde un excellent souvenir. On retrouve tout type d’OS, du Windows serveur, du Solaris, de l’Ubuntu, du Windows XP, Debian, Centos, … La liste est longue ce qui rend chaque machine intéressante avec des exploits faciles, d’autres beaucoup moins mais en tout cas, on ne s’ennuie jamais et il y a souvent plusieurs moyens de compromettre les machines.
Les techniques employées sont plutôt variées. Cela va des classiques sqli, lfi, règles cron, sudo, dll hijack, … à des choses un peu plus poussées du genre exploit avec egghunter, du browser exploit… et bien d’autres.
Bien que le parc mis en place soit vieillissant, cela permet de voir ou de revoir des méthodes anciennes qui ont eu leur heure de gloire, il y a quelques années.
Offensive security fait d’ailleurs un travail formidable de patching des nouvelles vulnérabilités, tout en conservant d’autres plus anciennes de façon à éviter de tout compromettre car une nouvelle faille a vu le jour (sur Samba par exemple).
Mais un des points intéressant du lab (bien qu’inutile pour l’examen finalement) est la post exploitation des machines. Il ne faut rien oublier, en effet, et bien éplucher chacune des machines compromises car elles peuvent vous apporter des informations cruciales sur d’autres machines et personnes du réseau.
Certaines machines ne peuvent d’ailleurs être compromises que par des exploitations client en provenance d’autres du réseau.
En définitive le lab simule une entreprise dans laquelle des mails s’échangent, des gens (des bots hein) se connectent sur des serveurs, … donc la compromission ne se limite pas à passer de serveur en serveur en cherchant les vulnérabilités. Il y a un travail d’investigation et de notation de l’information qui n’est pas négligeable (je conseille cherry tree pour la prise de notes rapide d’ailleurs).
Il y a tellement d’informations à conserver qu’il faut dès le début adopter de la rigueur sous peine d’être vite dépassé sous le poids de ses propres notes.
Bref, le lab est le gros plus de cette formation et de la certification : pour s’entraîner, pratiquer et s’organiser.
Une machine virtuelle sous Windows 7 est d’ailleurs fournie de façon à ce que les étudiants puissent tester leurs exploits tranquillement en local avant de passer à l’exploitation dans le lab.
J’avais un package de 3 mois de lab. Sur ces trois mois, il m’en a fallu 2 pour venir à bout de tout le lab en travaillant à côté.
Pour la partie cours + exercices et la rédaction, il faut bien compter 1 mois de plus. Donc si l’on veut passer la certification OSCP en travaillant à côté et en gardant un minimum de vie sociale, et de sommeil, les 3 mois de lab ne sont vraiment pas du luxe, de mon point de vue.
Certification OSCP – Exam
Afin d’obtenir la certification OSCP tant désirée, il faut passer l’examen.
Celui-ci se déroule sur 48 h, divisées en 2 parties :
- 24 h pour exploiter 5 machines
- 24 h pour rédiger le rapport (en anglais évidemment) de l’exploitation de celles-ci.
Les machines valent de 10 à 25 pts et il faut optenir plus de 70 points pour valider l’examen, donc, en dessous de 4/5, autant dire que ça ne passera pas (Offensive security n’indique pas comment sont répartis les points entre la low et la high privilege escalation donc peut-être qu’un 3,5 peut passer, je ne sais pas).
J’ai beaucoup moins apprécié la partie examen que la partie lab finalement. Tout d’abord parce que c’est stressant ! (Cela reste un examen tout de même…) Les machines ne sont pas ultra complexes au final mais le stress du chrono n’aide pas pour la concentration et le stress a tendance à monter vite quand un exploit se retrouve à ne pas marcher comme on le souhaite. Ici pas question de dire “tant pis, je suis fatigué, je règlerai ça demain à tête reposée”.
J’ajouterai que 24 h d’examen ce n’est quand même pas de tout repos (même s’il est possible de prendre des pauses et l’aller dormir quand on veut, après avoir notifié l’examinateur). À noter d’ailleurs que l’examen est surveillé en permanence par webcam et via un outil pour voir tout ce qui est fait à l’écran.
Concernant le matériel et les versions d’OS et navigateurs, il vaut mieux respecter les préconisations demandées. J’ai testé au début avec mon ordi perso mais après plus de 40 minutes de galère, j’ai fini par switcher sur l’ordi du boulot (encore heureux, j’avais configuré les deux !). Finalement tout a bien voulu fonctionner (résultat : 1 h d’examen de perdu et un début d’examen avec le stress au maximum :/).
Après une nuit à travailler sur les machines, au matin, j’en avais 4,5/5 donc largement de quoi passer et aller se reposer (je suis tout de même curieux de savoir ce que j’ai oublié sur cette privesc Windows ^^).
Le rapport en 24 h est largement faisable. Le fait que ce soit en anglais m’a fait perdre pas mal de temps en corrections et auto-relecture mais en environ 8/10h, j’avais 50 pages dont j’étais satisfait :).
Bref quelques jours après, le mail tant attendu arrive : tout s’est bien passé et la certification est validée.
Pour finir un grand merci à Clever Age pour m’avoir donné l’opportunité de passer cette certification OSCP qui fut une expérience très enrichissante.
abdelatif bar
4 mai 2020
boonjour ,je veux savoir l’age minimum de candidat de certificat de oscp?
ABdel
14 septembre 2021
Pa s d’age minimum…Je cherche une certification moi meme mais je ne trouve pas, une idée?
steeve asensi
7 juillet 2020
Dis moi stp, depuis l’obtention de la certification, ta carrière dans la cybersec a t-elle été facilité ou accélérée ?
Un grand merci et bonne continuation à toi. Bravo pour la certif !