{"id":37,"date":"2017-08-02T16:12:55","date_gmt":"2017-08-02T14:12:55","guid":{"rendered":"http:\/\/schuette.se\/?p=37"},"modified":"2017-08-02T21:15:10","modified_gmt":"2017-08-02T19:15:10","slug":"my-oscp-review","status":"publish","type":"post","link":"https:\/\/schuette.se\/de\/2017\/08\/02\/my-oscp-review\/","title":{"rendered":"Meine Zertifizierung zum OSCP"},"content":{"rendered":"<p>Ich habe es geschafft! Ich darf mich nun &#8222;<em>Offensive Security Certified Professional<\/em>&#8222;, kurz <strong>OSCP<\/strong> nennen.<\/p>\n<p>Diese Zertifizierung hat mir tats\u00e4chlich so einiges abverlangt an pers\u00f6nlichen Entbehrungen, schlaflosen N\u00e4chten und schmerzvollem Scheitern. Um so s\u00fc\u00dfer war dann das Gef\u00fchl, endlich die Zertifizierung geschafft zu haben.<\/p>\n<p>Anders als bei anderen &#8222;klassischen&#8220; Zertifizierungen, die viel Theoriewissen vermitteln und mit Multiple Choice Tests enden, liegt hier eindeutig der Schwerpunkt auf Praxiserfahrung. Das ist genau das, was ich wollte: einen Kurs, der weh tut, hinein in die Abgr\u00fcnde der Kommandozeile.<\/p>\n<p>Nach der Anmeldung bekommst Du folgendes:<\/p>\n<ul>\n<li>Ein Ebook mit dem Kursmaterial und \u00dcbungen (sehr gute Qualit\u00e4t, kaum Inkonsistenzen)<\/li>\n<li>Videomaterial mit kommentierten Screencasts (ebenfalls von hoher G\u00fcte, in ruhigem und klarem Englisch)<\/li>\n<li>Einem Laborzugang per VPN in das &#8222;Lab&#8220; von Offensive Security<\/li>\n<\/ul>\n<p>Ich habe mich zun\u00e4chst dem Ebook und dem Videomaterial gewidmet und bis auf die \u00dcbungen noch nicht an das Labor getraut. <strong>Fehler!<\/strong><br \/>\nMein Rat: so schnell wie m\u00f6glich ins Lab und versuchen, Maschinen zu hacken. Nur so bleibt man am Ball und wird in den Bann gezogen. Ich habe leider viel Zeit ins Land streichen lassen und wollte zun\u00e4chst das ganze Lehrmaterial abschlie\u00dfen. Da Beruf und Familie kaum Freizeit f\u00fcr den OSCP \u00fcber lie\u00dfen, hat dies ein paar Wochen gedauert.<\/p>\n<p>Die Lab-Zeit musste ich mehrmals erweitern. Dabei habe ich festgestellt, dass man mit jedem Erwerb einer Lab-Erweiterung einen Pr\u00fcfungsversuch erh\u00e4lt. Erweitert man jedoch, ohne eine Pr\u00fcfung zu absolvieren, so verf\u00e4llt der &#8222;alte&#8220; Pr\u00fcfungsversuch. Bei der zweiten Erweiterung dachte ich mir, ich probiere es einfach mal. Zu dem Zeitpunkt hatte ich 18 von \u00fcber 50 Maschinen gerootet.<\/p>\n<h2>Exam 1 (Stirb an einem anderen Tag)<\/h2>\n<p>Mit ordentlichem Respekt begann ich die Pr\u00fcfung an einem Montag um 11 Uhr vormittags (mitteleurop\u00e4ischer Zeit der fr\u00fcheste Pr\u00fcfungsbeginn). Die Familie war im Urlaub, mein Keller mein zu Hause f\u00fcr die n\u00e4chsten 24h.<br \/>\nWas dann folgte war ein H\u00f6llenritt!<\/p>\n<p>Aufgabe: (Root-)Shells auf 5 Rechnern erhalten (mit unterschiedlichen Punkten gewichtet)<br \/>\nZiel: 70 von 100 Punkten erreichen<\/p>\n<p>Ich begann mit einer vermeidbar leichten aber hoch gewichteten Maschine und folgte dem \u00fcblichem Schema zum Entwickeln eines BufferOverflow-Exploits. Pustekuchen!<br \/>\nObwohl ich scheinbar alles korrekt wie in den \u00dcbungen und der eigenen Vorbereitung machte, wollte der Exploit nicht funktionieren. Ich wusste, das hier war ein Must-Have und lie\u00df nicht locker. Double-, Trible-check aller Schritte, kein Erfolg.<br \/>\n2 Uhr nachts: Mein Rechner st\u00fcrzt ab. Ich fahre schweres Gesch\u00fctz auf f\u00fcr den Wiederholungsfall!<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-39\" src=\"http:\/\/schuette.se\/wp-content\/uploads\/2017\/08\/Photo-2017-08-02-13-29-18_4169-1024x768.jpg\" alt=\"\" width=\"640\" height=\"480\" srcset=\"https:\/\/schuette.se\/wp-content\/uploads\/2017\/08\/Photo-2017-08-02-13-29-18_4169-1024x768.jpg 1024w, https:\/\/schuette.se\/wp-content\/uploads\/2017\/08\/Photo-2017-08-02-13-29-18_4169-300x225.jpg 300w, https:\/\/schuette.se\/wp-content\/uploads\/2017\/08\/Photo-2017-08-02-13-29-18_4169-768x576.jpg 768w, https:\/\/schuette.se\/wp-content\/uploads\/2017\/08\/Photo-2017-08-02-13-29-18_4169-688x516.jpg 688w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>Ich beschlie\u00dfe mich schlafen zu legen und stehe immer wieder auf mit einer neuen Idee. Schlie\u00dflich gegen 7 Uhr morgens macht es <strong>klick<\/strong>! Mein Verdacht hatte sich best\u00e4tigt und die Maschine war endlich geknackt. Erst jetzt verstand ich einen kryptischen Ratschlag, den ich zuvor in einem Blog \u00fcber die Pr\u00fcfung gelesen hatte: &#8222;treffe niemals Annahmen!&#8220;<br \/>\nZu sp\u00e4t, aber danke!<\/p>\n<p>In der restlichen Zeit f\u00fchlte ich mich als Au\u00dfenseiter, der in der Nachspielzeit 0:3 zur\u00fcckliegt und trotzdem nochmal alles probiert. Ich holte nochmal alles raus und konnte eine Maschien rooten und auf einer anderen ein Low-privileged Shell erhalten. Jetzt nur noch Privilege Escalation und ich k\u00f6nnte es schaffen, auf 60 Punkte zu kommen. Mit dem 10-Punkte-Bonus, den man f\u00fcr die Einreichung der gel\u00f6sten \u00dcbungsaufgaben und eines Lab-Reports erhalten kann, h\u00e4tte ich die erforderlichen 70 Punkte erreicht!<\/p>\n<p>Wenig sp\u00e4ter: Over and Out, um 10:45 endet die Pr\u00fcfungszeit wie angek\u00fcndigt.<br \/>\nNur halb entt\u00e4uscht schreibe ich trotzdem den Bericht und reiche ihn ein. Knapp war es, n\u00e4chstes mal wird es leichter.<\/p>\n<h2>Aufrappeln<\/h2>\n<p>Eine Pr\u00fcfung nicht zu bestehen passierte mir bisher ganz selten, aber Aufgeben kommt nicht in Frage. Was f\u00fchrte zum Scheitern?<\/p>\n<ul>\n<li>Ich war nicht gut genug vorbereitet! Was beim Pentesting am meisten hilft ist Erfahrung. <strong>Es gibt keine Abk\u00fcrzungen!<\/strong> Mit gerade mal 18 gehackten Maschinen habe ich mir nicht mal die H\u00f6rner abgesto\u00dfen. Auch wenn es nicht pauschal gilt, aber die Anzahl der im Lab gehackten Maschinen ist ein guter Indikator daf\u00fcr, ob man f\u00fcr die Pr\u00fcfung bereit ist. Der Anbieter nennt hier alle ca. 30 Maschinen aus dem Student Lab bis auf die Big-Three (die drei besonders schweren Maschinen <em>Pain<\/em>, <em>Sufferance<\/em> und <em>Humble<\/em>) als ungef\u00e4hre Gr\u00f6\u00dfe.<\/li>\n<li>Schlechte Strategie. Die Kunst beim OSCP ist es, sogenannte Rabbit Holes zu vermeiden, sich also zu schnell auf eine vermeidliche L\u00fccke zu st\u00fcrzen und nicht von ihr abzulassen. Das kostet Zeit und die Erfahrung zeigt, dass Offensive Security nicht will, dass man in die Tiefe geht, sondern in die Breite. Also gilt die goldene Floskel-Regel: &#8222;<em>Enumerate, enumerate, enumerate!&#8220;<\/em> tats\u00e4chlich.<\/li>\n<li>Zu wenig Schlaf vor und w\u00e4hrend der Pr\u00fcfung. Mein Tipp: 24h vor der Pr\u00fcfung mit dem \u00dcben aufh\u00f6ren und nur auf die eigene Ausgeruhtheit konzentrieren.<\/li>\n<\/ul>\n<p>Nach ein paar Wochen Pause buchte ich erneut eine Labtime von 30 Tagen und es galt nun, soviel viel m\u00f6glich an Erfahrung zu sammeln. Ich plante zus\u00e4tzlich eine Pr\u00fcfung zur Mitte der Labtime als weitere \u00dcbung. Wenn es klappt, super. Wenn nicht, geschenkt, weiter \u00fcben.<\/p>\n<h2>Exam 2 (Der Morgen stirbt nie)<\/h2>\n<p>\u00dcberraschung! Neue Pr\u00fcfungsbedingungen! Offensive Security hat in der Zwischenzeit u.a. folgendes ge\u00e4ndert:<\/p>\n<ul>\n<li>Die Bonuspunkte f\u00fcr den Labreport schmelzen von 10 auf 5 Punkte<\/li>\n<\/ul>\n<p>Gut zu wissen. Wenn ich bedenke, wie knapp ich beim ersten Versuch gescheitert war, trotz meiner offensichtlichen Defizite, ein nachvollziehbarer Schritt von Offensive Security. Ich ben\u00f6tigte nun also auf jeden Fall einen erfolgreichen (Teil-)Hack auf 4 von 5 Maschinen.<\/p>\n<p>Auch wenn ich bei diesem Versuch ein Scheitern einkalkulierte, nahm ich ihn dennoch ernst. Innerhalb von 6 Stunden war ich ungef\u00e4hr genauso weit wie beim ersten mal und hatte noch reichlich Zeit f\u00fcr die restlichen Maschinen. Ab jetzt wurde es wieder hakelig und ich hatte es mit Maschinen mit einer Unmenge an offenen Ports zu tun, offensichtlich eine gewollte Ablenkung. Zum ersten Mal begann ich jedoch ein Big Picture des Pr\u00fcfungslabors zu erkennen und entdeckte auf einer Maschine eine potentielle L\u00fccke. Am Ende scheiterte es an der Umsetzung des Exploits und an der Zeit. An Schlaf war wieder nicht zu denken. Diese Gef\u00fchl, wenn dein Gehirn sich nachts um 3 anf\u00fchlt wie Pudding, war mir neu. Es ging tats\u00e4chlich an die Belastungsgrenze.<br \/>\nDiesmal verzichtete ich auf einen Report, da das Feedback von Offensive Security beim ersten Versuch ausblieb.<\/p>\n<h2>Zielgerade<\/h2>\n<p>Jetzt Begann es, Spa\u00df zu machen. Die Maschinen fielen. Manche taten weh und besch\u00e4ftigten mich tagelang, andere nur ein paar Stunden (ganz wenige sogar nur Minuten). Am Ende hacke ich mich in 2 weitere Netze, wende Pivot-Techniken an und traue mich sogar erfolgreich an eine der Big-Three: Pain. \u00dcber 40 Maschinen habe ich erfolgreich gehackt und f\u00fchle mich bereit.<\/p>\n<h2>Exam 3 (Goldeneye)<\/h2>\n<p>2 Wochen intensive Labtime sp\u00e4ter war ich endlich <strong><em>bereit<\/em><\/strong>.<br \/>\nAm Vorabend schaute ich noch ein paar Videos von Jan Wikholms <a href=\"https:\/\/localhost.exposed\/path-to-oscp\/\">Path to OSCP<\/a> an. Vor allem das hier hat nochmal motiviert:<\/p>\n<p><a href=\"https:\/\/localhost.exposed\/2016\/08\/13\/path-to-oscp-part-23-hope\">https:\/\/localhost.exposed\/2016\/08\/13\/path-to-oscp-part-23-hope<\/a><\/p>\n<p>Wenn man seine Freude im Moment des Triumphes in seinen Augen sieht, erinnert es an Leistungssportler, die eine Goldmedaille gewinnen und den zehrenden Trainingsaufwand belohnt wissen. Ein hinkender, mir aber sehr zusagender Vergleich.<\/p>\n<p>Diesmal begann ich die Pr\u00fcfung um 14 Uhr, weil ich hoffte, mit ruhigerem Gewissen schlafen gehen zu k\u00f6nnen, da noch gen\u00fcgend Zeit am n\u00e4chsten Tag \u00fcbrig bliebe. Was gar nicht n\u00f6tig war&#8230;<\/p>\n<p>Dieser Versuch verlief wie geschmiert:<br \/>\num 1 Uhr nachts hatte ich gen\u00fcgend Punkte erk\u00e4mpft und konnte mich endlich schlafen legen. Nachdem ich am n\u00e4chsten Morgen die notwendige Dokumentation gesammelt und gepr\u00fcft hatte, wollte ich die restlichen Maschinen auch knacken. Viel souver\u00e4ner und gelassener war dies nun nur noch Formsache. Ich konnte also die Pr\u00fcfung mit wohl 100 von 100 Punkten abschlie\u00dfen. Gegen 15 Uhr reichte ich den Report ein und traf mich mit Freunden und Familie im \u00f6rtlichen City Beach. <strong>Yes!<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"\" src=\"https:\/\/zelda.gamepedia.com\/media\/zelda.gamepedia.com\/thumb\/8\/8e\/TLoZ_Link_Holding_the_Triforce_of_Wisdom_Artwork_4.png\/241px-TLoZ_Link_Holding_the_Triforce_of_Wisdom_Artwork_4.png?version=d7d4438045b7cd6c9f9df8353db729ca\" alt=\"Link holding Triforce\" width=\"155\" height=\"386\" \/><\/p>\n<h2>Fazit<\/h2>\n<p>Der OSCP ist zweifellos eine der gr\u00f6\u00dferen Herausforderungen, der man sich als ITler in Sachen Zertifizierung stellen kann. CISSP und TISP sind dagegen Peanuts, <a href=\"https:\/\/security.sauer.ninja\/zertifizierung\/offensive-security-certified-professional-oscp\/\">wie Patrick Sauer treffend formulierte<\/a>.<br \/>\nWer bereits als Pentester Erfahrung hat, wird es deutlich leichter haben. Meine Erfahrung als jahrelanger Softwareentwickler und -architekt half hier nur bedingt, da das Scripting mit Python, Bash und Ruby selten das Problem war. Es half sicherlich am meisten beim Fixen von Exploits aus der Exploit-DB.<br \/>\nIch habe definitiv meine Admin-Skills f\u00fcr Windows und Unix\/Linux verbessert und kann nun Penetration Test durchf\u00fchren.<br \/>\nNach der Pr\u00fcfung ist vor der Pr\u00fcfung, als n\u00e4chstes k\u00f6nnte ich den OSCE angehen, der mehr auf die Entwicklung von Exploits abzielt. Mein Fokus wird aber wohl eher auf die Praxisanwendung des Erlernten abzielen und so werde ich mich zum \u00dcben auf <a href=\"http:\/\/overthewire.org\/wargames\/\">Overthewire<\/a>\u00a0austoben und auf <a href=\"https:\/\/www.hackerone.com\/\">Hackerone<\/a> an Bug Bounty Programmen versuchen. Happy Hacking!<\/p>\n<h2><\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe es geschafft! Ich darf mich nun &#8222;<em>Offensive Security Certified Professional<\/em>&#8222;, kurz <strong>OSCP<\/strong> nennen.<br \/>\nLes&#8216; Dir meinen OSCP Bericht durch!<\/p>\n","protected":false},"author":1,"featured_media":38,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-37","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-certification"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"de","enabled_languages":["en","de"],"languages":{"en":{"title":true,"content":true,"excerpt":true},"de":{"title":true,"content":true,"excerpt":true}}},"_links":{"self":[{"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":10,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":64,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/posts\/37\/revisions\/64"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/media\/38"}],"wp:attachment":[{"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/schuette.se\/de\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}