sock_raw
enkele maanden geleden nam ik de Offensive Security Penetration Testing with Kali Linux (PWK) cursus en slaagde voor het examen voor de OSCP certificering. De hele ervaring was zeer de moeite waard en het PWK lab maakte me echt verslaafd. Ik dacht dat het nuttig zou zijn om er een recensie over te schrijven voor infosec-professionals die deze uitdagende en veeleisende cursus willen aanpakken.
Intro
I werd geregistreerd voor de periode van 60 dagen. Ik had gehackt alle 56 machines in ongeveer 40 dagen en geslaagd voor het examen op mijn eerste poging. Dit is de zonnige kant ervan. De duistere, zij het noodzakelijke, kant was dat ik veel tijd, energie en moeite moest besteden om dit te bereiken. Het examen kan zeer uitdagend zijn, vooral omdat het heel gemakkelijk is om vast te komen te zitten en dit leidt tot frustratie en woede. Dat leidt tot lijden en potentieel opgeven. Welkom bij de duistere kant.
het is een oefening van grit en zal vooral.
Ja, je moet je shit tech-wise kennen, maar uiteindelijk komt het neer op due diligence en het hebben van een gestructureerde methodologie – dat is precies wat 90% van penetratie testen echt is (en ik durf te zeggen wetenschap in het algemeen ook). En begrijp me niet verkeerd – de andere 10% is ook zeer belangrijk – denken uit de doos en het uitzoeken van creatieve oplossingen om uw doelen te hacken is de manifestatie van hacken in zijn oorspronkelijke betekenis. Dit verwijst ook naar de Thomas Edison citaat over het feit dat “Genie is een procent inspiratie, negenennegentig procent transpiratie.”Inderdaad, vast te houden aan een rigoureuze methodologie van tests die moeten worden uitgevoerd en gedocumenteerd is wat de meeste impact zal maken. Ik ben er vrij zeker van dat iedereen die in het leger heeft gediend het met mij eens zou zijn. Vergeet niet dat het vaak de eenvoudige, laaghangende vrucht is, over het hoofd gezien omdat ze als te triviaal worden beschouwd, die het verschil kan maken tussen een doodlopende en een volledig systeemcompromis. Echter, het creëren van het handhaven en efficiënt uitvoeren van die master checklist van tests is het moeilijke deel dat wordt geleverd met ervaring, het houden van up-to-date met nieuwe technieken en onderzoek in de industrie, evenals het automatiseren van alles wat moet worden geautomatiseerd.
voordat ik verder dwaal, laten we teruggaan naar het bespreken van de PWK cursus.
motivatie
OSCP is een van de meest gerespecteerde certificeringen in de informatiebeveiligingsindustrie en terecht: zowel de cursus als het examen zijn stuitend hands-on. Geen meerkeuzevragen-dit is het echte werk: hack uw doelen in een virtueel lab netwerk en doe dan hetzelfde in een intensieve 24-uurs examen om te bewijzen dat je hebt geleerd van de fundamentele technieken van een penetratie tester. Dit op zich moet meer dan genoeg motivatie voor elke infosec professional – zelfs als je jarenlange ervaring in het veld kan het nog steeds leuk en je kunt altijd nieuwe dingen te leren langs het proces.
wat mij ook persoonlijk motiveerde tijdens de cursus was dat een aantal collega infosec ingenieurs en ik de score bijhielden van alle dozen die ieder van ons had geworteld, dus onderbewust handelde het als een wedstrijd. Het krijgen van de volgende root vlag (wat betekent volledig compromis van een doos) hield de dopamine en adrenaline hoog elke keer. Uiteindelijk had ik recht op het onbelangrijke recht om alle gastheren in gevaar te brengen en dit eerder te doen dan alle anderen.
cursus
de cursus bestaat uit:
- VPN-verbinding met het lab-netwerk
- een goed geschreven boek van ongeveer 400 pagina ’s studiemateriaal
- een reeks video’ s die het boek aanvullen
- forum toegankelijk voor PWK-studenten
- irc-kanaal
het mooie aan het lab is dat de hosts een echt netwerk simuleren, wat betekent dat in tegenstelling tot meestal geïsoleerde hosts en uitdagingen van sites als vulnhub.com er zijn veel onderlinge afhankelijkheden. Na het verkrijgen van toegang tot een systeem, vindt u vaak aanwijzingen die u helpen andere machines te hacken – dit is de reden waarom post-exploitatie en graven in gecompromitteerde hosts is belangrijk. Je zult vaak in de mentale valkuil van het willen bezitten van alles in het netwerk en haasten om in te breken host na host met behulp van alle middelen en instrumenten die nodig zijn, maar je moet nooit vergeten dat het lab is er voor uw leerervaring, niet alleen voor opscheppen rechten.
hoewel je nooit om een oplossing zou moeten vragen over hoe je een machine in gevaar kunt brengen, kan het heel nuttig zijn om ideeën met medestudenten uit te stuiteren over de exploiteerbaarheid van de meervoudige aanvalsvectoren die veel van de labsystemen bieden. Persoonlijk heb ik nooit gebruik gemaakt van het irc-kanaal en alleen een paar forumberichten gelezen. Ze kunnen allebei geweldige troeven zijn voor je leerreis in het algemeen, maar ik zou adviseren om voorzichtig te zijn tijdens het gebruik ervan om te voorkomen dat je per ongeluk spoiler – hints leest-tenzij je echt vastzit en behoefte hebt aan een aantal frisse ideeën om je in de juiste richting te krijgen. Er is vaak meer dan één manier om de machines te hacken, sommige makkelijker dan anderen. Spreken van eenvoudiger manieren, in gedachten houden dat in het examen je alleen mag gebruik maken van de Metasploit framework alleen tegen een machine van uw keuze en dus is het verstandig om te leren niet te misbruiken en vertrouwen op het te veel tijdens het lab training, omdat die afhankelijkheid mogelijk terug zal komen en bijt je op het examen. Zelfs als het je lukt om een lab machine te kraken met behulp van een Metasploit exploit, probeer dan een aangepaste versie van de exploit, port naar een andere taal van uw keuze en spelen met andere aanval vectoren ook. U bent ook niet toegestaan om een automatische exploitatie tools (zoals Sqlmap) te gebruiken, dus je moet leren hoe je de meeste dingen handmatig te doen. Zie https://support.offensive-security.com/#!oscp-exam-guide.md voor meer informatie over de examenbeperkingen. Merk op hoe het verbod is op automatische exploitatie in plaats van opsomming tools – met dat gezegd, gebruik te maken van de automatisering die verschillende opsomming scripts geven u is een must en idealiter zult u uw eigen programma ‘ s voor dat coderen. Een opmerkelijk voorbeeld is de Linux privilege escalation checker van Mike Czumak op https://www.securitysift.com/download/linuxprivchecker.py
hier vindt u een verzameling nuttige opmerkingen over penetratietesttechnieken: https://sock-raw.org/wiki/ – het bevat ook verwijzingen naar een groot aantal andere bronnen die ik tijdens de cursus heb geraadpleegd.
hoe zag mijn kamer eruit tijdens het OSCP – examen of hoe tijdsverschuiving eruit ziet tijdens het hacken – (illustratie door Klajdi Cano)
examen
ik had het examen gepland voor zaterdagmiddag. Ik ben over het algemeen een nachtuil, dus ik wilde ervoor zorgen dat ik de dag ervoor een goede nachtrust krijg en me geen zorgen hoeft te maken over het opstaan te vroeg voor het examen, omdat dit onnodige stress kan veroorzaken en herstel na een volledige werkweek kan beïnvloeden. Weekends werken het beste omdat je de 24 uur nodig hebt voor het examen en dan nog een dag om een uitgebreid rapport te schrijven over hoe je alles hebt bereikt.
u hebt 70 punten nodig om het examen te halen voor een maximum van 100 punten. Elke machine is verschillende punten waard, afhankelijk van hoe moeilijk het is om te krijgen en het niveau van toegang dat je krijgt – over het algemeen zal een laag-bevoorrechte shell je minder punten geven dan een systeem/root shell. Het lab rapport, op het moment van schrijven, kan u alleen voorzien van een extra 5 punten na te zijn veranderd van 10 punten eerder. U kunt al deze gegevens te lezen op de officiële examen gids: https://support.offensive-security.com/#!oscp-exam-guide.md
de vorige dag had ik het alarm voor 10:30 maar ik verwachtte dat mijn interne bioclock me eerder wakker zou maken. Ik wilde er zeker van zijn dat 10:30 Het Laatste zou zijn. Ik ben over het algemeen van plan voor een gemiddelde van 8 uur slaap, maar ook proberen om wat tijd te verlaten voor een ochtend work-out sessie en wat cafeïne injectie. Zoals voorspeld werd ik rond 10 uur wakker en had ik voldoende tijd om thuis een intervaltrainingssessie te doen om het bloed te laten pompen en de zuurstofstroom naar de hersenen te verhogen. Op precies 12:00, Ik ontving de e-mail met de VPN-verbinding informatie voor het examen lab. Alles was klaar en de uitdaging begon.
ik heb de eerste machine in het eerste uur of zo neergehaald – ik had eerder een van de kwetsbaarheden in een penetratietest gezien, zodat het proces sneller ging. Dat was een enorme vertrouwensboost. Het begint sterk.
toen ging ik naar het volgende systeem waar ik relatief snel een user shell met lage rechten kreeg. Niet slecht. Eén kopje (slechts) koffie tot nu toe geconsumeerd. Ik wist niet dat de escalatie van privileges in die doos me zoveel tijd zou laten verspillen, rondneuzen in doodlopende wegen. Na tevergeefs besteden ongeveer meer dan een uur proberen van een verscheidenheid van dingen, besloot ik dat het tijd was om verder te gaan, omdat ik de energie nodig zou hebben om zich te concentreren op de rest van de doelstellingen. Ik maakte me echter niet al te veel zorgen, want als nachtuil heb ik de neiging om natuurlijk veel beter te presteren tijdens de avonduren. Dat is iets dat je in gedachten te houden bij het plannen van de tijd van uw examen en hoe u uw tempo te beheren gedurende de dag, afhankelijk van wanneer u het meest optimaal functioneren. Ik was nu bij 2 koffiekopjes en besloot een kleine pauze te nemen en wat chocolade te eten. Pacing en het nemen van kleine pauzes wordt sterk aanbevolen-je moet je onderbewustzijn wat tijd geven om te werken aan mogelijke oplossingen wanneer je vast zit. Het is heel gemakkelijk om tunnelvisie anders te krijgen.
omdat ik ervan overtuigd was dat ik gemakkelijk een van de moeilijkere dozen kon aanpakken (om redenen die ik hier niet kan onthullen omdat het als een spoiler zou worden beschouwd), richtte ik mijn focus eerst op de ‘gemakkelijkere’ (gebaseerd op de toegewezen punten). Hoewel ik bijna zeker was dat ik de juiste kwetsbaarheid had geïdentificeerd, zou de relevante exploit onder geen enkele omstandigheid werken. Ik had alle nodige wijzigingen aangebracht (shellcode etc.) maar geen van de pogingen leverde enig resultaat op. Ik rebootte de VM een paar keer (bijna een keer per poging) in het geval er iets mis was, maar toch. Ik gebruikte zelfs Metasploit tegen het (die je mag gebruiken alleen tegen één host) – dat hielp ook niet. Dit deel was behoorlijk frustrerend omdat in mijn gedachten deze doos niet zo moeilijk moest zijn.
ik probeerde kort de moeilijkste machine te hacken, maar na enige tijd erop te hebben doorgebracht, realiseerde ik me dat het veel meer focus zou vergen dan ik verwachtte, dus gaf ik het tijdelijk op. Ik besloot dat het tijd was om mijn moraal te verhogen door te proberen het andere systeem over te nemen waarover ik zekerder was over de methodologie die nodig is om het te ondermijnen. Verrassend, en ik zeg verrassend, want ik was niet zeker wat te verwachten daarop, na zoveel vertrouwen klappen, het ging vrij soepel en na minder dan 90 minuten had ik een werkende exploit en had alle bewijs verzameld (screenshots van elke stap). Ik had nog steeds niet genoeg punten om te passeren.
het was middernacht en had meer punten nodig, dus moest ik harder mijn best doen voor de resterende doelen. Ik ging terug naar het (zogenaamd) eenvoudiger systeem. Toen kwam het in me op. Ik moest denken out of the box – ik deed een aanpassing aan mijn exploit en kreeg mijn shell. Nog één neer. Nu was ik op het randje – ik had de vereiste punten kunnen krijgen om te slagen, maar alleen met een zeer specifieke aanname over de waarde van de laaggeprivilegieerde shell uit dat vorige systeem-dit was niet goed. Ik moest er zeker van zijn dat ik boven de 70 punten was. Het was na 1 uur en ik dacht dat wat slaap zou mijn hersenen produceren wat frisse ideeën dus ik zet mijn wekker op 2 uur later. Helaas, met zoveel opgehoopte stress, was ik niet in staat om echt te slapen – Ik was gewoon een bezoek aan deze wazige staat van gelijktijdig half-slapen/half-wakker, waarvan de verjongende effecten zijn verkleinwoord op zijn best. Echter, zelfs deze korte rust gaf mijn hersenen wat tijd om zich voor te bereiden op de tweede wind (of N-de wind wat dat betreft). Dat was alles wat ik nodig had.
op dat moment voelde ik dat ik het slachtoffer was van mijn eigen denkproces omdat ik tot het besef kwam dat ik sommige van de testen die ik vanaf het begin had moeten doen niet had geprobeerd. Les geleerd. Een andere reden waarom het gebruik van checklists is zo belangrijk. In een kwestie van minuten en een paar tientallen regels code later, had ik mijn verhoogde shell en had volledig gecompromitteerd de gastheer. Ik had nu meer dan genoeg punten verzameld. Dit was een zekere pass en om ongeveer 4: 30 uur slaakte ik een enorme zucht van opluchting. Ik kon nu beginnen te spelen met de laatste gastheer, wat ik deed voor ongeveer een uur op welk punt mijn hersenen schreeuwden om wat downtime. Mijn adrenaline storting was ook vrij laag omdat ik wist dat deze gastheer optioneel was. Ik sliep nu meer normaal tot 9 uur en had nog 3 uur te gaan tot het examen eindigde. Deze gastheer was zeer tijdrovend en ik probeerde een breed scala aan technieken om in te breken. Na het krijgen van vrij dicht bij het vinden van de juiste Truc (volgens wat de tests tot nu toe had laten zien), de vpn-verbinding werd verbroken. Het was bijna middag en ik wist dat ik moest een volwaardige penetratie testrapport documenteren van al mijn bevindingen en hoe ik erin geslaagd om elke host stap-voor-stap te hacken schrijven. Dit was het gemakkelijke deel, maar het was nog steeds een 61 pagina ‘ s tellend document dat op een professionele manier geschreven moest worden. De opwinding om zeker te zijn dat ik geslaagd was (evenals het kunstmatig oppompen van mijn cortisol-en adrenalineniveaus met wat cafeïne) hielp me door de dag te duwen en het rapport voor 20.00 uur in te dienen. Toen heb ik een tijdje de beste nachtrust gehad.
over het algemeen was het examen een uitdaging en de meeste machines hadden vaak extra onderzoek nodig (veel googlen inbegrepen) om de kwetsbaarheden te identificeren en vervolgens te benutten. Ik kan er niets meer over zeggen, maar wees bereid om uw due diligence te doen en uw wil, standvastigheid en creativiteit te testen.
na twee dagen kreeg ik de e-mail met de melding dat ik was geslaagd.
conclusie
al met al beveel ik de cursus ten zeerste aan voor iedereen:
- streven om concurrerend te zijn in de informatiebeveiligingsindustrie
- hun kennis van penetratietesten aan te scherpen
- plezier hebben met een uitdagend laboratoriumnetwerk
- hun lef en geest willen versterken(serieus)
de cursus en het examen test je kennis, je creativiteit en je zenuwen. Maar als het je lukt om alle drie te verhogen en te verbeteren, dan heb je zeker een stap hoger in de infosec wereld.
Write a Reply or Comment