Posted on June 21, 2019
[FR] De 0 à l’OSCP en 3 mois [MAJ 2022]
Les derniers mois ont considérablement modifié ma personne de diverses manières. Les jours et les nuits que j’ai passés à essayer de prendre le contrôle des machines du laboratoire Offsec resteront gravés dans ma mémoire pour toujours.
L’OSCP c’est aussi expérimenter un véritable roller coaster émotionnel: l’excitation, la frustration, la joie et la satisfaction se sont révélées très gratifiantes pour l’amélioration de mes compétences en Cybersécurité.
Conclusion: Try harder smarter.
Mon parcours avant l’OSCP:
Au cours des 5 dernières années, j’ai travaillé dans plusieurs SOC / CERT en France en tant qu’analyste en sécurité. Blue Team à fond. Voici un récapitulatif de mes connaissances avant de passer l’OSCP:
- Compétences de base en CLI Linux et Windows
- Scripting: Power-Shell, Python, C, PHP, C #, SQL
- SIEM: IBM QRadar, RSA Netwitness, Splunk, Graylog, Elasticsearch, Kibana
- Solutions de réponse aux incidents: RSA Archer SECOPS, Redmine, OTRS
- Analyse de malware: Wireshark, IDA, X64dbg, Microsoft Sysinternals, Cuckoo
- Analyse de vulnérabilités: Nmap, Qualys, Nessus, Shodan
Je possède également plusieurs certifications liées à la sécurité:
- SANS GCIH (504): GIAC Certified Incident Handler: Gestion des incidents de sécurité en comprenant les techniques, les vecteurs et les outils d’attaques courantes, et en se protégeant et / ou en répondant à de telles attaques, le cas échéant. Méthodes utilisées pour détecter, réagir et résoudre les incidents de sécurité informatique.
- SANS GREM (610): GIAC Reverse Engineering Malware : Posséder les connaissances et les compétences nécessaires pour étudier les logiciels malveillants (malwares) destinés à des plates-formes courantes, telles que Microsoft Windows et les navigateurs Web. Savoir comment analyser le fonctionnement interne des programmes malveillants dans le contexte des enquêtes judiciaires, de la réponse aux incidents et de l’administration du système Windows.
- ISO / IEC 27002 ISO Information Security foundations: Information et sécurité, Menaces et risques, Approche et organisation, Mesures, Législation et réglementation.
Mon expérience OSCP
- Chronologie d’événements:
- 1er mars: commande passée avec deux mois de Labs.
- 24 mars: accès aux laboratoires et au matériel de cours. J’ai commencé à faire les exercices en lisant le PDF et en regardant les vidéos.
- 7 avril: J’attaque les Labs.
- 5 mai: prolongation d’un mois car je n’avais pas encore terminé d’attaquer toutes les machines.
- 6 juin: J’arrête les Labs après avoir rooté la quasi-totalité des machines , y compris les 4 machines les plus dures (Gh0st, Humble, Pain, Sufferance) .
- 11 juin: j’ai réservé mon examen.
- 14 juin 23h: examen.
- 16 juin 22h: rapports d’examen et de laboratoire soumis.
- 19 juin 16h25: obtention les résultats de la part d’Offsec: Réussi!
Mes recommandations:
- Labs:
- Ne pas boycotter les forums. Allez-y si vous êtes vraiment, vraiment coincés. Vous allez en être de moins en moins dépendants au fur et à mesure que vous gagnerez en expérience grâce aux laboratoires.
- Faites les exercices de laboratoire. Cela vous aidera vraiment à comprendre la méthodologie de tests d’intrusion «Offsec».
- Réinitialiser toujours la machine avant de l’attaquer.
- Construisez votre checklist personnalisée pour les tests d’intrusion. Vous devriez avoir un premier prototype une fois que vous avez rooté vos 5 à 10 premières machines.
- Metasploit / Meterpreter: Je l’ai utilisé à quelques reprises dans les laboratoires lorsque j’ai démarré puis arrêté de l’utiliser complètement. Vous n’avez pas vraiment besoin de metasploit dans les machines du laboratoire. Le Meterpreter est bien plus rapide pour divulguer les mots de passe et élever les privilèges, mais cela peut vous faire empêcher de gagner beaucoup de compétences intéressantes.
- Lorsque vous recherchez des exploits, regardez si l’exploit apparaît plus qu’une fois dans vos recherches. Si tel est le cas, vous devez prioriser cet exploit.
- Les exploits qui s’exécutent localement sur une machine victime exploitent généralement un processus ou un service avec des privilèges plus élevés.
- Parfois, aucun script d’énumération/checklist ne fonctionnera. Pas même à l’aide des guides de g0tm1lk ou FuzzySecurity. Respirez à fond, évaluez la situation d’un point de vue global, puis essayez plus intelligemment.
- Essayez toujours d’exploiter manuellement les services avant d’utiliser les exploits kernel, qui devraient être votre dernier recours.
- Vous aurez souvent besoin de modifier le code d’exploitation. Il est rare que vous trouviez sur EDB un code d’exploitation prêt à l’emploi.
- Énumérez les correctifs installés sous Windows (KB..) avant d’essayer les exploits Kernel.
- Post exploitation / Shell avec privilèges utilisateur (non admin): vous devriez être en mesure de confirmer toutes les données / informations énumérées à distance car vous avez maintenant un accès local à la machine (si elles ne correspondent pas, demandez vous pourquoi!).
- Recherchez les utilisateurs dans
/etc/passwd
et essayez de vous connecter via SSH en les utilisant. - Certains services doivent être redirigés (port-forwarding) sur votre machine pour pouvoir être attaqués.
- Quelques scripts automatisés peuvent être utilisés pour vous aider. Ils produiront beaucoup de “données” que vous devriez convertir en informations “utiles”.
- Mettez toujours votre shell à niveau autant que vous le pouvez.
- Pivoter peut être difficile .. Dieu a alors créé “sshuttle“.
- Effectuez votre routine post-exploitation et recueillez toutes les informations utiles: mots de passe, hashs, noms d’utilisateur et autres artefacts intéressants.
- Faîtes des snapshots de votre machine Kali de temps en temps.
- Livres recommandés par ici.
- J’ai construit une liste avec tous les utilisateurs connus. Cela vous aidera lors des brute-forces.
- J’ai mis en place un index avec les combinaisons utilisateur/mot de passe pillés:
- Reporting:
- J’ai d’abord essayé CherryTree et KeepNote mais j’ai fianelement préféré utiliser OneNote dû au fait de bosser sur plusieurs PC(maison, travail, etc..). Les données sont conservées dans le cloud. Le nouveau thème “Dark” en a fait une expérience beaucoup plus satisfaisante.
SHIFT + Win + S
pour prendre des captures d’écran dans Windows 10.- J’ai utilisé des outils tels que Reconnoitre et Faraday pour la collecte d’informations et l’énumération de services, mais j’ai pas tardé à lâcher rapidement l’affaire et retourner à faire du copier/coller directement dans OneNote. Voici à quoi ca ressemblait mon OneNote:
- Préparation à l’examen:
- J’ai réalisé un exercice “pré-examen” de 24 heures avec des machines que j’ai téléchargées de Vulnhub le week-end avant la date de l’examen. Vous pouvez télécharger les machines virtuelles à partir d’ici.
- Voici une excellente ressource pour Buffer Overflow. Répétez-le plusieurs fois jusqu’à ce que vous compreniez bien chaque étape du processus.
- J’ai lu énormément d’articles de blog sur la préparation de l’OSCP. Les liens par ici.
- J’ai également créé un index identifiant la méthode de root utilisées sur chaque machine. Ca peut être utile pendant l’examen ou sur d’autres machines du Labs dans le cas où vous rencontrez des vulnérabilités similaires. Voici un exemple de mon index:
-
- J’ai rooté plusieurs machines dans Hack The Box. La plupart des machines de difficulté moyenne HTB sont un peu plus dures que les machines Offsec Lab. Voici quelques machines HTB qui ressemblent aux machines de l’Offsec:
- Examen:
-
-
- J’ai réussi mon examen dès la première tentative 🙂 Je me suis parvenu à rooter 3/5 machines + 1 shell à privilèges utilisateur sur la quatrième machine.
- L’examen est constitué de 5 machines à rooter : 1 Buffer Overflow (25 pts), 1 (20 pts), 1 (20 pts), 1 (10 pts), 1 (25 pts) + une machine de debug pour le BFO.
- Ma machine virtuelle Kali était plutôt stable pendant toute la période des Labs durant environ 3 mois. Cependant, pendant l’examen et après 12 heures de travail et de nombreux onglets de Terminator ouverts, ma VM a décidé de planter. Je vous recommande alors de prendre plusieurs snapshots de votre machine virtuelle en effectuant l’examen pour ne pas tout perdre.
Utilisez OBS Studio pour enregistrer votre écran. Cela m’a aidé à plusieurs reprises lorsque je rédigeais mon rapport d’examen
MAJ 2020 : PWK a officiellement bani l’enregistrement de la session de l’exam.
- interdit l’enregistrement d’ecran durant l’examen .
- Pas de stress. Prenez votre temps, énumérez tous les services, notez les versions des logiciels / services énumérés et toutes les informations que vous découvrez. Enregistrez tout dans OneNote.
- Lorsque vous êtes bloqués, prenez du recul et vérifiez vos notes sur OneNote. Énumérer encore plus.
- La machine de Buffer Overflow devrait te prendre 1h. Cela m’a pris 2h30 car j’avais raté quelque chose. Assurez-vous de créer une checklist BFO solide avant l’examen.
- J’ai utilisé le script nmapAutomator pour lancer l’énumération. Ca a très bien fonctionné pour moi.
- Ne passez jamais plus de 2-3 heures sur une seule machine. Si vous êtes bloqué, passez à la machine suivante.
- Buvez beaucoup d’eau et mangez des aliments faibles en sucre et riches en graisses et protéines (noix, poisson, pain complet, etc..).
- Une amie m’a fourni quelques pilules de caféine. Cela m’a vraiment aidé aux moments de coup de barre.
-
-
Ma configuration PC:
Rien d’extraordinaire ici. Mon poste de travail n’est pas vraiment à jour, mais il était certainement capable de faire fonctionner une machine virtuelle et plus de 100 onglets Chrome / Firefox ouverts :p
Voici les spécifications:
- CPU: Intel Core I5 4590 à 3,3 Ghz
- RAM: 20 Go DDR3 1333 Mhz
- GPU: GTX 670 2Go GDDR5
- Disque: SSD 256 Go + disque dur 4 To
- Affichage: Asus VA32AQ 32 “2K + Samsung LS22E45UFS / EN 21,5” (écran vertical)
- Clavier: Logitech G213 Prodigy
- Souris: Logitech G500
Voici à quoi ressemblait ma configuration le jour de l’examen:
Mes prochaines certifications souhaitées:
SANS 508- SANS 542/642
SANS 660- OSCE
- CISSP (ca m’ennuie)
Merci d’avoir pris le temps de lire cet article. N’hésitez pas à me contacter si vous avez des questions. Vous pouvez également m’ajouter sur Linkedin.
Vous pourrez visualiser cet article en Anglais ICI.
Merci beaucoup ! Surtout pour les ressources, j’ai de quoi tryhard.
Salut, l’article est très intéressant. Très intéressant.
Je désire passer la certification et ton article recèle une mine d’informations.
Toutefois, le titre est un peu trompeur non ? “De 0 à l’OSCP…” ?
De 0 vraiment ? Quand on est ingénieur de formation on ne démarre pas de zéro tout de même ?
Que devrais-je dire alors moi qui ai une formation de comptable sans aucun rapport donc avec la technique informatique ^^
En tout cas, j’ai ajouté ton blog à mes favoris ; je sens que je vais y revenir très souvent.
Keep up the good work 😉
Salut! Quand je parle de 0, c’est plutôt pour la partie pentest 🙂
Je pense que pour ton cas, il vaut mieux commencer pour une formation généraliste informatique (programmation, réseau, sysadmin etc.) avant de s’intéresser à la sécurité.
Bonjour Kevin et merci d’avoir partagé ton expérience OSCP dans cet article très bien construit.
J’ai une expérience de sysadmin de plus de 10 ans mais essentiellement sur des OS Windows et je n’ai pas d’expérience en Reverse Engieneering et donc encore moins sur quelconque langage de programmation. Bon comme tous les sysadmin je touche à beaucoup de choses, scripting, powershell, Linux, Firewall, virtu etc, etc… J’aimerais te demander si tu penses que cela est réalisable sans les connaissances que tu avais au départ, je parle de tes connaissances cyber soc, cert, SIEM etc… Je ne travaille pas avec des grands comptes mais uniquement des PME/PMI. Merci pour ton retour et ton partage de connaissance. Frédéric B.
Bonjour Frédéric,
Je pense qu’avec ces connaissances, tu n’auras pas vraiment de soucis pour pouvoir avancer rapidement 🙂 Si tu as envie de travailler dans une blue team / SOC, Il suffit juste passer une formation de base qui t’initie aux bases de réponse a incident / Forensiques. Par exemple la formation 504/GCIH de SANS.
Certains SOC recrutent spécifiquement des anciens Sysadmin et les forment !
Hello Kévin, tout d’abord, toutes mes félicitations ça a pas dû être facile mais la récompense vaut l’effort fourni.
L’article est bien détaillé et top, faudrait que je m’y mette aussi 😉.
Merci et Bon courage Mohamed ! 🙂
Bonjour Kevin,
Mon fils a 17 ans et il fait de la cybersecurité depuis 3 ans.
Il est 1500 ème sur rootme. Il est en terminale au cned (travaille ses cours le matin uniquement) et l’après-midi il fait de la cybersecurité pendant 5 heures environ.
Moi je ne connais rien à l’informatique. Mais j’ai vu que souvent les offres d’emploi de pentester demande d’avoir l’oscp. Alors j’ai cherché plein d’info sur l’oscp et c’est ainsi que je t’ai trouvé.
J’ai dit à mon fils “regarde c’est bien l’oscp”. Mais il me dit car il se dévalorise souvent “mais j’ai aucune chance c’est surement trop dur et je peux m’entrainer à la même chose sur rootme”.
Je voudrais l’inscrire à la formule d’offensive security d’un an (un an d’accès au lab et 2 essais pour l’oscp).
Pourrais-tu me dire si tu penses que c’est une bonne idée? Est-ce que mon fils pourrait t’écrire sur discord ou autre pour que tu vois s’il a le niveau?
Merci
Sébastien
Bonjour Sebastien ! Oui je pense que c’est une très bonne idée. Après tout il faut que votre fils soit motivé et partant pour ce challenge. Il est encore trop jeune et a largement le temps pour progresser!
L’OSCP en tant que formation ca t’apprends effectivement plein de choses, en tant que certification c’est super pour sa carrière. Il peut toujours faire la formation, rooter les machines sans forcement être sous le stress de passer l’examen.