Revue PWK & OSCP d’Offensive Security

Le 19 décembre 2017, j’ai reçu l’un des e-mails les plus recherchés par les amateurs et professionnels en herbe de la sécurité Offensive…

Cher Jack,

Nous sommes heureux de vous informer que vous avez réussi l’examen de certification Penetration Testing with Kali Linux et que vous avez obtenu votre certification Offensive Security Certified Professional (OSCP).

L’homme était en extase! Après 2 mois de formation épuisants dans le laboratoire OffSec et 20 heures d’examen longues mais réussies, tout a payé à la fin – j’ai finalement été OSCP!

Je n’aurais pu que rêver de ce certificat, je ne m’attendais pas vraiment à ce qu’il devienne une réalité si tôt! Toute cette formation, les nuits blanches et l’enthousiasme d’apprendre m’ont amené ici. Alors que j’écris ce post, je veux partager mes pensées, mes expériences et quelques conseils pour ceux qui visent à atteindre l’OSCP!

Contexte & Expérience

Avant de me plonger dans le cours PWK et l’OSCP, je souhaite vous fournir quelques informations sur mes antécédents et mon expérience. Au moment de la rédaction de cet article, je suis dans l’industrie InfoSec depuis environ 3 ans maintenant. Une grande partie de mon expérience est venue de l’auto-éducation, passant d’innombrables heures à la maison et devant mes livres à apprendre de nouveaux outils et techniques. Une grande partie de ce que j’ai appris a été mise à l’épreuve au travail où j’ai effectué des tests de stylo internes, des évaluations de sécurité, une ingénierie inverse des logiciels malveillants (plus comme le débogage), etc. En même temps, j’ai complété mes études par de la pratique – comme la compétition dans les CTF, la pratique sur les machines virtuelles VulnHub et dans les laboratoires HackTheBox. Pour ceux qui sont curieux des détails de mes études, continuez à lire car je vais approfondir cela dans la section conseils. Mais pour l’instant, entrons dans la vraie viande des choses!

Le cours PWK

L’expérience OSCP globale peut être considérée comme un processus en 3 parties. Le cours PWK, le Laboratoire PWK et l’examen OSCP. Vous avez la possibilité de vous inscrire pour 30, 60 ou 90 jours de temps de laboratoire. Une fois que vous vous inscrivez, vous sélectionnez la semaine que vous souhaitez commencer vos études – en particulier un samedi / dimanche est le moment où un nouveau cours se prépare. Il est recommandé de s’inscrire 10 à 30 jours avant votre semaine de début prévue, car les plages horaires se remplissent très rapidement! À la date de début du cours qui vous est assignée, vous aurez accès à tous vos supports de cours, y compris les vidéos de cours PWK de sécurité offensive de 8 heures, le cours PDF PWK de 375 pages et votre accès au laboratoire VPN. Une fois que votre temps de laboratoire commence, il s’agira d’un bloc continu, ce qui signifie que vous ne pouvez pas l’arrêter / le démarrer à tout moment après la date de début.

Au début de mon parcours OSCP, j’ai opté pour environ 60 jours dans les laboratoires (2 mois). Je pensais que cela me laisserait beaucoup de temps pour parcourir les PDF, les vidéos et le laboratoire, et que cela me donnerait suffisamment de place si certains jours / semaines étaient trop agités pour que je puisse étudier.

Il était environ 19 heures le 14 octobre lorsque j’ai reçu mon VPN PWK et le Matériel de cours. Je me suis immédiatement mis au travail en parcourant le PDF et en suppliant chaque chapitre avec sa vidéo respective. Il est recommandé de parcourir à la fois le PDF et les vidéos, car les vidéos contiennent parfois plus de détails que le PDF, ce qui devrait aider à éclaircir certaines choses. Les PDF/Vidéos couvrent de nombreuses sections, notamment les Bases de Linux, les Outils Essentiels, l’Énumération, la Collecte d’informations, les Débordements de Tampons, l’Escalade des Privilèges, les Attaques Côté Client, les Attaques d’Applications Web, le Pivotement et la Métasploit.

J’ai passé environ une semaine à parcourir tout le cours PWK et quelques Exercices, et j’ai passé beaucoup de temps sur la section de débordement de tampon, car c’était l’un des sujets que je savais que je voulais réussir! Dans l’ensemble, pour moi, le cours PWK était honnêtement un recyclage – la seule chose qui m’a été bénéfique était le débordement de tampon et les sections pivotantes du cours. Je n’ai terminé qu’environ la moitié des exercices avant de décider de me lancer dans les laboratoires PWK.

Notez maintenant que le cours PWK ne vous fournit pas tout ce que vous devez savoir! Le cours est là pour aider à construire les bases et vous enseigner les bases initiales dont vous avez besoin pour réussir. Il y aura d’innombrables choses que vous devrez encore apprendre / rechercher vous-même pendant votre temps dans les laboratoires – je vous suggère donc de rafraîchir votre Google Fu!

Le Laboratoire PWK

Le laboratoire PWK est la viande du cours PWK. C’est là que se déroule la majeure partie de votre apprentissage. Le laboratoire compte environ 50 machines au total de divers systèmes d’exploitation, vulnérabilités et erreurs de configuration, séparées dans 4 sections réseau différentes – Public, IT, Dev et Admin. Votre objectif est d’accéder au réseau d’administration, mais pour certains, l’objectif peut être différent – alors ne le laissez pas vous atteindre si vous ne pouvez pas accéder au réseau d’administration!

Toutes les machines du laboratoire ont des difficultés variables – certaines sont faciles, tandis que d’autres sont difficiles à “cogner la tête sur la table pendant des heures”. Il y a peut-être un moment dans les laboratoires où vous pensez qu’une machine est invulnérable and et vous avez peut-être raison, mais ce n’est pas comme ça que le cours a été mis en place. Le laboratoire PWK a été configuré pour simuler un environnement réseau réel, ce qui signifie que certaines machines interagissent entre elles et pourraient être compromises par des attaques côté client. D’autres machines en revanche peuvent avoir des informations sur elles qui peuvent conduire au compromis d’une autre machine dans le laboratoire. En général, vous ne devez jamais laisser de pierre non retournée et énumérer correctement. Si vous vous trouvez coincé, vous pouvez toujours accéder au forum OSCP et à l’IRC pour demander de l’aide ou pour rechercher des conseils. Ne vous inquiétez pas si vous devez le faire – cela fait partie du processus d’apprentissage! Ne vous aggravez pas si la plupart des réponses que vous obtenez sont “Essayez plus fort” ou “Énumérez!”, parce que les chances sont, vous n’avez pas énuméré correctement et avez manqué une information critique.

Au début, quand je suis entré dans les laboratoires, j’étais submergé, je ne savais pas par où commencer! Heureusement, le cours PWK passe en revue quelques analyses d’énumération simples, ce qui peut vous aider à démarrer votre attaque. Pendant tout ce temps, j’ai utilisé OneNote pour garder une trace de toutes mes notes, analyses, commandes et captures d’écran.

En sautant dans le laboratoire, j’ai effectué une petite série de scans avec Nmap et j’ai remarqué un service spécifique en cours d’exécution sur l’une des machines, celui que j’avais déjà vu en faisant une machine dans HackTheBox! Je suis tellement excité que j’ai attaqué la machine tout de suite – en une heure, j’ai eu un accès root et j’ai réussi à apprendre quelques nouvelles choses! C’était honnêtement un bon début. En 30 jours, j’ai réussi à rooter 38 des appareils – y compris Pain, Souffrance, Ghost et Bethany – et j’ai eu accès au réseau de développement et informatique. À ce moment-là, j’ai opté pour l’examen OSCP et j’ai pris l’heure du 16 décembre à 9H.

Au début, je suis passé par le Laboratoire en utilisant Metasploit et une certaine exploitation manuelle. Au cours des 30 derniers jours, j’ai parcouru toutes les machines que j’exploitais via Metasploit et j’ai réussi à les faire toutes manuellement – soit en portant les exploits de Metasploit via Python, soit en utilisant des scripts et des outils tiers pour me connecter à des services tels que MSSQL, etc. En toute honnêteté, c’était une excellente idée car cela m’a aidé à mieux comprendre l’écriture d’exploits, et cela m’a aidé lors de mon examen OSCP.

L’examen OSCP

Cet examen ardu de 24 heures en toute honnêteté est brutal, et il a tout à fait le droit de l’être! Son objectif initial est de prouver que vous avez une bonne base du cycle de test de pénétration, et de prouver que vous avez réellement appris et conservé votre formation. Pour l’examen, il vous sera attribué 6 machines, 5 Machines d’examen et 1 machine virtuelle de test Windows comme dans les laboratoires – cette machine virtuelle sera votre débogueur pour l’écriture d’exploits. Chaque machine a certains objectifs que vous devez remplir pour que vos points comptent. Parallèlement à cela, Metasploit est limité à une seule machine, mais je vous suggère de ne pas utiliser Metasploit et de l’enregistrer en dernier recours. Pour réussir, vous devez marquer 70/100 points, chaque machine ayant un nombre de points différent en fonction des objectifs. Je vous suggère fortement de lire le Guide de l’examen OSCP pour plus de détails sur ce qui est autorisé ou non pendant l’examen.

Enfin – le 16 décembre est arrivé. Je me suis réveillé vers 7h30 – j’ai pris un petit déjeuner, bu du thé et je suis allé me promener pour me détendre et attraper mes pensées. Par 8:30 J’étais assis à mon bureau, tous mes espaces de travail à Kali étaient configurés comme je l’aimais, OneNote était configuré pour l’examen, et j’ai fait la queue quelques heures de Deadmau5 et de la batterie et de la basse pour jouer dans mes écouteurs pendant que je travaillais. Bien sûr, à 9H du matin, j’ai reçu l’e-mail d’OffSec avec mon VPN d’examen et mes instructions. J’ai pris 15 minutes pour tout lire et faire une note mentale sur ce que je devais faire. À 9h30, j’étais parti et je prenais la première machine.

2 heures après mon heure de démarrage initiale, j’ai terminé ma machine de débordement de tampon – mais pas sans aucun problème. J’ai dû contacter OffSec pour réinitialiser la machine car le service ne fonctionnait pas correctement. Une fois réinitialisé, j’ai pu exploiter la machine et j’ai atteint un shell racine! J’étais une épave nerveuse, et les papillons dans mon estomac agissaient, mais à 12 heures, j’avais deux machines enracinées avec 35 points à mon actif! À ce stade, j’ai décidé de m’éloigner pendant une heure et de faire une petite pause.

Après une pause détente, et un peu de nourriture en moi, une heure plus tard, j’ai pu atteindre une coque limitée sur un autre appareil en utilisant une méthode assez complexe et intéressante. Peu de temps après, j’ai pu atteindre une coquille de haut privilège, me ramenant à 55 points! En toute honnêteté, j’ai compliqué le processus et manqué une information critique – je ne l’ai trouvée que lorsque je suis retourné et énuméré à nouveau!

Vers 18H, j’ai heurté un barrage routier, avec deux machines à gauche, je n’ai pas pu pour la vie trouver un point d’entrée. J’ai énuméré tout ce que je pouvais, mais j’ai continué à trouver des blancs ou à descendre des trous de lapin. Après environ une heure d’impasses, j’ai choisi de faire une petite pause d’une heure pour manger et regarder la télévision. Une fois ma pause terminée, je suis revenu et j’ai recommencé à énumérer, et j’ai rapidement repéré quelque chose en utilisant Burp. Après quelques heures d’essais et d’erreurs, à 23h, j’ai pu obtenir une coquille limitée, me ramenant jusqu’à 67,5 points!

Oh mec, j’étais extatique – j’ai fait un tour de la victoire dans la maison et j’ai joué la chanson Try Harder pour célébrer! Tout ce dont j’avais besoin était une coquille de racine et je passe, facile! N’est-ce pas…? Faux !

Pendant les 4 heures suivantes, j’étais à un autre barrage routier. Je n’ai pas trouvé de moyen d’augmenter les privilèges – même si j’ai suivi le processus deux fois. Rien ne semblait fonctionner. Je me suis retrouvé à rebondir entre l’escalade de privilèges et l’autre machine, dans l’espoir de trouver un moyen d’obtenir le shell limité final ou d’atteindre root. À 2 heures du matin, j’ai renoncé à essayer d’obtenir de la racine et j’ai décidé que j’avais besoin que l’autre coquille limitée passe.

À ce stade, j’étais épuisé, 18 heures après l’examen et j’étais si proche! Je me suis dit que je n’échouerai pas, que je vais “Essayer plus fort”… et puis ça m’a frappé. La seconde où j’ai réalisé que j’essayais “trop fort”, c’était comme si quelqu’un me prenait une batte à l’arrière de la tête I je suivais une impasse depuis quelques heures! La vulnérabilité que j’essayais d’exploiter n’a jamais été enseignée à l’OSCP, elle n’a jamais été trouvée dans les laboratoires – je ne la connaissais que grâce à mes études! J’ai pris du recul et j’ai pris quelques minutes pour respirer et faire du thé.

Je suis revenu à la machine avec un esprit neuf et l’état d’esprit de “penser simple”. Et ça a marché ! J’ai effectué une autre analyse Nikto sur un répertoire et cela m’a conféré une simple vulnérabilité. Mais même à ce stade, je n’ai pas pu l’exploiter till jusqu’à ce que j’ai vu quelque chose d’intéressant. Une recherche rapide sur Google m’a conduit à quelques choses et après quelques essais et erreurs, à 3 heures du matin, j’avais une autre coquille limitée, me ramenant jusqu’à 77,5 points – assez pour passer!

L’enveloppant

À ce stade, je l’ai appelé, je suis retourné pour rassembler toutes les captures d’écran et pour m’assurer que j’avais toutes les exigences. À 4 heures du MATIN, je dormais joyeusement – sachant que je suis passé! Je me suis réveillé vers 13h le lendemain et j’ai commencé à travailler sur mon rapport d’environ 89 pages et assez détaillé. J’ai remis mon rapport vers 4 heures du matin lundi matin – je suis allé à un concert avec mon frère ce soir-là haha – et mardi matin, j’ai eu ma réponse que j’ai passée!

Tout ce que je peux dire, c’est – wow! J’ai le plus grand respect pour tous ceux qui relèvent le défi OSCP et le réussissent. C’est de loin l’un des défis les plus difficiles que j’ai relevés à ce jour et cela m’a appris une pléthore de nouvelles choses que je peux utiliser dans mes activités quotidiennes. Je tiens sincèrement à remercier OffSec pour cette expérience et cette opportunité incroyables, peut-être que je ferai l’OSCE ensuite!

Conseils & Recommandations

Je sais que beaucoup d’entre vous qui liront ce post vous demanderont des conseils / recommandations sur la préparation à l’OSCP ou sur comment / quoi faire pendant l’examen. Eh bien, ne vous inquiétez pas – dans cette section, je vais décomposer et inclure beaucoup de matériaux que j’ai utilisés pour préparer l’OSCP ainsi que quelques conseils / astuces à utiliser pour l’examen.

Prérequis:

Dans le cours PWK, OffSec indique que vous devez comprendre les principes fondamentaux suivants pour suivre le cours…

Les tests d’intrusion avec Kali Linux sont un cours de sécurité fondamental, mais exigent tout de même que les étudiants aient certaines connaissances avant d’assister au cours de formation en ligne. Une solide compréhension de TCP / IP, de la mise en réseau et de compétences Linux raisonnables sont requises. La familiarité avec les scripts Bash avec Perl ou Python de base est considérée comme un plus. Ce cours de test de pénétration avancé n’est pas pour les faibles de cœur; cela nécessite de la pratique, des tests et la capacité de vouloir apprendre d’une manière qui fera progresser votre carrière dans le domaine de la sécurité de l’information et surmontera tout plateau d’apprentissage.

Si vous n’êtes pas assez familier avec ces bases, voici quelques liens pour vous aider à apprendre le matériel requis:

  • TCP/ IP & Réseau
    • Bases du réseau: Modèle TCP, UDP, TCP / IP et OSI
    • Ports communs & Protocoles
    • Sécurité + Section 1: Sécurité réseau
    • Bases de Nmap
  • Linux & Script Bash
    • OverTheWire-Bandit
    • Tutoriel de Scritping Bash
    • Octet Null – Bases de Linux
  • Python
    • Codecademy -Python
    • Documentation Python 2.7.14

Pratique:

Maintenant que vous avez une compréhension fondamentale des bases, vous devez vous entraîner lot beaucoup! Si vous êtes assez nouveau dans les tests de pénétration et que vous pensez que prendre l’OSCP vous apprendra – alors vous avez tort! Vous avez besoin de beaucoup de formation préalable et d’expérience pour même tenter quelque chose comme l’OSCP.

Les matériaux suivants ci-dessous vous aideront à faire les premiers pas dans les tests de pénétration, et pour ceux qui sont déjà expérimentés, cela vous aidera à pratiquer et à développer vos compétences.

  • Vidéos
    • Cybrary – Tests de Pénétration et Piratage Éthique
    • Cybrary – Tests de Pénétration Avancés
    • Cybrary – Tests de Pénétration d’Applications Web
    • Procédures pas à pas HackTheBox par IppSec
    • Vidéos PwnFunction
    • LiveOverflow: Le guide étape par étape secret pour apprendre le piratage
  • Livres
    • Test de pénétration: Une Introduction pratique au Piratage
    • The Hacker Playbook 3: Guide Pratique des Tests de Pénétration
    • The Web Application Hacker Handbook: Trouver et Exploiter les failles de Sécurité
    • Black Hat Python: Programmation Python pour les Pirates et les Pentesters
    • Hacking: L’Art de l’Exploitation, 2e Édition
  • Laboratoires de pratique
    • VulnHub
      • OSCP comme les machines virtuelles:
        • Kioptrix 1-5
        • FristiLeaks: 1.3
        • Agrafeuse: 1
        • PwnLab: init
        • Brainpan: 1
        • Mr-Robot: 1
        • HackLab: Vulnix
        • VulnOS: 2
        • SickOS: 1.2
        • Tour de ciel: 1
    • HackTheBox
      • Pratique aussi sur les Machines à la retraite trust croyez-moi!
    • Pentestit Labs (Avancé uniquement!)
    • CTF365
    • PentesetLab -Bootcamp
    • Exercices d’exploit – Séquence principale
    • OverTheWire-Natas
  • Matériel d’étude & Guides
    • Awesome Pentest
    • Carnet de sécurité
    • Création d’un Shell ATS (Interactif)
    • Feuille de triche à coque inversée
    • Fondamentaux de Metasploit
    • Création de charges utiles Metasploit
    • Escalade des privilèges Windows
      • Principes fondamentaux de l’escalade des Privilèges Windows
      • Liste de contrôle de l’escalade des privilèges Windows
      • Notes rapides
    • Linux Privilige Escalation
      • Basic Linux Privilege Escalation
      • Linux Privilege Escalation Scripts
      • Exploit Exercises – Nebula
    • Buffer Overflows
      • Exploit Writing Tutorial Part 1 : Stack Based Overflows
      • Exploit Writing Tutorial Part 2 : Débordements basés sur la pile – Saut vers Shellcode
      • Introduction à l’assemblage x86
      • Exercices d’exploit – Protostar

Je sais qu’il y a une tonne de matériel ici, et cela peut sembler écrasant au premier abord – mais sachez qu’une grande partie de ces sujets se chevauchent une fois que vous commencez à étudier la sécurité offensive. N’oubliez pas qu’il faut du temps pour apprendre – vous devez profiter du processus d’apprentissage, sinon vous n’atteindrez jamais votre objectif final! Ralentissez, commencez par les bases et progressez.

Conseils d’examen:

Comme pour tout, il y a toujours certaines choses que vous devez savoir et faire pendant l’examen PWK Lab et OSCP, ces conseils suivants devraient vous aider à rester concentré et à vous éloigner des trous de lapin.

  1. Énumérer, Énumérer, Énumérer!
  2. Les scans Nmap simples avec Analyse de script sont vos amis!
    • TCP: nmap -sS -sV -sC -n
    • UDP: nmap -sU -sV -n --top-ports 200
  3. Énumérez SNMP (UDP 161) s’il est ouvert !
    • snmp-check -t -c public
    • Cela montrera d’autres ports ouverts / services et applications en cours d’exécution!
  4. Énumérez SMB (TCP 139 /TCP 445) s’il est ouvert!
    • enum4linux
    • Cela affichera les partages ouverts, les connexions anonymes, etc.
  5. Exécutez nikto sur des répertoires intéressants!
    • nikto -h http(s)://:/
  6. DirBuster sur dirb. Optez pour l’utilisation de la liste de mots moyenne pour de meilleurs résultats!
    • /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
  7. Vérifiez les connexions anonymes pour FTP / SMB!
    • ftp
      • Nom d’utilisateur: anonymous Mot de passe: anonymous
    • smbclient -L \
      • Nom d’utilisateur: root Mot de passe: Aucun
  8. Vérifiez WebDAV! L’analyse du script Nmap devrait le ramasser! Sinon…
    • davtest -url http(s)://
  9. N’y pensez pas trop! Essayez d’abord des fruits à suspension basse!
    • Mot de passe identique au nom d’utilisateur?
    • Combinaison nom d’utilisateur / mot de passe de admin:admin?
    • Google la documentation. Informations d’identification / Connexion par défaut?
  10. Faites pivoter les machines toutes les 3-4 heures. Ne vous fatiguez pas!
  11. Vous avez une idée ? Mais cela semble impossible? Essayez-le you on ne sait jamais! =)
  12. Faites des pauses fréquentes. Optez pour une pause de 10 minutes toutes les 2 heures.
  13. Mangez et buvez! Prenez le temps de déjeuner et de dîner. Votre cerveau a besoin de nourriture pour fonctionner.
  14. Limitez la consommation de caféine, 1-2 tasses de café c’est bien! Mais, buvez du thé et de l’eau.
  15. N’avez pas de collations à côté de vous. Si vous avez faim, dirigez-vous vers la cuisine pour une collation, cela vous éloignera de votre PC et vous aidera à vous vider l’esprit.
  16. Respirez relax détendez-vous you vous avez 24 heures!
  17. Organisez vos notes, prenez des captures d’écran et documentez tout!
  18. Quelques jours avant l’examen, créez et modifiez le plan de votre rapport.
  19. Dans le laboratoire PWK, pratiquez les débordements de tampon jusqu’à ce que vous puissiez les faire par cœur et sans notes.
  20. N’abandonnez pas facilement, et surtoutTry “Essayez plus fort!”.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.