V1s3r1on

OSCP/OSWE/Penetration tester/Hobbyist/CTF speler

My OSWE journey

Tijdens mijn stage periode had ik de mogelijkheid om mijn OSWE [Offensive Security Web Expert] te kunnen behalen, het bedrijf [Rootsec B.V.] sponsorde mijn certificaat. In dit artikel wil ik mijn weg gaan vertellen die ik heb gevolgd wat uiteindelijk resulteerde in het behalen van mijn OSWE certificaat.

Het begin

Week 1: The Black Dog Project

Voordat ik begon met mijn OSWE weg had ik geen ervaring in het analyseren van bron code van een applicatie om vervolgens vanuit deze informatie een kwetsbaarheid te kunnen vinden, dit was allemaal nieuw voor mij.

Ik kreeg het materiaal binnen en begon eigenlijk met het lezen van de handleiding en het uitvoeren van de oefeningen die daarbij inbegrepen waren, ik heb de handleiding ongeveer een stuk of 6-7 keer gelezen waarvan ik telkens op een andere manier naar de inhoud keek. De eerste keer heeft mij ongeveer een maand geduurd om het te lezen, bij de eerste keer deed ik alleen de reguliere oefeningen. Toen ik begon met het opnieuw lezen van de OSWE handleiding ben ik mezelf gaan richten op de extra mile oefeningen. De extra miles zijn extra oefeningen die uitdagender zijn dan de reguliere oefeningen en dus ook meer tijd in beslag nam.

De extra mile oefeningen hebben mij zeker wel de extra kop pijn bezorgd dan ik eigenlijk wou, sommige zijn erg lastig en vragen een andere kijk op de oefening en om ook meer research te doen met behulp van het internet.

Als je denkt dat je SQL injecties onder de knie hebt dan is dat nu dus niet meer het geval, ik heb tijdens mijn weg nieuwe manieren geleerd van een SQL injectie en hoe deze van makkelijk naar ingewikkeld kan gaan in een korte tijd. Naast SQL injecties heb ik ook het concept serialization en deserialization leren kennen. Het heeft mij enkele weken gekost om dit onderwerp te begrijpen, ik had er zelf nog nooit van gehoord voordat ik begon aan mijn weg. Inmiddels kan ik het onderwerp wel dromen maar dat komt vooral omdat ik elke ochtend voordat ik naar stage ging of aan de slag ging videos op youtube keek over serialization. Er is een speciale OSWE prep video lijst op youtube waar ik elke dag dan 1 video van keek voordat ik naar werk moest of iets anders moest doen. Onderaan mijn blog is de youtube lijst te vinden.

Nadat ik de handleiding voor de tweede maal had uitgelezen ben ik elke dag minimaal 2 uur vanaf het begin nogmaals tot het eind gaan lezen, waarbij ik nogmaals de reguliere oefeningen deed. Naast de handleiding begon ik ook langzamerhand met het spelen van capture the flag wedstrijden en voornamelijk de web challenges, dankzij 1 van de challenges heb ik ook PHP deserialization geleerd en hoe PHP dit precies aan pakt. Daarnaast nog een aantal andere handige technieken die van pas konden komen tijdens het examen.

Capture the flag - GIF on Imgur

Naast het doen van capture the flags begon ik ook samen met een vriend van mij aan CVE hunting, hierbij pakte wij een open source applicatie en gingen wij deze analyseren voor kwetsbaarheden. Door dit te doen moest ik dezelfde technieken toepassen die ik heb geleerd tijdens het lezen en oefenen van de OSWE handleiding. CVE hunting heeft mij zeker erg geholpen in het voorbereiden voor het examen, en misschien binnenkort zelfs een CVE op mijn naam.

Daarnaast heb ik ook een aantal boeken gelezen als voorbereiding op het examen, hieronder samengevat welke boeken dat precies zijn:

  • The web app hackers handbook 2
  • OWASP code review
  • SQL injection attack and defense

Vooral hoofdstuk 19 van the web app hackers handbook 2 is erg nuttig, dit gaat namelijk dieper in op het analyseren van code. OWASP code review is een interessant boek wat diep in gaat op verschillende aspecten van het analyseren van code, zeker een boek om aan te raden. SQL injection attack and defense is een boek dat dieper in gaat op het injecteren van sql.

Daarnaast heb ik ook een aantal oefen machines opgezet om vervolgens hiermee te kunnen experimenteren en oefenen. 1 van deze machines was te vinden op (https://github.com/ScaleSec/vulnado), het is een java applicatie met een aantal kwetsbaarheden. Het zeker een goede oefening om hier naar te kijken voor het examen. Het is een java applicatie met daarachter een PostgreSQL database, precies zoals in de handleiding ook word gedemonstreerd.

De laatste week voor het examen heb ik nogmaals de handleiding doorgenomen, nog paar keer geoefend met CVE hunting met een vriend van mij. En elke dag minimaal 2 uur een boek gelezen, een boek uit de lijst die ik eerder heb benoemd. Een week later (Woensdag 24-06-2020) was het dan zover en begon mijn examen om 12:00.

De bronafbeelding bekijken

Het examen

Zoals bekend is duurt het examen 72 uur waarvan 48 uur hacken en 24 uur het maken van een rapport.

Dag 1

Op de eerste dag richten ik mij op een enkele machine om zover mogelijk proberen te komen, na 2 uur had ik de manier gevonden om mogelijk binnen te kunnen komen. Echter was de manier erg lastig en het heeft mij uiteindelijk de hele dag gekost om het werkend te krijgen. Wel met veel vloeken en schreeuwen was het gelukt. Maar zoals eerder vermeld had ik dus 0 punten na de eerste dag, en ik begon mij al af te vragen hoe ik dit ooit ga redden om genoeg punten te verzamelen/

Oh No GIFs | Tenor

Dag 2

Ik ben op dag 1 van 12:00 tot en met 02:00 in de nacht door gegaan waarna ik even ben gaan slapen tot 06:00. De tweede dag begon al wat beter doordat ik al vrij snel de eerste machine te pakken had en eindelijk punten had gekregen, de eerste paar punten waren eindelijk binnen. Nu het tweede gedeelte van de machine, dit was echter vrij snel gedaan waarna ik mezelf kon gaan richten op de tweede machine om nog te proberen om de volle 100 punten te kunnen bemachtigen.

Het was ongeveer 14:00 in de middag en ik ging even een korte pauze houden om wat te eten en mijn energie levels omhoog te laten gaan zodat ik er weer tegen aan kon. Dit heeft gewerkt want na drie uur verder te hebben gehackt was ik ook binnen op de tweede machine en moest ik alleen nog de remote code execution gedeelte nog doen.

Het was 17:00 in de middag en ik had nog maar tot en met de volgende dag 11:45, mijn zenuwen begonnen al langzaam om te lopen. Rond 19:00 had ik ook het laatste gedeelte van de remote code execution af en had ik de 100 punten!!!!!!!

Omg GIFs - Get the best GIF on GIPHY

Nu moest ik alleen nog maar 1 ding doen en dat was alle stappen omzetten naar een programmeer taal zodat het automatisch uitgevoerd kon worden. Ik ben zelf geen programmeur en dit was het gedeelte waar ik eigenlijk niet naar uit zat te kijken, het is me uiteindelijk wel gelukt want rond 23:30 had ik mijn scripts af en deze werkten nog ook.

Dag 3

De derde dag stond ik vroeg op rond 08:00 in de ochtend, ik was de vorige avond om 01:00 gaan slapen aangezien ik 100 punten had en scripts werkten allebij. Toch wou ik vroeg op staan om nog even te controleren of alles naar behoren werkten maar gelukkig was dat het geval. Toen mijn examen tijd was afgelopen om 11:45 ben ik even pauze gaan houden en daarna begonnen met het maken van een rapport.

Het rapport had ik om 16:30 af en toen even alles nog controleren en rond 19:00 opgestuurd via de mail en het wachten kon beginnen.

Pin on xyz

Resultaat

Twee dagen later (zondag 28-06-2020) werd ik wakker en ging ik mijn mail bekijken en ja hoor, het stond daar. Het beste wat je kan hebben op een zondag ochtend, gewoon even met jouw slaperige hoofd lezen dat je GESLAAGD bent!!!!!!

Nou mijn weekend kon dus niet meer stuk!!!

I passed the exam!! by LoveEmerald on DeviantArt

Samenvatting

Ik heb erg genoten van mijn leerweg en het oefenen voor het OSWE examen en raad het examen zeker aan. Voor de mensen die erg geintresseerd zijn in het leren begrijpen van code om de code vervolgens te kunnen analyseren om daarna voor kwetsbaarheden te kunnen zoeken is dit zeker een top curses en een aanrader.

Daarnaast voor een penetratie tester is het zeer handig om deze kennis met je mee te nemen want het komt vaak voor dat er een source code analyse uitgevoerd dient te worden en het is natuurlijk gewoon leuk om op zoek te gaan naar CVE’s.

Ik wil ook graag Rootsec B.V. bedanken voor de mogelijkheid en de kans om het OSWE examen te mogen volgen en uitvoeren. Zonder hun was het mij niet gelukt.

Daarnaast heb ik ook een OSWE cheat sheet gemaakt tijdens mijn weg naar het examen, deze cheat sheet kan ook gevonden worden op deze blog site.

Bronnen

Please share and spread
Previous Article
Next Article
NederlandsEnglish