Wie würden Sie auf einen solchen Vorschlag reagieren? Es gibt ein Thema, das die meisten Cybersicherheitsspezialisten umgehen, nämlich "binäre Ausbeutung". Zuerst müssen Sie eine Testaufgabe lösen: Kehren Sie einfach den Assemblycode um und generieren Sie einen Schlüssel. Dann ist es notwendig, 8 Module der Laborarbeit am Stand der 2000er Jahre in 60 Tagen abzuschließen. Dann können Sie sich mit dem Buch vorbereiten, aber es hilft Ihnen, das Thema nur um 20 Prozent zu verstehen. Dann gibt es eine anstrengende Prüfung von vier Aufgaben für 48 Stunden, und unmittelbar danach erhalten Sie 24 Stunden Zeit, um einen Bericht auf Englisch zu erstellen. Und all dieses Vergnügen kostet 1800 Dollar.
Ich sagte: "Gib mir zwei!"
Als nächstes werde ich Ihnen erzählen, wie ich die spannende Prüfung für das internationale Zertifikat im Bereich Penetrationstests Offensive Security Certified Expert, kurz OSZE, von Offensive Security vorbereitet und bestanden habe .
Diese Organisation verfügt über mehrere andere Zertifizierungen, aber Expert geht davon aus, dass Expertenwissen in mehreren Bereichen gleichzeitig bestätigt wird: Angriffe auf Webanwendungen, Angriffe auf Netzwerkebene, Fuzzing und Entwicklung von Exploits für Windows x86. Trotz der Tatsache, dass der Kurs häufig wegen eines veralteten Ansatzes kritisiert wird, haben sich die Grundlagen des Betriebs nicht geändert, und infolgedessen kann viel gelernt werden:
- Suchen und Ausnutzen von Web-Schwachstellen, z. B. XSS oder Path Traversal, mit Entwicklung zu einem vollständigen Kompromiss des Betriebssystems;
- Netzwerkangriffe durchführen GRE Sniffing, SNMP, Zugriffslisten mit gefälschten SNMP-Anforderungen umgehen;
- Finden Sie Pufferüberläufe mithilfe von Fuzzing und verwenden Sie sie, um das Programm aufzurufen, Schutzmechanismen zu umgehen (Stapelüberlauf, Umgehung von ASLR, Eierjäger, fehlerhafte Zeichen usw.) sowie statische Antivirenschutzmechanismen zu umgehen.
Was für ein Tier ist die OSZE: ein Beispiel
Um den Artikel nicht mit Fachbegriffen und Abkürzungen zu überladen, werde ich ein typisches Beispiel geben. Stellen Sie sich vor, Sie haben Software (Software), die Daten über TCP empfängt, und Sie müssen auf einem Remote-Server arbeiten, auf dem diese Software bereitgestellt wird, um Befehle auf Betriebssystemebene ausführen zu können.
Entscheidung
- : , . , .
- () stack overflow, .
- payload ( ) , , EIP. , SEH.
- EIP . , . , , — ( ), .
Es scheint, dass nur noch der Shellcode markiert werden muss, und alles ist sehr einfach. Es kommt jedoch vor, dass Sie zuerst den ASLR-Mechanismus umgehen müssen, wenn Sie keine statische Adresse im Speicher finden können oder wenn sich herausstellt, dass der Puffer im Speicher durch das Alphabet (zulässige Zeichen) begrenzt ist, dann müssen Sie alle zulässigen Zeichen sammeln und daraus eine Kette alternativer Befehle erstellen. Und wenn der Puffer in der Länge begrenzt ist, müssen Sie eine andere Stelle im Speicher des Programms finden, an der Sie zusätzlich Daten ablegen, sie im Speicher finden und zu ihnen übergehen können (Egghunter-Technik) oder sogar Ihren eigenen Shellcode schreiben, der das tut, was Sie wollen. in den dargestellten Einschränkungen.
Es kommt auch vor, dass diese zusätzlich platzierten Daten teilweise beschädigt sind. Sie sollten daher den Schaden bewerten und herausfinden, wie Sie diese Einschränkung umgehen können. Entfernen Sie beispielsweise Badchars, verketten Sie Ihren Shellcode und verketten Sie Ihre Anrufe. Um die Sache zu verkomplizieren, weist der Debugger (Ihr Hauptwerkzeug) den Speicher möglicherweise nicht richtig zu und zeigt die Daten im Speicher während des Debuggens nicht richtig an - Bingo!
In der Tat ist die binäre Ausnutzung und Penetrationstests im Allgemeinen ein Spiel, bei dem eine Reihe von Einschränkungen umgangen, verschiedene Techniken angewendet und Einfallsreichtum angewendet werden. Die Lösung für eine solche Aufgabe kann von 6 Stunden bis unendlich dauern, sodass 48 Stunden für 4 Aufgaben für mich nicht überflüssig erscheinen.
Wie ich die Prüfung bestanden habe
Ich habe es geschafft, die OSZE beim zweiten Versuch zu bestehen. Zum ersten Mal - dies war im Juni - konnte ich mich aufgrund der Arbeitsbelastung für Projekte nicht richtig auf die Prüfung vorbereiten, aber als "echter Pentester" beschloss ich, alles "on the fly" zu machen. Infolgedessen löste ich in 48 Stunden, von denen 10 für den Schlaf aufgewendet wurden, nur 1,5 Probleme.
Im September traf ich eine willensstarke Entscheidung, alles qualitativ zu behandeln: mehr Themen zu studieren, einschließlich der betrieblichen (und dies stellte sich als endloses Loch heraus), alle Laborthemen zu erledigen, mit anderen Experten zu kommunizieren, Aufgaben beim ersten Versuch, die Prüfung zu bestehen, zu überdenken und verschiedene Skripte vorzubereiten Automatisierung.
Infolgedessen war der zweite Versuch im November: Während der 12 Stunden der Prüfung trank ich 7 Gläser Tee, ein paar Tabletten gegen Kopfschmerzen, aß ein köstliches Abendessen, machte einen Spaziergang im Hof - und alle 4 Aufgaben waren gelöst. Zum Glück ähnelten sie denen, die mir beim ersten Versuch begegneten. Nach einem angenehmen Schlaf dauerte es weitere 5 Stunden, um den Bericht zu erstellen, und einen Tag später wurde mir mitgeteilt, dass die Prüfung erfolgreich bestanden worden war und ich vom Management eine Gehaltserhöhung verlangen konnte.
Aktualisierung der Zertifizierungsregeln
Im Oktober 2020 kündigte die Offensive Security an , den OSZE-Kurs zu aktualisieren. Diese Zertifizierung kann bereits nicht bezahlt werden, und der OSZE-Status nach den neuen Regeln kann nur durch Bestehen von drei Prüfungen erreicht werden:
- Erweiterte Web-Angriffe und Ausbeutung (AWAE)
- Ausweichtechniken und Abwehrverletzungen (PEN-300)
- Windows User Mode Exploit Development (WUMED) - wird 2021 bekannt gegeben
Es stellt sich heraus, dass ich es vergeblich versucht habe und jetzt ein veraltetes Zertifikat habe? Aber nein, das Unternehmen hält an der Position „Jeder, der eine OSZE erworben hat, wird sie immer behalten“, was bedeutet: „Jeder, der eine OSZE erhalten hat, wird sie für immer behalten“. Wahrscheinlich wählen viele Leute Offensive Security dafür. Ja, es ist teuer, ja, die Trainingshandbücher sind schwach, ja, die Prüfung ist anstrengend und enthält viele Fallstricke, aber nachdem Sie mindestens einmal etwas bestanden haben, tragen Sie diesen Titel bis zum Ende Ihrer Tage! Im Gegensatz zu vielen anderen Zertifizierungen, bei denen Sie alle 2-3 Jahre weiterhin Geld für Verlängerungen und neue Prüfungen zahlen müssen.
FAQ
Was hat mir die Zertifizierung am Ende gegeben?
- — . OSCP , .
- «-» .
- , , 2010- , .
« , ?»
?
- : , .
- .
- .
- «».
?
Unser Unternehmen legt großen Wert auf die Entwicklung der Hard- und Soft Skills des Teams, daher konnte ich mich auf Kosten des Arbeitgebers zertifizieren lassen. Andernfalls hätte ich mich vielleicht nur wegen des Zertifikats selbst für eine solche Herausforderung entschieden. Um nur Wissen zu erlangen (und persönliche Finanzen zu sparen), wäre es klüger, die durchgesickerten Materialien und Blogs anderer Pentester auf medium.com zu studieren, den Stand neu zu erstellen und zu übergeben und auch anderen Kursen, beispielsweise SLAE , Aufmerksamkeit zu schenken .
Werde ich weiterhin offensive Sicherheitsprüfungen ablegen?
Natürlich bin ich im Allgemeinen mit dem härteren Ansatz zufrieden, und ihre neuen Kurse sind interessant, und alles andere kann überlebt werden.
PS Danke an meine Kollegen und meine Freundin, die mich unterstützt haben!