Passer l'OSCE: défi accepté





Comment répondriez-vous à une telle proposition? Il y a un sujet que la plupart des spécialistes de la sécurité de l'information contournent, appelé «exploitation binaire». Tout d'abord, vous devez résoudre la tâche de test: inversez simplement le code d'assemblage et générez une clé. Ensuite, il faut réaliser 8 modules de travaux de laboratoire sur le stand des années 2000 en 60 jours. Ensuite, vous pouvez vous préparer à l'aide du livre, mais cela vous aidera à comprendre le sujet de seulement 20%. Ensuite, il y aura un examen épuisant de quatre tâches pendant 48 heures, et immédiatement après, vous aurez 24 heures pour préparer un rapport en anglais. Et tout ce plaisir coûte 1800 $.



J'ai dit: "Donnez-moi deux!"



Alors, je vous dirai ensuite comment j'ai préparé et réussi l'examen passionnant pour le certificat international dans le domaine des tests de pénétration par l'expert certifié en sécurité offensive, ou OSCE pour faire court, de la sécurité offensive .



Cette organisation dispose de plusieurs autres certifications, mais Expert suppose la confirmation des connaissances d'expert dans plusieurs domaines à la fois: attaques sur les applications web, attaques au niveau du réseau, fuzzing et développement d'exploits pour Windows x86. Malgré le fait que le cours soit souvent critiqué pour son dépassement, les bases de fonctionnement n'ont pas changé et, par conséquent, on peut apprendre beaucoup:



  1. trouver et exploiter des vulnérabilités Web, par exemple XSS ou Path Traversal, avec le développement d'un compromis complet du système d'exploitation;
  2. mener des attaques réseau GRE Sniffing, SNMP, contourner les listes d'accès à l'aide de requêtes SNMP falsifiées
  3. trouver les débordements de tampon en utilisant le fuzzing et les utiliser pour entrer dans le programme, contourner les mécanismes de protection (débordement de pile, contournement de ASLR, egghunter, mauvais caractères, etc.), et aussi contourner les mécanismes de protection statique de l'antivirus.


Quel genre de bête est l'OSCE: un exemple



Afin de ne pas surcharger l'article de termes techniques et d'abréviations, je vais donner un exemple typique. Imaginez que vous disposez d'un logiciel (logiciel) qui reçoit des données via TCP, et que vous devez opérer sur un serveur distant sur lequel ce logiciel est déployé afin de pouvoir exécuter des commandes au niveau du système d'exploitation.



Décision



  1. : , . , .
  2. () stack overflow, .
  3. payload ( ) , , EIP. , SEH.
  4. EIP . , . , , — ( ), .


Il semble qu'il ne reste plus qu'à baliser le shellcode, et tout est très simple. Mais il arrive que vous deviez d'abord contourner le mécanisme ASLR, si vous ne trouvez pas d'adresse statique en mémoire, ou s'il s'avère que le tampon en mémoire est limité par l'alphabet (caractères autorisés), vous devez alors collecter tous les caractères autorisés et construire une chaîne de commandes alternatives à partir d'eux. Et si le tampon est limité en longueur, alors vous devez trouver un autre endroit dans la mémoire du programme où vous pouvez en plus placer des données, les trouver en mémoire et faire une transition vers elles (technique egghunter) ou même écrire votre propre shellcode qui fera ce que vous voulez, dans les contraintes présentées.



Il arrive également que ces données placées en plus soient partiellement endommagées, vous devez donc évaluer les dommages et trouver comment contourner cette limitation. Par exemple, supprimez les badchars, chaînez votre shellcode et chaînez vos appels. Pour compliquer les choses, le débogueur (votre outil principal) peut ne pas allouer correctement la mémoire et afficher les données en mémoire de manière incorrecte lors du débogage - Bingo!



En fait, l'exploitation binaire et les tests de pénétration en général sont un jeu consistant à contourner un tas de restrictions, en utilisant diverses techniques et en faisant preuve d'ingéniosité. La solution à une telle tâche peut prendre de 6 heures à l'infini, donc 48 heures pour 4 tâches ne me semblent pas redondantes.



Comment j'ai réussi l'examen



J'ai réussi à passer l'OSCE au deuxième essai. Pour la première fois - c'était en juin - je ne pouvais pas me préparer correctement à l'examen en raison de la charge de travail sur les projets, mais en tant que "vrai pentester", j'ai décidé de tout faire "à la volée". En conséquence, en 48 heures, dont 10 passées à dormir, je n'ai résolu que 1,5 problème.



En septembre, j'ai pris la décision ferme de tout traiter de manière qualitative: étudier plus de sujets, y compris ceux liés à l'opération (et cela s'est avéré être un trou sans fin), faire tous les trous de laboratoire, communiquer avec d'autres experts, réfléchir aux tâches dès la première tentative de réussite à l'examen, préparer divers scripts pour automatisation.



En conséquence, la deuxième tentative a eu lieu en novembre: pendant les 12 heures de l'examen, j'ai bu 7 verres de thé, quelques pilules pour les maux de tête, j'ai eu un délicieux dîner, j'ai marché dans la cour - et les 4 tâches ont été résolues. Heureusement, ils étaient similaires à ceux que j'ai rencontrés du premier coup. Après un sommeil agréable, il a fallu encore 5 heures pour rédiger le rapport, et un jour plus tard, on m'a dit que l'examen avait été réussi et que je pouvais demander une augmentation de salaire à la direction.



Mettre à jour les règles de certification



En octobre 2020, l'Offensive Security a annoncé son intention de mettre à jour le cours de l'OSCE. Déjà, cette certification n'est pas payante et le statut de l'OSCE selon les nouvelles règles ne peut être obtenu qu'en passant trois examens:



  1. Attaques et exploitation Web avancées (AWAE)
  2. Techniques d'évasion et briser les défenses (PEN-300)
  3. Développement d'exploit en mode utilisateur Windows (WUMED) - annoncé en 2021


Il s'avère que j'ai essayé en vain et que j'ai maintenant un certificat obsolète? Mais non, l'entreprise adhère à la position «Quiconque a gagné une OSCE la conservera toujours», ce qui signifie «Quiconque a reçu une OSCE la conservera pour toujours». Probablement, de nombreuses personnes choisissent Offensive Security pour cela. Oui, c'est cher, oui, les manuels de formation sont faibles, oui, l'examen est épuisant et contient de nombreux pièges, mais après avoir réussi quelque chose au moins une fois, vous portez ce titre jusqu'à la fin de vos jours! Contrairement à un tas d'autres certifications, où tous les 2-3 ans, vous devez continuer à payer de l'argent pour les renouvellements et les nouveaux examens.



FAQ



Qu'est-ce que la certification m'a donné au final?



  • — . OSCP , .
  • «-» .
  • , , 2010- , .
  • « , ?»


?



  • : , .
  • .
  • .
  • «».


?



Notre entreprise porte une grande attention au développement des compétences techniques et non techniques de l'équipe, j'ai donc réussi à obtenir la certification aux frais de l'employeur. Sinon, j'aurais peut-être décidé de relever un tel défi uniquement pour le certificat lui-même. Pour n'acquérir que des connaissances (et économiser des finances personnelles), il serait plus sage d'étudier les documents et les blogs divulgués d'autres pentesters sur medium.com, recréer et passer le stand, et également prêter attention à d'autres cours, par exemple, SLAE .



Vais-je continuer à passer des examens de sécurité offensive?



Bien sûr, je suis généralement satisfait de l'approche Try Harder, et leurs nouveaux cours sont intéressants, et tout le reste peut survivre.



PS Merci à mes collègues et ma copine qui m'ont soutenu!



All Articles