Une expérience OSCP plutôt détaillée..


Sommaire

1/ TL;DR

2/ OSCP, pourquoi ?

2.1/ Sensation de ralentissement..

2.2/ Quel était mon niveau initial ?

3/ Comment me suis-je préparé ?

3.1/ Un travail de longue haleine..

3.2/ Ai-je atteint mes objectifs ?

3.3/ Situation complexe

4/ La décision

4.1/ Changement de “règles”

5/ Le début

5.1/ La panique

6/ Ma nouvelle vie

6.1/ Date d’examen

7/ La fin du lab

7.1/ Le vide

7.2/ Préparation pour l’examen

8/ Exam

8.1/ Jour 1

8.1.1/ Derniers préparatifs

8.1.2/ Nuit blanche

8.1.3/ 3h00, Le début des hostilités

8.1.4/ 7h00, user shell - 20 pts

8.1.5/ 8h30, au pied du mur

8.1.6/ 10h00, root shell - 25 pts (pwn)

8.1.7/ 11h40, user shell - 25 pts

8.1.8/ 13h25, root shell - 25 pts

8.1.9/ 13h57, root shell - 20 pts

8.1.10/ Pause

8.1.11/ 14h36, retour au travail

8.1.12/ 18h00, 32 heures d’éveil..

8.1.13/ 18h50, user shell - 20 pts

8.1.14/ 21h, pause CTF

8.1.15/ 22h, retour au travail

8.1.16/ 2h30, 42h30 d’éveil, l’heure de dodo

8.2/ Jour 2

8.2.1/ 21h15, le début de la souffrance

8.2.2/ 23h00, encore un petit effort

8.2.3/ 1h50, rapport terminé

8.2.4/ 2h05, soumission

9/ La réponse d’OffSec

9.1/ La recherche de nouveaux défis

10/ Journal de bord

10.1/ Jour -2

10.2/ Jour -1

10.3/ Jour 1

10.4/ Jour 2

10.5/ Jour 3

10.6/ Jour 4

10.7/ Jour 5

10.8/ Jour 6

10.9/ Jour 7

10.10/ Jour 8

10.11/ Jour 9

10.12/ Jour 10

10.13/ Jour 11

10.14/ Jour 12

10.15/ Jour 13

10.16/ Jour 14

10.17/ Jour 15

10.18/ Jour 16

10.19/ Jour 17

10.20/ Jour 18

10.21/ Jour 19

10.22/ Jour 20

10.23/ Jour 21

10.24/ Jour 22

10.25/ Jour 23

10.26/ Jour 27

10.27/ Jour 28

10.28/ Jour 29

10.29/ Jour 30

11/ Je salue le courage des survivants !

TL;DR

Au moment de l’accès au lab de l’OSCP, j’ai 6 mois d’expériences en Pentest. Cela fait également 8 mois que je m’entraîne sur mon temps libre pour atteindre mon objectif (obtenir l’OSCP). J’ai pris un accès au lab de 30 jours sur le mois d’août. J’ai plannifié ma date d’exam le 6 octobre à 3h du matin.

Entre le lab et l’examen, j’ai continué à m’entraîner au travers de Bug Bounty et de hackthebox.eu. Le jour J, j’ai obtenu 70 pts à l’examen et ai pu soumettre mon rapport dans les temps. Quelques jours après OffSec m’annonce que j’ai obtenu l’OSCP :)

OSCP, pourquoi ?

Offensive Security Certified Professional (OSCP) est la certification la plus populaire d’Offensive Security. Cette dernière se démarque par la technicité de l’examen. De plus, les candidats sont immergés au sein d’un environnement virtualisé réaliste. Depuis que j’ai démarré mes études en sécurité informatique, je rêvais d’obtenir cette certification.

Fin 2017, je me suis fixé de réussir l’OSCP vers la fin de l’année 2018.

Sensation de ralentissement..

J’ai connu une courbe d’apprentissage assez importante en 2017 et jusqu’à début 2018, cependant j’avais l’impression de ne plus progresser autant qu’avant. Certes, je m’améliorais mais moins vite. J’avais besoin de relancer la machine, j’ai trouvé en l’OSCP la motivation, l’inspiration pour apprendre très vite beaucoup de choses.

Quel était mon niveau initial ?

Lorsque j’ai commencé le laboratoire, j’avais à mon actif 6 mois d’expérience en Pentest. Autrement dit, un manque évident d’expérience. Bien sûr, mes activités avec Apéri’Kube et mon apprentissage personnel me permettaient de me sentir à peu près confiant pour cette certification. Sinon.. j’aurais probablement attendu pour tenter l’OSCP.

J’en avais discuté avec mon maître d’apprentissage (Marc Lebrun <3), passer cette certification était clairement très ambitieux compte tenu de l’expérience globale des pentesters se frottant à l’OSCP.

Je lisais également beaucoup de retours d’expériences (comme celui-ci :P) pour appréhender la difficulté à surmonter. Certains excellaient sans grandes expériences, d’autres avec beaucoup d’expériences échouaient et repasser plusieurs fois, etc. On ne peut pas parler de chance, mais peut-être de gestion du stress, du temps, de la fatigue.. Pour autant, parmi les “plus inexpérimentés”, je dénotais un élément indéniable : L’organisation.

Comment me suis-je préparé ?

Nous sommes début janvier 2018, je souhaite passer l’OSCP en août en prenant 30 jours de repos. Say what ? 30 jours ?! :D Oui j’y ai laissé tous mes congés et une semaine de salaire.. :) Mais au moins, je pouvais me concentrer uniquement sur la réalisation de mon objectif principal. Afin de me sentir prêt pour le début de la formation, je me suis préparé un planning sur 8 mois pour m’entraîner et monter en compétence sur mon temps libre. Ces 8 mois ne consistaient pas simplement en root-me.org ou hackthebox.eu, mais de revoir des éléments sur lesquels je ne me sentais pas particulièrement au point, que ce soit en networking, adminsys, etc. Je me suis préparé une VM, préparé des cheatsheets (via cherrytree) et me suis effectivement entraîné au travers de root-me.org et vulnhub.com. J’ai finalement très peu utilisé hackthebox.eu, à tort.

Un travail de longue haleine..

L’avantage d’un planning à 8 mois, c’est la possibilité à réajuster les activités en fonction des retards, de la courbe d’apprentissage, etc. Le planning est donc amener à beaucoup évoluer, cela permet de garder un fil conducteur mais également de constater les acquis.

Comme tout projet, il est essentiel de ne pas fixer des objectifs trop gros, de décomposer au maximum les objectifs pour obtenir de nombreuses petites tâches. Cela permet de mieux suivre l’évolution du projet, mais également de conserver plus facilement le moral. Il est effectivement plus satisfaisant de finir sa journée en se disant j’ai atteint mon objectif, plutôt que de courir après le temps face à des objectifs trop globaux. Ma source d’inspiration principale était ce pentester (https://scriptdotsh.com/index.php/2018/04/17/31-days-of-oscp-experience/).

Ai-je atteint mes objectifs ?

Evidemment non :D J’étais sans cesse en train de réorganiser le planning pour alléger ce dernier face au retard que je prenais. Néanmoins, j’avais réalisé une grande partie de mes objectifs initiaux. Malgré tout, je ne cessais de me demander si j’avais le niveau pour espérer réussir.

Situation complexe

L’OSCP représente un coût financier non-négligeable, même avec un accès minimal (30 jours). Aussi, je me suis retrouvé de longs moments face à ce dilemme : “Manger des pâtes encore quelques mois et tenter l’OSCP ou bien simplement abandonner l’idée de l’OSCP.”

La décision

Bon vous l’avez compris, j’ai mangé des pâtes.

J’ai donc pris contact avec Offensive Security pour passer la certification. Ces derniers m’ont mis en garde compte tenu de mon expérience et de la difficulté de la formation.

Offensive Security vous fournira une configuration VPN, afin que vous puissiez tester la connexion vers leurs serveurs et attester d’une qualité suffisante pour réaliser la formation.

Ma décision était déjà prise, apportez-moi la note s’il-vous-plaît.

La valeur du dollar américain variant légèrement, comptez 700€ pour un accès au lab de 30 jours. A titre indicatif, 60 jours ~= 870€ et 90 jours ~= 1000€.

Une fois le paiement effectué, vous ne pourrez pas revenir en arrière.

Changement de “règles”

Peu après, Offensive Security annonçait la mise en place de surveillance visuelle lors des examens afin de limiter les tentatives de triche. Ok, donc on parle ici d’une surveillance vidéo pendant 24h dans une pièce entière et d’un partage d’écran via une solution de type TeamViewer. Cela pose donc davantage de problèmes techniques tels que :

_ Un problème évident de vie privée se pose, vous ne voyez pas votre surveillant mais votre famille et vous-même êtes en permanence observés par diverses personnes. On va dire que je suis parano, mais rien n’empêche quiconque dans ces conditions d’outrepasser son simple rôle de surveillance..

_ Est-ce que mon ordinateur actuel (pas forcément au meilleur de sa forme) parviendra à supporter pendant 24h un flux TeamViewer tout en attaquant en permanence des machines ?

_ Est-ce que je vais rencontrer des problèmes réseaux lors de mes scans ?

_ Est-ce que je vais devoir acheter un pantalon pour l’occasion ?

Par chance, j’avais réalisé le paiement avant le changement de “règles”, j’ai donc évité la surveillance sur mon premier passage d’examen. En revanche, si j’échouais je devais donc acheter un nouveau passage (60$) et devrais donc me soumettre aux nouvelles règles..

J’ai demandé à Offensive Security si je pouvais me faire rembourser dans ces conditions, car je ne voulais pas subir cette surveillance. OffSec m’a donc répondu ceci :

offsec answers

Je devais donc absolument réussir lors de ma première tentative si je ne voulais pas subir cette surveillance.

Le début

Mon journal de bord est disponible en fin d’article, je tenais à conserver une trace de mes sensations jour après jour pour pouvoir constater une évolution de niveau, cadence et aussi pour rigoler après coup :D Il s’avère que ce “journal” présente bien mieux cette expérience que je ne pourrais le décrire au travers de ces nombreux paragraphes.. Je vous en fais donc profiter, sans filtre.

Toutefois, je vais continuer mon récit de manière synthétique pour fournir une vision avec davantage de recul.

Nous sommes le 29 juillet 2018, mon accès au lab est activé. Je décide d’abord de télécharger tout le contenu fourni, de le consulter et de commencer une reconnaissance active du réseau en tâche de fond.. A ma grande surprise, le réseau initial (appelons-le “public”) est très grand, mes scans me remontent environ 40 machines ! Pendant que je consultais le matériel fourni, je réalisais donc des scans complets des machines présentes pour éviter la perte de temps.

Premier constat, la documentation fournie est longue, précise et remplie d’exercices ! Pour obtenir les fameux 5 points bonus il faudra réaliser tous les exercices requis (une quarantaine) et préparer un write-up pour 10 machines avec des méthodes d’exploitation différentes. Si tout est correct, alors les 5 points bonus sont attribués lors de l’examen.

Clairement, en 30 jours, je préférais me concentrer sur le lab plutôt que dans les exercies dans l’espoir de grapiller 5 points bonus.

Je devais également préparer mon déménagement pour revenir dans ma famille (à l’autre bout du pays, 8h de route). J’ai donc continué de réaliser des scans pendant que je me familiarisais avec la documentation fournie et ajustais ma méthodo ainsi que mes outils en conséquence.

Le lendemain, une fois arrivé chez ma famille, je terminais le scan complet du réseau public.

Ce fût d’ailleurs un moment particulier, je retrouve ma famille que très peu et pourtant à peine arrivé, déjà au travail dans le lab. Je ne pense pas que ma famille s’attendait à ce scénario même si je les avais prévenu que je passais une certification importante haha :D

La panique

Très vite je me suis retrouvé face à des difficultés énormes dans cet environnement si vaste, je ne savais pas où donner de la tête, ni-même si les machines que j’attaquais étaient potentiellement exploitable en l’état ou si je devais d’abord pénétrer dans une autre machine à l’autre bout du réseau pour espérer accéder à ma cible initiale..

Je me rendais ainsi compte que je n’étais pas prêt pour la certification malgré tout le travail abattu en amont et commençais à me démoraliser. Je ne compte plus le nombre de fois où j’ai pu compter sur ma copine pour me remonter le moral..

Ma nouvelle vie

A présent, je vis OffSec, je mange, je bois, je discute, je dors en pensant à ce lab et à l’examen qui en découle.

J’ai un rythme de travail qui varie de 12h (petite journée) à 18h (grosse journée), une moyenne honnête du temps passé dans le lab serait 15h par jour, soit 450 heures dans le lab en 30 jours..

Pourtant, autour de moi la vie continue, je vois ma famille se coucher et se lever. Je décapsule des cannettes toutes les 3h.. Super régime, je recommande :D

J’apprends tellement de choses dans ce lab, j’en deviens addict, l’environnement (vieillissant) est pourtant réaliste, OffSec a effectué un gros travail sur les intéractions entre les utilisateurs pour reproduire autant que possible un scénario d’entreprise. Il y a tellement de choses à analyser, récupérer sur les machines une fois exploitées, que je passais au début 10h sur les phases de post-exploitation. Une fois que j’avais bien intégré les méthodes de post-exploitation, j’y passais tout de même 3h.

Ces temps de post-exploitation peuvent sembler frustrant, mais sont nécessaires si l’on ne veut pas se retrouver comme de très nombreuses personnes à venir quémander sur le forum d’Offensive Security des indices sur les éléments qu’ils ont loupé… Il faut bien comprendre que vous allez faire face à une cinquantaine de machines réparties sur 4 réseaux. Lorsque vous aurez besoin d’identifiants particuliers ou de potentiels mots de passe dans un fichier Excel, etc., vous ne pourrez vous en prendre qu’à vous-même si vous avez négligé les phases de post-exploitation.

Il ne vous restera alors que deux solutions :

_ Demander de l’aide sur le forum et vous faire lincher.

_ Repasser sur les machines précédemment exploitées, en espérant trouver ce que vous avez loupé sans savoir si vous cherchez sur la bonne machine..

Alors, faîtes votre post-exploitation sérieusement.

Date d’examen

Initialement, je souhaitais plannifier ma date d’examen avant la fin des 30 jours de lab (car je ne savais pas combien de temps je mettrai à obtenir une connexion Internet stable dans mon nouvel appartement au retour). Malheureusement et heureusement pour moi je ne pouvais pas placer une telle date d’examen car la première place disponible était dans 40 jours ! Oui, regardez très tôt les disponibilités pour fixer votre date d’examen car les places sont chères.

Le premier créneau qui me convient (un week-end, samedi à 3h du matin) est le 6 octobre, soit plus de 30 jours après la fin du lab..

La fin du lab

Je viens donc de passer 30 jours avec un rythme de 15h par jour à faire du pentest. Je connais toutes les commandes Windows et Linux de post-exploitation par coeur. Je dépile ma méthodo comme une machine quatre à cinq fois plus rapidement qu’au début. Je sais identifier rapidement les “pièges” présents pour nous faire perdre du temps, j’identifie et mets en oeuvre des exploits à vitesse grand V.

J’ai appris tellement de choses, je n’aurais jamais pu imaginer obtenir un tel niveau après seulement 30 jours.. Pourtant, je ne me sens toujours pas prêt, il me reste beaucoup de choses à préparer pour aborder “sereinement” l’examen un mois plus tard.

Le vide

La fin du lab signifie donc la fin d’une grande partie des activités de ma vie. Je me suis mis à tourner en rond, à compter les heures, le lab me manquait ! Je ne retrouvais nul part ailleurs son équivalent, tout semblait si vide de sens.. :D Je ne supporte plus les CTF depuis, qui sont tellement irréalistes la plupart du temps. J’en suis venu à fuir ce type d’événements.

Préparation pour l’examen

Il me reste donc un mois pour préparer ma machine, revoir ma méthodologie, continuer d’apprendre et de pratiquer pour garder la main sur mes automatismes.

Mon terrain de jeu favori devient le Bug Bounty et hackthebox.eu qui me permet d’accéder rapidement à des environnements sur lesquels je peux m’entraîner.

Je continue de me préparer ainsi jusqu’au jour J. C’est seulement la veille, que j’ai eu la sensation d’être enfin vraiment prêt, je ne savais plus quoi faire pour me préparer davantage à cet examen.

Exam

Jour 1

Derniers préparatifs

Je prépare mes shells, les scans sont prêt à être lancés sur les cibles, je n’attends qu’une seule chose le mail d’OffSec pour obtenir ma configuration VPN d’examen ! Je me suis préparé des réveils sur mon téléphone (que je conserve d’ailleurs toujours en souvenir) :

Samedi :

_ 2h03 “Réveil OSCP”

_ 7h45 “1 machine pwn”

_ 12h30 “2 machines pwn”

_ 17h15 “3 machines pwn”

_ 22h00 “4 machines pwn”

Dimanche :

_ 2h40 “5 machines pwn”

Lundi :

_ 2h30 “Urgence 10min report”

Cela me permettait de garder la notion du temps de manière rassurante, je savais si j’étais en avance ou non sans me fatiguer et me déconcentrer.

J’ai également mis en place OBS pour filmer tout mes 24h d’examen. Je prévoyais le cas d’avoir oublié un ou deux screenshots pour le rapport et d’avoir ainsi la possibilité de revenir sur la vidéo pour reprendre les moments dont j’avais besoin !

Nuit blanche

C’était sans compter l’excitation inhabituelle la courte nuit avant le début de l’examen.. Je n’ai pas pu dormir, j’ai donc malheureusement fait une nuit blanche.

3h00, Le début des hostilités

Je reçois donc ma configuration VPN et m’empresse d’attaquer les machines dans l’ordre. Je réalise ma reconnaissance complète des machines pendant que j’attaque une machine en particulier.

Je repère assez rapidement la machine de pwn à 25 pts et décide de me la garder sous la main pour me remonter le moral (points “donnés” sous réserve d’être au clair sur la méthodologie à mettre en oeuvre, ce qui était mon cas).

Je passe donc en revue les 4 autres machines.

7h00, user shell - 20 pts

J’obtiens un premier user shell sur une machine à 20 pts, je n’ai pas réussi à rentrer sur les 3 autres machines. Je persiste donc sur l’obtention du root sur cette quatrième machine presque terminée.

8h30, au pied du mur

Je ne parviens pas à trouver le moyen de réaliser une élévation de privilège sur cette machine et commence à ressentir de la frustration. Nous sommes au bout de 5h30 d’examen, le premier réveil a déjà sonné, je suis donc en retard, pourtant je n’ai toujours pas de root.

Je décide donc d’attaquer la machine de pwn à 25 pts pour confirmer ces 25 pts et me remonter le moral tout en me changeant les idées.

10h00, root shell - 25 pts (pwn)

Même en prenant le temps de prendre absolument tous les screenshots dont je pourrais avoir besoin lors du rapport, je parviens à obtenir un root shell sur la machine de pwn assez rapidement.

Il me manque donc encore 45 pts (1 machine à 25 pts et une machine à 20 pts).

Je décide de me concentrer sur la dernière machine à 25 pts dont je ne voyais absolument le point d’entrée initial lors de mon premier passage.

11h40, user shell - 25 pts

Au bout d’une quinzaine de minutes, je commence par découvrir mon ticket d’entrée pour un user shell. Cependant, l’exploitation n’est pas triviale et la machine cible est visiblement exotique. Je parviens à obtenir un user shell 1h30 après la découverte initiale. L’exploitation était plutôt complexe.

Je me concentre donc sur l’élévation de privilèges sur cette machine.

13h25, root shell - 25 pts

Je repère assez rapidement quelque chose de suspect et creuse dans cette direction. L’élévation de privilège est un peu casse-tête, sympa, mais un peu longue à réaliser.. Quoi qu’il en soit, j’obtiens à 13h25 un accès root sur la machine et les 25 pts associés !

13h57, root shell - 20 pts

Je dispose à présent de 50 pts et d’un user shell sur une machine à 20 pts.. Ce serait idéal n’est-ce pas ? Je réattaque la phase d’élévation de privilège sur cette machine. Le fait de m’être changé les idées m’a permis de regarder la machine sous un autre angle. J’ai donc repris l’analyse des éléments de la machine, et ai remarqué quelque chose de potentiellement intéressant.. Je teste et à ce moment précis je savais que c’était le jackpot !

Je mets donc en place l’exploit et voilà.. J’ai les 70 points tant convoités au bout de 10h57.

Pause

Evidemment, c’est l’exaltation ! Tous ces mois de travail ont finalement payé ! Comme un gamin j’avertis ma copine, mes parents, mes amis que le compte est bon et en profite pour souffler un peu.

14h36, retour au travail

J’avais tellement d’adrénaline, j’étais fatigué mais je ne pouvais me résoudre à aller dormir malgré mes 28h+ d’éveil. Je voulais obtenir les 100 pts !

Je me suis donc remis directement au travail sur les deux dernières machines (20 pts et 10 pts).

18h00, 32 heures d’éveil..

3h30 plus tard, je commence réellement à être en difficulté pour réfléchir, je refais le plein de caféine et sucres rapides et maintient le cap..

J’ai un point d’entrée sur la machine à 10 pts, mais je n’ai pas les idées claires et n’arrive pas à profiter de cette faille pour obtenir un accès root sur la machine. Je suppose à juste titre, que si la machine vaut 10 pts, c’est qu’il n’y a pas d’élévation de privilège à réaliser. Cela ne signifie en aucun cas qu’obtenir ces 10 pts est “simple”.

18h50, user shell - 20 pts

En revenant un peu sur la machine à 20 pts, je parviens à voir un élément sous mon nez depuis le début, mais que la fatigue m’empêchait de voir facilement.. Cela en était vraiment ridicule, je venais de mettre 6h pour voir un élément crucial présent sous mon nez depuis le début !

Quoi qu’il en soit, je venais donc d’obtenir un user shell sur la machine à 20 pts.

Je persiste donc sur cette machine. Je repère assez rapidement la vulnérabilité et regarde donc l’exploit à mettre en oeuvre.

JE N’ETAIS PAS PRÊT, VRAIMENT PAS. Il fallait mettre en place 4 exploits en musique documentés par des advisories de 1015 pages. J’ai essayé encore et encore, mais c’était trop d’effort pour mon niveau de concentration et de réflexion avec tant de fatigue.

21h, pause CTF

1h plus tard, je décide de me changer les idées, pourtant je n’aurais pas réussi à dormir.. Et puis, ça tombe bien un CTF vient juste de commencer, je décide donc d’y faire un tour.

22h, retour au travail

Au bout d’une heure, j’en ai marre, reprends mes doses de caféine et me remets au boulot.

Je ne parviens pas à rassembler les pièces du puzzle sur la machine à 20 pts. Quant à la machine à 10 pts, j’ai adopté une méthode qui je pense était la bonne. Puisqu’il n’y a pas d’élévation de privilège, et que je suis censé obtenir un accès root.. Il n’y a pas 15 000 possibilités non plus, dans ma reconnaissance, je repère donc 2 sérieux candidats à une exploitation aboutissant sur un accès root.

Les 2 services sont “exploitables” mais je n’arrive pas à profiter réellement de l’un d’entre-eux dans ces conditions, et ce même en utilisant ma cartouche MetaSploit contre cette machine.

2h30, 42h30 d’éveil, l’heure de dodo

4h30 plus tard, la fin est proche (2h45), je rends les armes. Je vais donc me coucher avec la déception de ne pas avoir obtenu mes 100 pts, probablement car je ne me suis pas forcé à dormir après l’obtention de mes 70 pts.

J’ai donc obtenu 70 pts + un user shell sur une machine à 20 pts.

Je mets un réveil pour 12h30.

Jour 2

Le réveil sonne, c’est compliqué de se lever :D Je dois donc réaliser le rapport. Je prends le temps de me réveiller, manger, etc. J’avais tout sauf envie de rédiger ce rapport, j’ai mis du temps avant de m’y mettre. Lorsque j’ai décidé de me pencher dessus il était 16h.

Le rapport est à soumettre avant 2h45, assez confiant je me dis que cela suffira largement.

Je relis donc calmement les attentes quant aux rapports et commence la rédaction du rapport à partir du template d’OffSec. J’ai préféré reprendre le template puisqu’il a été validé par Offensive Security et correspond à leurs attentes, je réduis ainsi les chances de passer à côté de cette manière.

Mais un problème survient rapidement, je ne sais pas si je dois rédiger la documentation relative aux 5 machines (y compris celles que je n’ai pas compromises). L’enjeu ici est de savoir si je ne les mentionne pas en simulant le fait que je rends un rapport d’intrusion “parfait” ou bien si je les présente en indiquant dans le rapport que les machines présentent des failles, mais qui n’ont pas pu être complétement exploités lors de l’audit).

Je décide donc de contacter Offensive Security par mail et continue le rapport. OffSec est à nouveau très réactif et m’indique que je décide de ce que je souhaite leur présenter.

Mon choix est donc, à défaut je ne présente que les 3 machines compromises et si j’ai vraiment le temps pour faire la documentation sur les 2 autres machines alors je le ferai.

Je commence donc réellement la partie technique du rapport vers 17h30 et me plie au mode de fonctionnement d’OffSec, c’est-à-dire un write-up de plusieurs machines au sein d’un rapport de pentest. Ce n’est donc pas un rapport de pentest, mais plutôt un write-up de CTF déguisé.

21h15, le début de la souffrance

Je viens de détailler une machine à 25 pts (pas celle de pwn qui est la plus longue à détailler). Il est 21h15, je commence à comprendre que cela va être compliqué de tenir les délais pour les 5 machines. Je ne m’arrête pas et continue sur ma lancée.

23h00, encore un petit effort

Un peu moins de 2 heures plus tard, je termine les explications relatives à la machine à 20 pts. Il me reste 3h40 pour soumettre mon rapport et il me reste la machine de pwn à 25 pts (qui est la plus longue) à expliquer.

1h50, rapport terminé

Comme j’ai pris les habitudes dans la méthode de rédaction via les deux précédentes machines, je parviens à terminer le rapport à 1h50. Je relis donc toutes les obligations en termes de rendu pour être sûr de ne pas me louper si prêt du but.

Je prépare le mail, envois le rapport sur la plateforme dédié et récupère le lien associé.

Relis encore et encore le mail.

2h05, soumission

A 2h05, tout me semble en ordre, je décide de soumettre le rapport et de refaire surface auprès de mes proches, endormis sans nouvelles.

La réponse d’OffSec

2 jours plus tard, alors que j’étais en train d’assister à un cours de Threat Intelligence à l’école, je reçois la réponse d’Offensive Security m’indiquant que je venais de réussir.

glory

J’avais tellement d’adrénaline, le souffle presque coupé, j’avais réussi :D

La recherche de nouveaux défis

On m’a souvent demandé ce que je comptais faire après cette certification. La réponse “évidente” est l’OSCE (Offensive Security Certified Expert) qui se concentre sur le développement d’exploits et est considéré comme plus difficile que l’OSCP.

C’est évidemment un objectif, mais pas actuel. J’ai bien d’autres projets d’apprentissage personnels à mettre en oeuvre avant de m’attaquer à cette certification :)

Aujourd’hui encore (4 mois plus tard), j’ai encore du mal à réaliser que j’ai obtenu l’OSCP. Une certification que je ne peux que recommander à tous les pentesters qui se posent la question.

Journal de bord

Je l’ai évoqué au début de l’article, vous trouverez ci-dessous mon journal de bord 2 jours avant le lab OSCP jusqu’au dernier jour de lab. Je n’ai volontairement rien filtré pour vous montrer que ce n’est pas simple (comme pourrait le laisser penser certains articles une fois la certification en poche). Vous constaterez également l’évolution des compétences en fonction de la cadence/assurance.

En espérant que ce long retour d’expériences vous aura permis d’en apprendre davantage sur cette certification.

NB : La CEH (ou autre certification papier) n’est en rien comparable à l’OSCP, vous l’avez compris, ici vous ne cochez pas un QCM.

Jour -2

Le 27 juillet, je laisse mon travail derrière moi pour un mois de “vacances” (try hard l’OSCP). En parallèle, j’ai des problèmes personnels, je commence à me démotiver, et à être un peu nerveux à propos de l’OSCP. De plus, depuis que j’ai appris que je dois réussir à ma première tentative si je veux éviter le nouvel examen surveillé ! J’ai payé l’OSCP vers le 15 juillet, donc je ne suis pas concerné par la surveillance pour ma première tentative, mais si j’échoue et que je me présente de nouveau, je devrai respecter les exigences à mettre en place pour l’examen surveillé. J’ai beaucoup d’inquiétudes au sujet de ce nouvel examen, car je ne veux vraiment pas être espionné pendant 24h et j’ai peur d’avoir des problèmes de connexion ou des problèmes matériels avec un partage d’écran + Skype ou autre.. Mon ordinateur portable est en fin de vie.

Jour -1

Le 28 juillet, je me suis réveillé de la même humeur, je dois nettoyer mon appartement et le quitter le 30 juillet au matin avant de rentrer chez ma famille, à ~700km de là. Je suis à 10 heures du début officiel de mon aventure OSCP. J’ai encore beaucoup de de choses à nettoyer dans l’appartement, ensuite je réécrirai mes scripts de scan réseau pour être efficace. Je prévois déjà de ne pas faire les exercices puisqu’il n’y a que 5 points et j’aurai environ 25 jours d’entraînement en OSCP avant de tenter ma chance ! Oui, je ne prendrai pas les 30 jours avant de tenter l’OSCP parce que je dois quitter la maison de ma famille plus tôt que je ne peux. Mon prochain appartement m’attend à 800kms de chez eux.. Et comme je ne veux pas faire l’OSCP sur une connexion que je n’ai jamais utilisée, etc. Je ferai de mon mieux dans 25 jours pour réussir à l’OSCP sur la connexion de ma famille ! J’essaie de me motiver tant bien que mal de nombreuses façons => sucre, sport, musique, le mental doit être de mon côté. Je ne sais pas combien il y a de machines sur les réseaux de l’OSCP, je pense entre 50 et 90 d’après les nombreux retours d’expériences que j’ai pu lire.. Je veux toutes les root ! Je dois root entre 5025 = 2 machines/jour et 9025 = 3,6 machines/jour dans le pire des cas.

Jour 1

29 juillet, il est 2h du matin, mon aventure OSCP commence ! Téléchargeons d’abord le matériel de cours ! Je n’ai pas fini de me préparer à l’OSCP (scripts en cours d’écriture et la configuration de ma machine n’est pas terminée), je termine en téléchargeant les vidéos (ce qui me prend environ 2h30). Les scripts sont terminés, encore 80 minutes de téléchargement, j’ai regardé le forum de l’OSCP qui semble contenir beaucoup d’indices.. ._. J’espère que je n’en aurai pas besoin ! Il y a une plateforme pour casser les hashes LM. Il est dit que si vous ne pouvez pas casser un hash en utilisant le pot et les listes de mots intégrées dans kali, alors ce n’est probablement pas la bonne méthode. Je vais m’endormir pour économiser ce temps inutilisé avant de commencer les vidéos. Il est midi, je commence, je passe en revue les vidéos et je saute celles que je suis certains de déjà bien connaître. Pendant que les vidéos sont en cours de lecture, j’accède au lab pour y effectuer une reconnaissance de base avec mes scripts réseaux. 20h, j’en ai fini avec les vidéos et la plupart de mon organisation, j’ai effectué de nombreuses analyses du réseau, et je vais continuer jusqu’à ce que j’en ai fini avec toutes les machines du réseau public ! Je ne veux rien rater. Pendant que les scans du réseau sont en cours, je vais essayer d’attaquer ma première cible ! Il est 1h du matin, j’ai travaillé sur 3 machines, je n’ai pu avoir accès à aucune d’entre-elles. Je suis définitivement en retard sur mon objectif s’il y a 90 machines, je dois être plus efficace. L’OSCP est vraiment difficile. Je ne suis pas encore sûr de m’habituer à la logique. J’espère que mon travail d’organisation paiera les prochains jours. Demain, je conduirai toute la journée, donc je ne suis pas vraiment sûr de root une seule machine..

Jour 2

Le 30 juillet, je suis déjà claqué, je dois quitter mon appartement, je conduis toute la journée par un temps caniculaire. 18h je suis arrivé, 22h OSCP je suis de retour ! J’ai fini avec ma reconnaissance complète du réseau. Et en revenant sur l’une des 3 machines que j’ai déjà essayées. J’ai un reverse shell sur l’une d’entre-elles, limité mais quand même.. Mon premier OSCP Shell ! Maintenant, je dois priv esc, mais c’est l’heure de dormir !

Jour 3

31 juillet, réveil à 10h, détente en famille jusqu’à 13h. Puis OSCP jusqu’à 2h du matin. J’ai tellement galéré avec une machine Windows, je suis un peu habitué à Windows, mais j’ai eu d’énormes difficultés à priv esc. J’ai aussi appris de ce que je faisais mal, ça m’a pris 8h+ pour comprendre où je me trompais. Puis j’ai rapidement root la machine, le 1er shell root après environ 2 jours. C’était si dur que j’ai cru que je n’y arriverai pas :p Je suis tellement en retard vis-à-vis de mes objectifs.. Après avoir obtenu l’accès root, j’ai récupéré toutes les informations que j’ai pu, et ai trouvé des choses intéressantes, je suppose que j’en aurai besoin plus tard.. J’ai aussi découvert que la machine que j’ai root était dupliquée, donc 42 machines sur 44 restantes dans le 1er réseau. Il est temps de dormir et de faire mieux le lendemain.

Jour 4

1er août, j’ai root 2 machines, jusqu’à présent ma meilleure journée, j’ai déjà passé 4 jours dans mon lab et j’ai root seulement 3 machines. En revanche, j’ai réalisé une reconnaissance complète, je fais aussi consciencieusement la post-exploitation pour récupérer autant d’informations que possible, j’espère que je vais root 3 machines par jour à partir de maintenant.. Je vois déjà de l’amélioration depuis le début de cette certification. J’apprends beaucoup de choses.

Jour 5

Le 2 août, j’ai eu 2 machines, mais j’ai été paniqué parce que ma VM avait un problème et mon dernier snapshot était il y a 3 jours…. J’ai presque pensé qu’il me faudrait refaire mes 4 dernières machines root.. Cependant, j’ai trouvé comment réparer ma kali, éditer le grub, mettre rw à la place de ro et mettre init=/bin/bash.

Puis j’ai démarré en mode récupération, redéfini mon mot de passe root parce que je n’arrivais pas à saisir mon mot de passe root de plus de 20 caractères en qwerty.. Puis comme je ne pouvais pas réparer mes paquets endommagés (le dernier apt-get upgrade a probablement scellé mon sort), et comme en récupération je ne pouvais pas copier mes fichiers dans mon dossier partagé hôte, j’ai transféré les fichiers de sauvegarde en utilisant netcat :D Quel con, mais ça se termine finalement bien ><

Jour 6

Le 3 août, j’ai littéralement passé 12/13h sur une machine Windows, j’ai réussi à obtenir un shell dessus après les 8 premières heures, mais je n’ai pas pu trouver de solution pour priv esc, je suppose qu’il me manque le mot de passe de l’admin d’une autre machine pour laquelle je n’ai pas trouvé encore un moyen de la root. Choux blancs, pas de root :(

Jour 7

Le 4 août, j’ai passé 3 heures à essayer de root la machine d’hier.. Mais je n’ai pas réussi, alors je suis allé vers une autre machine, root en 1h30, puis une autre, root en 4h30. 6h plus tard j’ai un autre root :) Plutôt cool, je suis maintenant avec 8 machines root en 6 jours.

Jour 8

5 août, seulement 1 machine aujourd’hui, mais je suis plutôt content, car j’ai vu beaucoup de gens se battre pendant 1-2 semaines contre elle ! Les choses que j’ai apprises depuis le début m’ont beaucoup aider à l’obtenir rapidement :) Puis je suis allé sur une autre machine.. Je n’avais pas réalisé à ce moment-là, que j’allais tant souffrir… La première machine à pwn que je rencontre ! J’avais l’habitude de penser que ouais l’OSCP contient des pwn, mais il pourrait s’agir d’un simple débordement de tampon.. et pourtant vous imaginez qu’ils vont se servir d’un service comme ceux que vous pouvez trouver dans la VM Brainpan. Ce n’est PAS le cas. Ils vous amènent à une situation plus courante. L’idée reste la même, il s’agit de modifier un exploit pour l’adapter à votre cas et c’est un peu “simple” comparé aux défis pwn que vous pouvez retrouver dans les CTF. Cependant, quand vous n’êtes pas à l’aise avec le pwn, vous commencez à bien galérer :‘) J’ai réalisé la reconnaissance de cette machine, je connais ma cible. Mais je le ferai après un peu de repos.

Jour 9

Le 6 août, ce jour est de loin le plus concluant ! J’ai essayé de comprendre comment je pourrais root la machine de pwn. Après quelques heures, j’en avais marre, aussi un peu fatigué, j’ai dû changer d’avis, je suis revenu à une machine que j’avais quittée il y a quelques temps. J’ai réussi à la root, puis j’ai extrait les informations. Cette journée a été top, j’ai root 3 machines et j’ai pris beaucoup de temps pour faire une bonne post-exploitation une fois NT SYSTEM sous Windows, j’ai appris beaucoup de choses et je me suis préparé une cheatsheet pour le faire à nouveau mais plus vite la prochaine fois ! Actuellement, j’ai 13 root en 8 jours.

Jour 10

Le 7 août, c’est la misère, j’ai galéré toute la journée sur une machine, j’ai finalement réussi à la root en fin de journée, je suis claqué..

Jour 11

Le 8 août, je n’étais pas en forme, j’ai essayé plusieurs cibles pour chercher une proix facile, mais je n’en ai pas trouvé, alors je suis revenu sur une machine que j’avais laissée avant et j’y ai passé le reste de la journée. Pas de root aujourd’hui :(.. Dormir avec le sentiment de ne pas être assez bon.

Jour 12

Le 9 août, aujourd’hui, c’était un de mes jours les plus dingues ! J’ai d’abord réussi à root la machine d’hier et à en root une autre l’heure suivante ! Puis rapidement après avoir pris la 1ère cible qui était devant moi.. Je suis tombé sur la machine si connue.. “Pain”. J’étais là genre wow, est-ce que je suis vraiment prêt pour ça ? J’ai entendu beaucoup d’histoires à ce sujet, comme quoi c’est l’une des machines les plus dures du lab ! Néanmoins, j’ai essayé, énuméré tout ce que j’ai pu, j’ai rapidement trouvé le point d’entrée, 1h30 après le début, j’ai obtenu mon reverse shell ! \o/ La priv esc était difficile, j’ai passé 10 heures dessus ! En essayant presque tout ce que j’ai pu, je ne gâcherai pas votre plaisir quand vous commencerez éventuellement OSCP mais je dois dire que c’était à la fois douloureux et extrêmement satisfaisant ! Je me sentais comme un de ces gars de SPARTE ! 8)

this is sparta!

Jour 13

10 août, bilan après 12 jours de lab. J’ai un accès sur un autre réseau, j’ai le contrôle de l’AD, et j’ai survécu à “Pain”, j’ai root un total de 16 machines. A la fin de la journée, j’avais 19 machines root :) J’ai calculé que je peux presque finir le lab si je touche 3 box/jour d’ici là.. #ChallengeAccepted

Jour 14

Le 11 août, premier jour pour faire face à mon nouvel objectif, j’ai root une machine dans les premières heures et puis.. J’en ai commencé une nouvelle :‘) Quand j’ai eu le reverse shell dessus 2 heures plus tard, j’ai compris que c’était “Gh0st” ! À ce moment-là, je savais qu’il serait probablement compliqué de s’en débarrasser rapidement. 10 heures plus tard j’ai mis mon shell root dessus \o/ Je n’ai pas eu le temps de réussir une troisième box aujourd’hui, j’ai échoué mais c’est en quelque sorte une bonne journée avec Gh0st à terre !

Jour 15

Le 12 août, c’était une très bonne journée, j’ai voulu récupérer la box manquante du dernier jour, j’ai root 2 machines en moins de 3 heures, mais je lutte contre un OS particulier qui rend les reverse shell stable avec un tty très complexe.. Je suis à 15 jours de la fin, j’ai 23 root.

Jour 16

Le 13 août, après quelques heures, j’arrive enfin à mettre fin à cette machine douloureuse. J’ai ensuite root rapidement 2 boxes, en 6 heures j’ai eu 3 root :) Le reste de la journée ? A galérer contre une seule machine, j’ai exploré tant de temps une fausse piste.

Jour 17

Le 14 août, il m’aura fallu 4 heures de plus pour comprendre et root la machine d’hier.. Passons enfin à autre chose. Je suis maintenant face à la machine “Humble”, il est 5 heures du matin, quand j’ai découvert ce que j’étais censé exploiter j’étais genre… wut ? N’est-ce pas un piège ? Non, je suis sur la bonne voie ! 9h, je suis allé me coucher, de retour à 14h jusqu’à 5h le lendemain matin.. Je n’ai toujours pas pu avoir le reverse shell.

Jour 18

Le 15 août, toujours en galère avec Humble, j’ai essayé une autre machine que j’avais laissée dans mes premiers jours, j’ai réussi à la root assez rapidement. J’ai également obtenu le root sur “fc4” !

Jour 19

Le 16 août, retour sur Humble et retour à la galère.. Tout est devenu clair dans mon esprit soudainement, c’était si évident, je ne sais pas pourquoi j’ai lutté autant.. Après 30h j’ai eu mon reverse shell sur Humble, 2h plus tard j’ai réussi à la root ! Wow :) J’ai pain/gh0st/humble/fc4, maintenant je vais m’attaquer à la “sufference” manquante que j’ai laissée derrière-moi ! Ensuite, je me concentrerai sur l’obtention d’un accès au réseau d’administration ! Le reste de la journée j’étais on fire ! J’ai réussi à root 4 machines. 18 jours se sont déjà écoulés et j’ai 34 machines !

Jour 20

Le 17 août, j’ai commencé ma journée en essayant de root sufferance car c’est la seule du big 5 qu’il me manque. Mais bon, c’était l’enfer là-dedans, après environ 7h, j’avais l’impression de n’avancer nul part. Alors je me suis retiré, et suis passé à autre chose.. Le réseau public commence à prendre trop de temps, alors j’ai décidé d’entrer dans le réseau Admin ! Ma première cible était alors le réseau IT ! J’ai passé le reste de la journée à me battre avec de nouveaux problèmes.. Des problèmes réseaux ! Ouais, une fois que vous commencez à aller sur un autre réseau, dites bonjour à proxychains et aux longs scans :) J’ai découvert sshuttles, c’était tellement cool ! Si vous ne connaissez pas cet outil, VOUS DEVEZ LE TESTER. Il s’agit de mettre en place un tunnel VPN entre vous et votre cible en utilisant une machine intermédiaire.. C’est sacrément plus rapide ! Le seul prérequis est que votre machine intermédiaire a besoin de python 2.3 et d’avoir python dans son chemin ou que vous soyez en mesure de spécifier le chemin ! Donc ça ne marchera pas à chaque fois mais c’est une bonne chose :) Je me suis bien fatigué sur la compromission d’une machine sur le réseau IT, je me suis couché sans root aujourd’hui, c’était tellement frustrant, ça faisait un moment que je n’avais pas pris un mur comme ça. Si j’ai un conseil à vous donner, ne présumez rien, testez-le, K.I.S.S. Toujours 34 root, il reste 10 jours. J’ai déduit ce nombre compte tenu de l’organisation du forum, j’ai l’impression de voir 63 machines référencées. Il peut y avoir des machines secrètes, mais vous avez une idée du nombre de cibles ! Il m’en manque au moins 29 en 10 jours. 3 par jour.. Défi accepté, c’est parti !

Jour 21

Le 18 août, en investiguant sur le réseau IT, j’ai remarqué que plusieurs machines avaient une interface sur le réseau public ! Ma première supposition d’avoir 63 machines à compromettre diminue donc ! Mais pour garder les choses simples et pour éviter de recompter dès maintenant le nombre réel de machines différentes, je vais simplement augmenter mon nombre de machines root. Comme certaines cibles cachées peuvent subsister et que je ne suis pas sûr de ne pas m’être trompé lors du compte, j’augmente donc le nombre de root. 34 machines en tant que root => 37 root. Je me concentrerai ensuite sur les cibles IT restantes ! Le reste de la journée, je me suis battu avec les contraintes du réseau, je devais réfléchir davantage à comment déclencher, transmettre, recevoir mes exploits en pivoting.. Une machine particulièrement horrible pour le pivoting en utilisant MSF est “Niky”.. Pas de root aujourd’hui..

Jour 22

Le 19 août, j’ai rencontré une machine administrative.. J’ai un Webshell dessus, c’était presque trop beau, j’ai découvert que je n’étais pas capable de faire plus que ça dans l’état actuel.. Je me suis donc dirigé vers d’autres machines, scannant encore et encore ce nouveau réseau.. J’y ai passé la journée. Ça fait 2 jours que je n’ai pas de root, ça commence à être frustrant… J’ai décidé d’apprendre à faire du pwn, à développer des exploits (je n’ai pas l’habitude de pwn, donc oui, ce n’est pas une partie amusante).. Après cela je parviens à root 2 machines, 39 root/8 jours à partir de la fin.

Jour 23

Le 20 août, je commence mes 8 derniers jours. J’ai travaillé toute la journée sur Niky, c’était la folie de configurer tout le routage pour que ça fonctionne ! Finalement, j’y suis parvenu et j’ai root Niky peu de temps après ! 40 root \o/ C’est la première machine que j’ai rencontrée qui a un pas dans le réseau dév, mais je ne peux pas encore le déverrouiller ni le scanner facilement à travers Niky. D’ailleurs, Niky fait aussi partie du réseau de dév et a été compté comme +1, donc doit être considéré comme une autre racine => 41. 22 machines manquantes pour 7 jours.

Jour 27

24 août, Ok du 21 au 24 août, j’ai totalement laissé ce journal de côté.. Je n’étais pas de bonne humeur, problèmes personnels.. Je n’ai pas travaillé du tout un de ces jours aussi. Je ne sais donc pas exactement ce que j’ai fait ces jours-ci, mais l’essentiel est que je suis dans le réseau d’administration maintenant ! J’ai compromis 2 machines d’administration sur 4, j’en ai découvert une cachée et c’est tout. Je vais compter exactement combien de machines j’ai root, je veux dire le nombre réel, pas avec une double interface.

Public :

  • 44 machines découvertes ;

  • 1 d’entre elles n’est pas destinée à être vulnérable, c’est le pare-feu qui se connecte aux autres réseaux ;

  • 3 sont dupliquées puisqu’elles sont populaires ;

  • Résultat => 40 machines, différentes, destinées à être compromises ;

  • Root 34 sur les 40 ;

  • Reste 6 machines (Sufferance incluse, la dernière du Big 5 => Humble, Pain, Sufferance, Gh0st, FC4).

IT :

  • 11 machines découvertes ;

  • 1 d’entre elles n’est pas destinée à être vulnérable, le pare-feu à nouveau ;

  • 5 machines ont une interface reliée au réseau public, qui ont déjà été root dans le réseau public ;

  • Résultat => 5 machines, différentes, destinées à être compromises ;

  • Root 2 sur les 5, l’une des pistes restantes mène au réseau d’administration (j’y ai accédé, mais le rôle de la machine est vraiment bizarre et je n’ai aucun point de départ pour la compromettre) ;

  • Reste 3 sur 5.

Dev :

  • Pas encore découvert, je ne peux donc rien en dire.

Admin :

  • 5 machines découvertes ;

  • Je ne sais pas si l’une d’entre elles n’est pas destinée à être vulnérable, officiellement il y a 4 machines, en fait j’en ai trouvé une autre, mais comme je ne suis pas sûr de son rôle, j’en parle ;

  • Résultat => 5 machines, différentes, destinées à être compromises ;

  • Root 2 sur les 5, et un user shell sur l’une, je dois toujours priv esc (difficile) ;

  • Reste 3 sur 5.

Total :

  • 60 machines découvertes ;

  • 2 machines ne sont pas destinées à être vulnérables ;

  • 8 sont ou sont considérées comme dupliquées ;

  • En conséquence => 50 machines, différentes, destinées à être compromises dans les réseaux Public/IT/Admin ;

  • Root 40 sur 50 ;

  • Reste 10 machines dans Public/IT/Admin ;

  • Il reste encore à découvrir le réseau Dev sur l’une de ces machines ;

  • 4 jours restants, pour être exact, 91 heures 20 minutes.

Quelques pensées :

Même s’il y a des doublons ou des machines qui ne sont pas destinées à être vulnérables, vous pouvez toujours essayer de le faire, j’ai passé plus de 15 heures sur des machines que je pensais que destinées à être compromises ! Puis, j’ai lu les “règles”, et j’ai compris que je n’étais pas censé les compromettre.. Les machines déclarées comme dupliquées consommeront une partie de votre temps, vous devez d’abord vous rendre compte que vous les avez déjà compromises et qu’elles sont dupliquées.. Donc, vous allez éventuellement utiliser quelques scans réseau, et plusieurs approches avant de le réaliser, gardez à l’esprit qu’ils sont des consommateurs de temps ! Vous pouvez toujours essayer de compromettre les machines d’une manière différente, mais mon conseil est de passer aux suivantes que vous n’avez pas encore compromises. Vous avez encore beaucoup de choses à découvrir !

Vous n’avez également aucune idée d’où vous allez trouver la clé d’un autre réseau ! J’ai obtenu 5 fois un accès au réseau IT, 1 fois à l’admin (l’unique moyen je pense), alors que je n’ai toujours aucune piste sur le dev !

La post-exploitation demande beaucoup de temps pour être bien faite, j’ai vu de nombreuses personnes dans les discussions du forum qui se plaignaient d’avoir compromis des machines XX mais ne pouvaient pas obtenir en particulier des machines qui sont dépendantes d’autres qu’ils ont compromises… Mais à partir de ce moment-là, vous ne savez pas où vous avez manqué les informations, allez-vous perdre votre temps à refaire la post-exploitation partout ? Non bien sûr que non, vous demandez de l’aide dans les forums ;) Alors faites votre post-exploitation correctement, prenez le temps, c’est vraiment important et cela vous ouvrira les portes de nombreuses machines. Mon temps moyen passé en post-exploitation est de 1h30/2h, j’avais passé 10 heures sur l’une d’elles, c’était une de mes premières, et c’était une machine critique.. J’en ai appris des tonnes, c’est aussi la raison pour laquelle je peux faire la post-exploitation plus rapidement maintenant tout en étant confiant de bien la faire..

J’ai entendu dire que le pwn est un simple un buffer overflow, easy as f**k. Je ne suis pas le gars qui est confiant à ce sujet. De plus, même si parfois c’est juste ça, vous découvrirez que la complexité se situe dans le contexte, et vous devrez tout de même vous battre pour l’obtenir. C’est une question de méthodologie, d’efforts, de patience, d’efforts. En d’autres termes, méthodologie, énumérer, énumérer, énumérer à nouveau, penser à un plan, non ça ne marchera pas, non, non, non, non, non, non, non, 0x90909090, énumérer, 0x90909090, reposer, énumérer, énumérer, gagner.

Je suis 26 jours après le début, je sais que je suis bien meilleur qu’il y a 26 jours, mais je ne sais toujours pas si je pourrais me rendre à l’examen (6 octobre à 3h du matin), mais je vais try hard encore plus que d’habitude, et oui faites-moi confiance, je connais la signification de ces mots !

Jour 28

Le 25 août, 4 root depuis hier, trouvé quelques modifications, mais j’ai aussi découvert le réseau DEV ! Donc maintenant une petite mise à jour des comptes :

Public :

  • 44 machines découvertes ;

  • 1 d’entre elles n’est pas destinée à être vulnérable, c’est le pare-feu qui se connecte aux autres réseaux ;

  • 3 sont dupliquées puisqu’elles sont populaires ;

  • Résultat => 40 machines, différentes, destinées à être compromises ;

  • Root 36 sur les 40 ;

  • Reste 4 machines (Sufferance incluse, la dernière du Big 5 => Humble, Pain, Sufferance, Gh0st, FC4).

IT :

  • 11 machines découvertes ;

  • 1 d’entre elles n’est pas destinée à être vulnérable, le pare-feu à nouveau ;

  • 5 machines ont une interface reliée au réseau public, elles ont déjà été root dans le réseau public ;

  • Résultat => 5 machines, différentes, destinées à être compromises ;

  • Root 2 sur les 5, l’une des pistes restantes mène au réseau d’administration (j’y ai accédé, mais le rôle de la machine est vraiment bizarre et je n’ai aucun point de départ pour le compromettre) ;

  • Reste 3 sur 5.

Dev :

  • 7 machines découvertes ;

  • 1 d’entre elles n’est pas destinée à être vulnérable, encore une fois, le pare-feu ;

  • 1 machine a un lien vers le réseau IT (que j’ai compromis en tout cas..) ;

  • Résultat => 5 machines, différentes, destinées à être compromises ;

  • Root 1 sur 5 ;

  • Reste 4 sur 5.

Admin :

  • 5 machines découvertes ;

  • Officiellement il y a 4 machines, en fait j’en ai trouvé une autre, mais comme je ne suis pas sûr de son rôle, je n’en parle pas, elle ne montre aucun port ouvert malgré tous mes efforts, référencée comme serveur DNS sur les 4 machines ;

  • En conséquence => Je vais supposer qu’il y a 4 machines, différentes, destinées à être compromises ;

  • Root 3 sur 4 ;

  • Reste 1 sur 4.

Total :

  • 67 machines découvertes ;

  • 4 machines ne sont pas destinées à être vulnérables ;

  • 9 sont ou sont considérées comme dupliquées ;

  • En conséquence => 54 machines, différentes, destinées à être compromises dans les réseaux Public/Dev/IT/Admin ;

  • Root 42 sur les 54 ;

  • Reste 12 machines dans Public/Dev/IT/Admin ;

  • 2 jours restants.

Jour 29

26 août, aujourd’hui, j’ai presque compromis une machine qui n’était pas censée l’être.. mais la principale réalisation de la journée est que j’ai fini Jack et cela signifie que j’ai compromis tout le réseau d’administration !

Jour 30

27 août, c’est mon dernier jour, j’ai débloqué tous les réseaux, terminé celui de l’Admin, obtenu Humble, Pain, Gh0st, FC4.. Mais il me manque encore Sufferance.. Je vais faire de mon mieux sur ce coup-là pour l’obtenir :)

Sufferance ne tombe toujours pas.. 1h30 avant la fin, je suis en train de bruteforcer pour entrer, je pense vraiment que c’est le bon moyen, mais je ne sais pas si je parie sur le bon cheval.. Je n’aurai pas le temps de réessayer, cette solution me semble la plus légitime.. Nous allons donc voir, si j’obtiens un accès j’aurai alors besoin d’obtenir le root très rapidement ! Malheureusement, je n’ai pas réussi à entrer, j’ai dû parier sur le mauvais cheval !

Je salue le courage des survivants !

J’ai également eu l’occasion de réaliser un talk sur l’OSCP :)

OSCP - Say goodbye to everyone you've ever met

Vous pouvez retrouver les slides ici :

PDF

Ressources et outils intéressants pour l'OSCP