Comment j'ai loué OSCP



Mes collègues et moi avons suivi le cours OSCP et réussi l'examen. Dans cet article, je décrirai en détail comment l'examen réussit, quels sont les pièges et si le jeu en vaut la chandelle.

Comment tout a commencé


Mon collègue c4nil y a deux ans, il a dit que nous devions passer l'OSPC et j'ai accepté, mais comme c'est souvent le cas avec les bonnes idées, nous avons marqué le report de cette bonne idée.

Un an plus tard, notre entreprise a eu l’occasion de dispenser gratuitement des formations sur des choses utiles aux salariés (hélas, ma compréhension ne coïncide pas avec la gestion et les cours de sommelier refusent toujours de me payer). Par la glorieuse entreprise de passer OSCP tiréGolovnyaD, a déclaré que nos excuses au sujet de l'emploi sont telles et que nous devons continuer.

Et nous avons commencé.

Que savions-nous de l'OSPC


Nous savions que l'OSCP se compose en fait de 3 parties: le matériel théorique (ci-après je l'appellerai pdf), l'accès à un laboratoire avec des machines virtuelles (ci-après j'appellerai lab) et un examen.

Le début du chemin


Il s'est avéré que l'accès au laboratoire peut être acheté pour 30, 60 ou 90 jours, il en coûte 999 $, 1199 $ et 1349 $. Comme nous ne voulions pas consacrer tout notre temps libre uniquement à OSCP, et la différence entre 30 jours et 90 n'est que de 350 $), nous avons choisi l'accès pour 90 jours.

Le 9 octobre 2019, j'ai payé pour le cours, m'attendant à m'amuser pendant 3 mois, à quel point j'avais tort, je me suis amusé pendant 5 mois. Et voici pourquoi: la

première configuration: vous ne pouvez pas commencer la formation demain. Dans mon cas, la date de début la plus proche était le 20 octobre (comme on dit sur les forums, le délai moyen pour commencer après le paiement est de 2 semaines).

Puis, le 9 octobre, ils ont envoyé un package de test (Connectivity Pack) pour se connecter à un VPN. À en juger par leurs tests, je n'ai eu aucun problème avec la connexion VPN (car il s'est avéré qu'ils avaient ensuite un soi-disant test, je vous le dirai plus tard). Ensuite, ils ont envoyé un lien à leur assemblée Kali (en apparence n'est pas différent de l'habituel), qui est spécialement préparé pour le passage.

Début du cours


Formellement, le cours a commencé à 3h00 du matin le 20 octobre, mais une lettre avec le matériel du cours est arrivée à 03h09 (j'ai remarqué cette différence seulement maintenant quand j'écrivais l'article). La lettre contenant le matériel de cours contient des liens vers:

  • 380 pages pdfku
  • séquences vidéo à ce pdfk
  • Pack de connectivité VPN

Et là , nous sommes confrontés à une deuxième configuration: liens de téléchargement sont valables pendant 72 heures et si elles n'ont pas eu le temps de téléchargement, ils demander une somme supplémentaire de 100 $, après quoi ils disent soigneusement faire une sauvegarde et insérez une blague: « Rappelez - vous le dicton sage: « Il y a deux types de personnes. Ceux qui sauvegardent et ceux qui n'ont pas encore tout perdu à cause d'un crash système. »
De plus, dans tous les forums, il est recommandé de commencer le cours avec les tâches de pdfk. C'est ce que nous avons tous fait.

Tâches du PDF


Les tâches de pdfk doivent être effectuées afin d'apprendre de nouveaux outils et techniques, de se rappeler comment utiliser les outils et, éventuellement, d'obtenir 5 points supplémentaires à l'examen. Du surprenant: en pdfk il n'y a pas un mot sur Burp Suite et PowerShell Empire (aurait dû être ajouté dans la mise à jour de février).

mène son histoire à partir des bases: on nous apprend à google, à utiliser nc.exe (netcat), tcpdump et wirehark et d'autres outils qui sont plus susceptibles d'être liés à l'ingénierie des systèmes plutôt qu'à la sécurité. Ce n'est qu'à la page 113 de 380 que nous nous familiarisons avec nmap!

On nous apprend également à utiliser des outils tels que OpenVAS, qui ne peuvent pas être utilisés lors de l'examen. De plus, les exemples utilisent souvent meterpreter, ce qui est également interdit (ne peut être utilisé que sur une seule machine). En général, je ne comprenais toujours pas ce qui a provoqué cette interdiction de meterpreter au fur et à mesure, il est clair que vous pouvez interdire de l'augmenter avec, mais il serait pratique de continuer l'inverse avec plusieurs consoles.

Cela devient intéressant à partir de la page 148 où le débordement de tampon commence, et ici j'ai attrapé le problème avec la connexion VPN. En fin de compte, mon FAI tue la taille des paquets, et le VPN du laboratoire est construit en utilisant UDP et mes paquets avec débordements de tampon n'ont tout simplement pas rampé et ont disparu. La solution est simple - corrigez la configuration en ajoutant les lignes:

tun-mtu 1492
mssfix 1370

Mais il est très regrettable que de tels contrôles ne soient pas effectués par les organisateurs de l’OSPC, car sur leur forum beaucoup se plaignent. J'ai perdu 5 heures et beaucoup de nerfs à ce sujet (atteindre la solution moi-même, puis j'ai trouvé un tas de branches sur le forum à ce sujet).

Afin d'écrire des débordements de tampon et de faire toutes sortes d'expériences avec Windows, ils nous donnent une machine virtuelle à l'intérieur du laboratoire, c'est assez pratique. Pour tout le cours, je n'ai pas installé une seule machine virtuelle (une fois que j'ai essayé d'installer Windows XP SP2, mais je n'ai pas trouvé de torrent fonctionnel).

En général, les tâches pour les dépassements de tampon sont très bien écrites (pour Windows et Linux), ce serait cool de le faire par étapes, enseigné dans les universités. Le cours OSCP indique évidemment que le contournement du DEP et de l'ASLR n'est pas inclus dans le cours.

Ensuite, ils nous disent comment préparer des exploits, transférer des fichiers, parler de l'escalade de privilèges, mais avec cela, nous jouons encore assez dans le laboratoire, donc ça va.

Vient ensuite le blocage des attaques contre les utilisateurs (attaques côté client), où j'ai détecté le problème avec une machine Kali «spécialement préparée», elle avait une version plus récente de Java, et mon Java Appet ne fonctionnait pas sur la machine de test. Encore 5 heures de recherche sur Google et de résolution du problème par vous-même et, bien sûr, il y a un fil sur le forum à ce sujet)

En général, tout peut être trouvé sur le forum, c'est un endroit très utile si vous êtes coincé dans une impasse, mais je ne l'ai compris qu'à la fin du cours.

Viennent ensuite les attaques sur le Web - XSS, LFI, RFI, injection SQL et plus encore. Il est écrit clairement et bien, donnez des exemples de piquer. Ils parlent de sqlmap, qui ne peut pas non plus être utilisé dans l'examen, mais, bien sûr, il est utile de le savoir.

D'autres attaques sur les mots de passe (force brute et obtention de hachages pour Windows et Linux) sont très étendues pour moi, j'ai laissé certaines des tâches pour plus tard (et les ai déjà faites dans le laboratoire). À la fin, il y a une histoire sur le métasplit et comment l'utiliser, en détail, avec l'écriture de votre propre module. Il fournit également un exemple de piratage dans une entreprise fictive qui utilise bon nombre des techniques décrites (prend 34 pages).

En général, sur tous les fichiers PDF sur le cas de 100 pages (et il y a un grand nombre de captures d'écran). Il m'a fallu 2 semaines pour le lire et terminer les tâches (mais je n'étais pas pressé).

- , , , .


En résolvant le laboratoire, il a été décidé de ne pas utiliser Metasploit et Meterpreter, car ils ne peuvent pas être (seulement une fois possible) utilisés dans l'examen.

Laba se compose d'environ 60 machines virtuelles, toutes les machines sont divisées en 4 sous-réseaux (réseau public, réseau de développeurs, réseau de services informatiques, réseau d'administrateurs). Au départ, l'accès se fait uniquement sur le réseau public (en fait, l'accès se fait sur tous les réseaux, nous ne pouvons tout simplement pas inverser les machines à partir d'un réseau non public). En laboratoire (j'écris sur les événements avant la mise à jour de février), toutes les machines sont assez anciennes, la plus récente Windows est Windows server 2012R2 (pas mal de Windows XP), les machines Linux sont Ubuntu 14 (Ubuntu 8 a également été trouvé en laboratoire), Centos 7 (Centos 5 également rencontré )

En théorie, l'ensemble du laboratoire devrait être résolu en utilisant des vulnérabilités publiées avant 2016, mais je ne me suis pas fixé de telles restrictions.

Laba (l'accès non privilégié était activé)


En général, le laboratoire correspond bien à ce qui était indiqué dans pdfk. Pour obtenir un accès non privilégié, vous devez utiliser diverses techniques (y compris les attaques contre les clients), collecter les mots de passe des machines cassées et les réutiliser, lancer des brutes, etc. Le pire sujet est probablement l'injection SQL et l'injection aveugle - elles n'ont jamais été vues auparavant.

L'algorithme d'initialisation d'accès est allé partout comme dans la vie:

  1. Dénombrement des ports et services
  2. répertoires bruts pour le web
  3. définition de produits et de versions
  4. exploiter la recherche et la modification

Quelques machines nécessitent d'écrire vos propres exploits avec une boîte noire, mais rien de compliqué - LFI / RFI. Surtout, j'étais heureux qu'il n'y ait presque pas de voitures de la catégorie CTF, où il y a une image à l'intérieur de laquelle il y a aussi une image cachée, à l'intérieur de laquelle une archive zip est cachée, etc.

Laba (élévation de privilèges)


Pour moi, c'était la partie la plus intéressante et cela m'a pris la plupart du temps (au début).

les fenêtres


Pour les machines Windows, j'ai utilisé ces ensembles de divisions,

mais sur certaines machines Windows, toutes les vulnérabilités du «noyau» ont été spécialement corrigées et j'ai dû trouver comment me relever. Il y a des voitures pour tous les goûts, des services, des startups, des tâches planifiées, des logiciels installés. Le logiciel installé est bien sûr un gros échec, car il est évident que les voitures sont prêtes et si une seule application est installée sur le système, alors vous pouvez y grimper.

Linux


Pour Linux, bien sûr, vous pouvez toujours utiliser les vulnérabilités du noyau, la vache sale préférée de tout le monde fonctionne sur la moitié des machines, j'ai utilisé cette version , bien qu'elle se bloque sur presque toutes les machines du laboratoire, elle crée avec succès un utilisateur avec un accès ssh.

Mais presque partout où vous pouvez résoudre des vulnérabilités dans la configuration, LinEnum vous aide ici , et pour les énumérations linux-smart paresseuses

En général, cela ne vaut pas la peine d'abuser des vulnérabilités du noyau dans le laboratoire, si vous voulez vous préparer à l'examen, il est préférable d'utiliser les vulnérabilités de configuration, car toutes les machines de l'examen seront dotées de nouveaux noyaux et de mises à jour installées (au moins, je les ai).

Postexplotation en laboratoire


J'ai laissé une partie de la post-exploitation pour plus tard, mais après avoir collecté tous les mots de passe et consulté toutes les bases de données, fichiers de configuration et journaux, vous pouvez facilement accéder à de nombreuses machines (en particulier dans un réseau non public).

De nombreuses machines cassent la chaîne, il est important de comprendre cela, en particulier pour les attaques contre les clients, si la voiture s'appelle courrier, alors peut-être que quelqu'un s'y accroche en tant que client de messagerie), et si HELPDESK, alors allez ouvrir les tickets.

Les quatre grands


Il y a 4 voitures dans le laboratoire qui sont considérées comme les plus complexes et certains recommandent de les laisser à la fin, ce sont: Pain, Sufferance, Gh0st et Humble. Je connaissais leur présence depuis le tout début, mais je ne les ai pas spécifiquement fui ou je ne les ai pas recherchés. Au moment où j'ai décidé d'y retourner, deux des quatre que j'avais déjà cassés.

Mon impression d'eux:

  • La douleur est une voiture cool, compliquée à la fois pour obtenir la coque d'initialisation et pour la soulever.
  • Souffrance - une marche d'initialisation complexe, en plusieurs étapes, j'ai obtenu quelque chose de similaire à l'examen. Boost simple.
  • Gh0st - le début et l'initialisation étaient comme des machines CTF, mais l'une des plus belles améliorations de tout le laboratoire.
  • Humble - sans doute la marche d'initialisation la plus complexe du laboratoire, mais un simple coup de pouce.

En général, ce sont des voitures sympas, et je suis presque sûr que si vous les cassez dans votre laboratoire, vous passerez l'examen sans aucun problème, j'ai cassé le Humble plus longtemps que je ne l'ai fait.

Mon top inclurait:

  • Sherlock - la preuve se révèle en quelques minutes, et vous pouvez vous asseoir longtemps pour faire marche arrière.
  • la bêta est une machine très vitale, à la fois pour obtenir l'accès principal et pour les mises à niveau (bash limité).

Résultats de laboratoire


En général, le labo a fait bonne impression, j'ai cassé toutes les voitures que j'ai prises (environ 45 voitures).

En général, je me suis souvenu de beaucoup de choses qui ne sont pas souvent utilisées.

Préparation aux examens


Quelques jours avant la fin de l'accès au laboratoire, j'ai décidé qu'il était temps de m'inscrire à l'examen. Ici j'avais tort, il vaut mieux le faire à l'avance. La date la plus proche du jour de congé était seulement un mois plus tard, le 23 février (puis à 9 heures).

La conclusion et la configuration sont trois - si vous voulez passer l'examen à un moment opportun et vous inscrire à l'avance pour le week-end.

J'ai également commencé à rédiger un rapport sur le laboratoire (j'ai besoin de décrire 10 voitures, si vous voulez obtenir 5 points supplémentaires), l'exemple standard du rapport est trop intelligent, alors j'ai commencé à utiliser celui-ci. Pour une description détaillée, j'ai choisi des voitures intéressantes ou des cas où vous obtenez immédiatement la racine.

J'ai dû prendre 10 à 15 captures d'écran supplémentaires, je recommande donc d'avoir accès au laboratoire lors de la rédaction de ce rapport.

Préparation aux examens. Entraînement. Binarisme


Dans l'examen, l'un des composants consiste à écrire un exploit pour déborder le tampon, il donne 25 points, et, ne sachant pas comment le faire rapidement et bien, aller à l'examen n'a pas beaucoup de sens, cela vaut la peine d'y mettre la main.

Les bonnes personnes ont déjà mis en place un ensemble de logiciels sur lesquels pratiquer.

J'ai décidé d'environ 7 pièces, et si j'ai passé 2 heures sur la première, alors j'ai décidé la septième en 20 minutes, en fait, avec la vitesse d'écriture du code et de la saisie des commandes. Un algorithme qui ne m'a pas fait défaut:

  1. nous progressons l'automne avec les lettres A (dans l'examen, cette étape sera déjà effectuée pour nous)
  2. recherche de décalage, de manière standard via pattern_create.rb et pattern_offset.rb
  3. vérifier la longueur, changer normalement A en B au bon endroit, et après B insérer beaucoup de C pour voir la taille possible de la charge utile sans sauter dans notre tampon
  4. ( \x00, 99% )
  5. “jmp esp” ( , )
  6. ,
  7. ( 20 — \x90)

. .


Dans l'un des vraytaps de la procédure d' examen , j'ai trouvé cette image:



Cette image montre à quelles voitures sur hackthebox.eu elle ressemble à des voitures de l'examen (la voiture de brainfuck ne lui ressemble pas du tout, je recommande de ne pas la former). Pour activer les brouettes, un abonnement payant est requis (10 dollars par mois, n'oubliez pas de l'annuler tout de suite ).

J'ai passé 8 heures et j'ai choisi 10 machines, alternant entre Windows et Linux. Et il a décidé que ça me suffisait, mais, probablement, ici, comme avec le buffer overflow, il faut amener à l'automatisme. Ces voitures sont plus simples que les voitures à l'examen, du moins en termes d'augmentation des privilèges (certaines copies de voitures du laboratoire, je ne sais pas qui j'ai emprunté à qui que ce soit).

Préparation aux examens. Entraînement. Escalade de privilèges


Vous pouvez vous entraîner sur les mêmes machines avec hackthebox.eu, mais en général il suffira de lire la vraytérapie pour comprendre quelles techniques sont là, il y a des exemples de toutes les techniques que vous pourriez trouver utiles à l'examen.

Préparation aux examens. Partie organisationnelle


Pour réussir l'examen, vous aurez besoin de:

  1. passeport étranger (votre nom et prénom doivent être écrits en anglais)
  2. Webcam
  3. internet stable

C’est bien d’avoir un supplément:

  1. sauvegarde internet (j'ai utilisé le mobile)
  2. un ordinateur de rechange (j'avais un ordinateur portable de rechange à côté de moi qui était entièrement configuré pour passer un examen)
  3. Instantané de machine virtuelle avec Kali
  4. copie de VM avec Kali (j'ai mis une copie sur le disque dur, la seconde sur le disque dur externe)

Examen!


L'examen est considéré à temps plein (examen surveillé), il commence donc 15 minutes avant l'heure sélectionnée. Vous vous connectez à une plate-forme Web spéciale, fouillez vos écrans, dans un chat textuel, ils commencent à vous poser des tâches et des questions:

  1. montrer le passeport par webcam
  2. montrer que personne n'est dans la pièce
  3. donner des résultats de script de test pour la connexion

Puis j'ai eu un fichier et quand j'ai essayé de copier un nouveau pack d'utilisateur final sur une machine virtuelle avec Kali, il est tombé. J'étais prêt pour cela, j'ai fait reculer la machine virtuelle, j'ai copié le pack, je l'ai lancé et j'ai commencé à attendre 9 heures du matin.

J'ai eu accès à 9h01.

J'avais un plan d'action simple:

  1. commencer la numérotation des services
  2. faire une voiture pour débordement de tampon en 1 heure
  3. faire une voiture pour 10 points en 1 heure
  4. faire la première voiture pour 20 points en 2 heures
  5. faire une deuxième voiture pour 20 points en 2 heures
  6. faire une voiture pour 25 points en 3 heures

Comme vous pouvez le voir dans mon plan, il m'a fallu 9 heures pour réussir l'examen, mais cela ne s'est pas passé comme prévu depuis le début :) J'ai oublié de prendre en compte un facteur inhibiteur important - de noter par étapes tout ce qui a été fait avec toutes les captures d'écran du rapport.

Le résultat final que j'ai obtenu est le suivant:

  1. débordement de tampon - 2,5 heures. J'ai perdu une heure, car n'a pas remarqué quelques mauvais personnages, encore 30 minutes pour les rapports
  2. voiture en 10-30 minutes: 10 minutes de piratage, 20 minutes de captures d'écran
  3. première voiture en 20-2,5 heures: 1,5 heures de piratage, 40 minutes de captures d'écran et rapport, 20 minutes de pause
  4. deuxième voiture en 20 - 2 heures: 1,5 heures de piratage, 30 minutes de captures d'écran et rapport.
  5. voiture pendant 25 à 3,5 heures: 3 heures de piratage (avec deux pauses), 30 minutes de captures d'écran et rapport

En général, l'examen est beaucoup plus intéressant que les laboratoires, les vulnérabilités sont toutes assez récentes - 2018-2019. Les améliorations ne sont pas partout à travers les vulnérabilités du noyau.

Je me suis assis le plus longtemps, en attendant l'escalade de privilèges, tous les obus non privilégiés ont été reçus en 10-30 minutes.

L'examen a fait de nombreux faux chemins qui ne mèneront pas au succès. Si tout est facilement éliminé pour le shell d'initialisation (par exemple, un exploit pour le débordement de tampon sur Windows XP SP2, bien que le service lui-même fonctionne sur Windows 10), alors dans la mise à niveau, je suis resté coincé dans ces faux chemins plusieurs fois. L'essentiel ici est de vous dire à temps que ce vecteur mérite d'être changé et d'en choisir un nouveau.

Après 11 heures, j'ai terminé l'examen, tout cassé et je suis allé boire quelques pintes de bière (juste un couple, car le lendemain, nous devons encore rédiger un beau rapport officiel).

Rédaction et envoi d'un rapport


J'ai pris le modèle dans le même référentiel où le modèle pour les laboratoires et je l'ai rempli en 4 heures.

Ensuite, le plaisir a commencé par où l'envoyer et comment. Vous devez d'abord le crypter en utilisant 7z avec un mot de passe, le mot de passe n'est pas aléatoire et votre identifiant est dans le système (5 chiffres, il vole en 0,3 seconde sur le CPU). Ensuite, j'ai cherché pendant longtemps des informations sur l'endroit où mettre le rapport sur le laboratoire dans la même archive ou dans une autre (Réponse: vous devez mettre dans la même archive). Ensuite, je suis tombé sur le fait que le format de définition du mot de passe dans l'archive 7z, l'indicateur -p, après quoi le mot de passe doit être écrit ensemble, à savoir quelque chose comme -pPassword. En fait, toutes les étapes sont décrites dans le guide , il vous suffit de pouvoir les rechercher.

L'archive résultante doit être téléchargée sur le site, obtenir un lien et envoyer ce lien à un courrier spécial! Pourquoi de telles difficultés en 2020 sont un mystère pour moi.

Après quelques heures, vous recevrez une lettre de réponse: «Nous avons reçu votre lien, mais nous n'avons pas vérifié qu'il a une archive normale, qu'il est déchiffré et qu'il contient les données nécessaires. Et que nous communiquerons les résultats de l'examen dans un délai de 10 jours ouvrables. "

Total


Exactement une semaine après l'examen, le dimanche 1er mars, j'ai reçu une lettre joyeuse que j'avais compilé correctement les archives:



Après cela, j'ai rempli les données pour m'envoyer un certificat physique et une carte de certification OSCP.

Qui a besoin de cette certification?


J'ai obtenu la liste suivante (triée selon le sens de la réception et les exigences de ce certificat):

  1. Étudiants de 4 à 5 ans. Pour eux, c'est une pratique très cool.
  2. ceux qui ont décidé de passer à la sécurité des industries connexes. Tout est décrit à un bon niveau, beaucoup d'exemples, il y a quelque chose à apprendre.
  3. employeur. Le certificat montre qu'une personne sait quelque chose et sait faire quelque chose avec ses mains (dans nos postes vacants, nous l'indiquons comme un plus).
  4. les gens de l'industrie qui veulent rafraîchir / tester leurs connaissances
  5. pentesters expérimentés. Peut-être qu'une belle croûte leur permettra de devenir plus intéressantes pour les employeurs.

D'autres plans pour passer OSWE (Offensive Security Web Expert). Quant à moi, il est plus intéressant que l'OSCE (Offensive Security Certified Expert). Et pour ceux qui sont intéressés à lire sur les différents types de certification dans le domaine de la sécurité de l'information, nous avons écrit un article séparé .

All Articles