offensiv säkerhet PWK & OSCP Review

på December 19, 2017 fick jag en av de mest önskade e-postmeddelanden av blivande offensiva säkerhetsentusiaster och proffs…

kära Jack,

vi är glada att informera dig om att du framgångsrikt har slutfört penetrationstestet med Kali Linux certification exam och har fått din Offensive Security Certified Professional (OSCP) certifiering.

mannen var jag extatisk! Efter en ansträngande 2 månaders träning i OffSec-labbet och en lång men framgångsrik 20 timmar i provet betalade allt i slutet – jag var äntligen en OSCP!

jag kunde bara ha drömt om detta certifikat, jag förväntade mig aldrig att det skulle bli verklighet så snart! All den träningen, sömnlösa nätter och entusiasmen att lära mig förde mig hit. Så när jag skriver det här inlägget vill jag dela mina tankar, erfarenheter och några tips för dem som syftar till att uppnå OSCP!

Bakgrund & erfarenhet

innan jag gräver i PWK-kursen och OSCP vill jag ge dig lite information om min bakgrund och erfarenhet. Vid skrivandet av detta inlägg har jag varit i InfoSec-industrin i ~3 år nu. Mycket av min erfarenhet kom från självutbildning, spenderade otaliga timmar hemma och framför mina böcker att lära sig nya verktyg och tekniker. Mycket av det jag lärde mig testades på jobbet där jag utförde interna penntester, säkerhetsbedömningar, omvänd teknik av skadlig kod (mer som felsökning) och sådant av den delen. Samtidigt supplicerade jag mina studier med övning – som att tävla i CTF, öva på VulnHub VM och i HackTheBox Labs. För de nyfikna på detaljerna i mina studier, Fortsätt läsa eftersom jag kommer att gräva mer i detta i avsnittet tips. Men för nu, låt oss komma in i det verkliga köttet av saker!

PWK-kursen

den övergripande OSCP-upplevelsen kan ses som 3 delprocess. PWK-kursen, PWK Lab och OSCP-Examen. Du har möjlighet att registrera dig för 30, 60 eller 90 dagars labbtid. När du registrerar dig väljer du den vecka du vill starta dina studier – speciellt en lördag/söndag är när en ny kurs varelser. Det uppmuntras att registrera sig 10-30 dagar före din förväntade startvecka, eftersom tidsluckorna fylls riktigt snabbt! På ditt tilldelade kursstartdatum får du tillgång till att ladda ner allt ditt kursmaterial, inklusive 8-timmars offensiv säkerhet PWK-kursvideor, den 375-sidiga PWK PDF-kursen och din VPN lab-åtkomst. När din labbtid börjar-det kommer att vara ett kontinuerligt block, vilket innebär att du inte kan stoppa/starta det när som helst efter startdatumet.

när jag startade min OSCP-resa valde jag cirka 60 dagar i laboratorierna (2 månader). Jag trodde att det här skulle vara gott om tid för mig att gå igenom PDF, videor och Lab, och att det skulle ge mig tillräckligt med utrymme om några dagar/veckor skulle vara för hektiska för mig att studera.

det var runt 7PM den 14 oktober när jag fick min PWK VPN och kursmaterial. Jag fick genast arbeta med att gå igenom PDF-filen och be varje kapitel med sin respektive video. Det rekommenderas att du går igenom både PDF och videor eftersom videorna ibland har mer information än pdf – som borde hjälpa till att belysa några saker. PDF / Video täcker en hel del avsnitt inklusive Linux grunderna, viktiga verktyg, uppräkning, informationsinsamling, buffertspill, privilegium eskalering, klientsidan attacker, webbapplikation attacker, pivotering, och Metasploit.

jag tillbringade ungefär en vecka med att gå igenom hela PWK-kursen och några av övningarna och spenderade mycket tid på Buffertspillavsnittet, eftersom det var ett av de ämnen jag visste att jag ville ace! Sammantaget var PWK-kursen för mig ärligt en uppdatering-det enda som var fördelaktigt för mig var Buffertflödet och svängbara delar av kursen. Jag avslutade bara ungefär hälften av övningarna innan jag bestämde mig för att hoppa in i PWK Labs.

notera nu att PWK-kursen inte ger dig allt du behöver veta! Kursen är där för att hjälpa till att bygga grunden och lära dig de grundläggande grunderna du behöver för att lyckas. Det kommer att finnas otaliga saker som du fortfarande behöver lära dig/undersöka dig själv under din tid i laboratorierna – så jag föreslår att du borstar på din Google Fu!

PWK Lab

PWK Lab är köttet från PWK-kursen. Det är här det mesta av ditt lärande sker. Labbet har cirka 50 maskiner totalt av varierande operativsystem, sårbarheter och felkonfigurationer separerade i 4 olika nätverkssektioner – Public, IT, Dev och Admin. Ditt mål är att få tillgång till Administratörsnätverket, men för vissa kan målet vara annorlunda – så låt det inte komma till dig om du inte kan komma in i Administratörsnätverket!

alla maskiner i labbet varierar i svårigheter-vissa är lätta, medan vissa är” bang huvudet på bordet i timmar i sträck ” hårt. Det kan finnas en tid i labbet där du tror att en maskin är osårbar… och du kanske har rätt, men det var inte så kursen inrättades. PWK Lab konfigurerades för att simulera en verklig levande nätverksmiljö, vilket innebär att vissa maskiner interagerar med varandra och kan äventyras av klientsidan attacker. Andra maskiner å andra sidan kan ha information om dem som kan leda till kompromiss av en annan maskin i labbet. I allmänhet bör du aldrig lämna någon sten omvänd och korrekt räkna upp. Om du befinner dig fast kan du alltid komma åt OSCP-forumet och IRC för att be om hjälp eller bläddra efter tips. Oroa dig inte om du behöver göra det – det är en del av inlärningsprocessen! Bli bara inte förvärrad om de flesta svaren du får är “försök hårdare” eller ” räkna upp!”, eftersom chansen är att du inte räknade upp ordentligt och missade en kritisk information.

först när jag kom in i laboratorierna blev jag överväldigad, jag visste inte var jag skulle börja! Tack och lov går PWK-kursen över några enkla uppräkningsskanningar, vilket kan hjälpa dig att starta din attack. Under hela tiden använde jag OneNote för att hålla reda på alla mina anteckningar, skanningar, kommandon och skärmdumpar.

när jag hoppade in i labbet körde jag en liten uppsättning skanningar med Nmap och märkte en specifik tjänst som körs på en av maskinerna, en som jag tidigare såg när jag gjorde en maskin i HackTheBox! Jag blev så upphetsad att jag attackerade maskinen direkt – inom en timme hade jag root-åtkomst och lyckades lära mig några nya saker! Det var ärligt talat en bra start. Inom 30 dagar lyckades jag rota 38 av enheterna – inklusive smärta, lidande, spöke och Bethany – och hade tillgång till Dev och IT-nätverket. Vid den tiden valde jag in för OSCP-examen och låste in tiden för 16 December klockan 9.

först gick jag igenom labbet med Metasploit och lite manuell exploatering. Under de senaste 30 dagarna gick jag tillbaka genom alla maskiner jag utnyttjade via Metasploit och lyckades göra dem alla manuellt – antingen genom att porta över Metasploit-utnyttjandet via Python eller använda tredjepartsskript och verktyg för att ansluta till tjänster som MSSQL, etc. I all ärlighet var det här en bra ide eftersom det hjälpte mig att bättre förstå exploit writing, och det hjälpte mig under min OSCP-Examen.

OSCP Examen

denna mödosamma 24-timmars examen i ärlighetens namn är brutal, och det har all rätt att vara! Dess ursprungliga mål är att bevisa att du har en bra grund för penetrationstestcykeln och att bevisa att du faktiskt lärde dig och behöll din träning. För provet kommer du att tilldelas 6 maskiner, 5 Examensmaskiner och 1 Windows Test VM precis som i laboratorierna – den här VM kommer att vara din debugger för exploit writing. Varje maskin har vissa mål som du behöver slutföra för att dina poäng ska räknas. Tillsammans med det är Metasploit begränsat till endast en maskin, men jag föreslår att du inte använder Metasploit och sparar den som en sista utväg. För att passera måste du göra mål 70/100 poäng, varje maskin som har en annan mängd poäng beroende på målen. Jag föreslår starkt att du läser OSCP Exam Guide för mer information om vad som är och inte är tillåtet under tentamen.

slutligen-December 16th kom runt. Jag vaknade runt 7: 30 – åt lite frukost, drack lite te och gick en promenad för att koppla av och fånga mina tankar. För 8:30 Jag satt vid mitt skrivbord, alla mina arbetsytor i Kali konfigurerades som jag gillade, OneNote ställdes in för provet och jag köade några timmar Deadmau5 och lite trumma och bas för att spela i mina hörlurar när jag arbetade. Visst nog, klockan 9 fick jag e-postmeddelandet från OffSec med min Exam VPN och instruktioner. Jag tog 15 minuter att läsa allt och göra en mental anteckning om vad jag behövde göra. Vid 9: 30 var jag av och tog på den första maskinen.

2 timmar efter min första starttid avslutade jag min Buffertspillmaskin – men inte utan några problem. Jag var faktiskt tvungen att nå ut till OffSec för att återställa maskinen eftersom tjänsten inte fungerade korrekt. En gång återställd kunde jag utnyttja maskinen och uppnå ett rotskal! Jag var ett nervöst vrak, och fjärilarna i magen agerade upp, men vid 12PM hade jag två maskiner rotade med 35 poäng under mitt bälte! Vid denna tidpunkt bestämde jag mig för att gå bort i en timme och ta en liten paus.

efter en avkopplande paus och lite mat i mig kunde jag en timme senare uppnå ett begränsat skal på en annan enhet med en faktiskt ganska komplex och intressant metod. Kort efter, jag kunde uppnå en hög privilegium skal, saltning mig till 55 poäng! I ärlighetens namn jag överkomplicerade processen och missade en kritisk bit av information – jag hittade bara det när jag gick tillbaka och räknas igen!

vid runt 6PM slog jag ett vägblock, med två maskiner kvar kunde jag inte för livet av mig hitta en ingångspunkt. Jag räknade upp allt jag kunde men fortsatte att komma med ämnen eller fortsatte att gå ner i kaninhål. Efter ungefär en timmes träffande återvändsgränder valde jag att ta en liten 1 timmes paus för att äta och titta på TV. När min paus var över kom jag tillbaka och började räkna upp igen och upptäckte snabbt något när jag använde Burp. Efter några timmars försök och fel, vid 11 PM kunde jag få ett begränsat skal och saltade mig upp till 67,5 poäng!

Åh man, var jag extatisk – jag gjorde ett segervarv runt huset och spelade Try Harder-låten för att fira! Allt jag behövde var ett rotskal och jag passerar, lätt! Eller hur…? Fel!

för de kommande 4 timmarna var jag vid en annan vägspärr. Jag kunde inte hitta ett sätt att eskalera privilegier – även om jag gick igenom processen två gånger. Ingenting verkade fungera. Jag fann mig själv studsa tillbaka mellan privilegiet upptrappning och den andra maskinen, i hopp om att hitta ett sätt att få den slutliga begränsade skalet, eller för att uppnå rot. Vid 2 AM gav jag upp att försöka få rot och bestämde mig för att jag behöver det andra begränsade skalet att passera.

vid denna tidpunkt var jag utmattad, 18 timmar in i provet och jag var så nära! Jag sa till mig själv att jag inte kommer att misslyckas, att jag kommer att “försöka hårdare”… och då slog det mig. Den andra jag insåg att jag försökte” för hårt ” var som att någon tog en fladdermus på baksidan av mitt huvud… Jag följde en återvändsgränd de senaste timmarna! Sårbarheten som jag försökte utnyttja lärdes aldrig ut i OSCP, den hittades aldrig i laboratorierna-jag visste bara om det på grund av mina studier! Jag tog ett steg tillbaka och tog några minuter att andas och göra lite te.

jag kom tillbaka till maskinen med ett nytt sinne och tankesättet “tänk enkelt”. Och det fungerade! Jag körde en annan Nikto-skanning på en katalog och det gav mig en enkel sårbarhet. Men även vid denna tidpunkt kunde jag inte utnyttja det… tills jag såg något intressant. En snabb Google-sökning ledde mig till några saker och efter några försök och fel, vid 3AM hade jag ett annat begränsat skal och saltade mig upp till 77,5 poäng – tillräckligt för att passera!

förpackning upp

vid denna tidpunkt kallade jag det slutar, jag gick tillbaka för att samla alla skärmdumpar och se till att jag hade alla krav. Vid 4AM sov jag lyckligt-att veta att jag passerade! Jag vaknade runt 1PM nästa dag och började arbeta med min rapport som handlade om 89 sidor lång och ganska detaljerad. Jag skickade in min rapport klockan 4 på måndag morgon – jag gick på en konsert med min bror den kvällen haha – och på tisdag morgon fick jag mitt svar som jag passerade!

allt jag kan säga är-wow! Jag har den yttersta respekten för alla som tar OSCP-utmaningen och passerar den. Detta är överlägset en av de svåraste utmaningar som jag har gjort hittills och det har lärt mig en uppsjö av nya saker som jag kan använda i min dagliga arbete aktiviteter. Jag vill uppriktigt tacka OffSec för denna fantastiska upplevelse och möjlighet, kanske ska jag göra OSSE nästa!

Tips & rekommendationer

jag vet att många av er som kommer att läsa detta inlägg kommer att be om tips/rekommendationer om att antingen förbereda sig för att ta OSCP eller om hur/vad man ska göra under tentamen. Tja, oroa dig inte-i det här avsnittet kommer jag att bryta ner och inkludera mycket av det material jag brukade förbereda för OSCP samt några tips/tricks att använda för provet.

Prerequsites:

i PWK-kursen säger OffSec att du måste förstå följande grundläggande för att ta kursen…

penetrationstestning med Kali Linux är en grundläggande säkerhetskurs, men kräver fortfarande att eleverna har viss kunskap innan de deltar i online-utbildningsklassen. En gedigen förståelse för TCP / IP, nätverk och rimliga Linux-färdigheter krävs. Kännedom om Bash scripting tillsammans med grundläggande Perl eller Python anses vara ett plus. Denna avancerade penetrationstestkurs är inte för svag hjärta; det kräver övning, testning och förmågan att vilja lära sig på ett sätt som kommer att växa din karriär inom informationssäkerhetsområdet och övervinna alla inlärningsplatåer.

om du är lite obekant med dessa grunder, här är några länkar som hjälper dig att lära dig de nödvändiga materialen:

  • TCP / IP & nätverk
    • grundläggande nätverk: TCP, UDP, TCP/IP och OSI-Modell
    • vanliga portar & protokoll
    • säkerhet+ avsnitt 1: Nätverkssäkerhet
    • grunderna i Nmap
  • Linux & Bash Scripting
    • Overtewire-Bandit
    • Bash Scritping handledning
    • Null Byte-Linux grunderna
  • Python
    • Codecademy-Python
    • Python 2.7.14 dokumentation

öva:

nu när du har en grundläggande förståelse för grunderna måste du öva… mycket! Om är ganska nya för penetrationstestning och tror att ta OSCP kommer att lära dig – då är du död fel! Du behöver mycket tidigare träning och erfarenhet för att ens försöka något som OSCP.

följande material nedan hjälper dig att ta de första stegen i penetrationstestning, och för dem som redan är erfarna hjälper det dig att öva och utöka dina färdigheter.

  • Videor
    • Cybrary – penetrationstester och etiska Hacking
    • Cybrary – avancerad penetrationstester
    • Cybrary – webbapplikation penetrationstester
    • HackTheBox genomgångar av IppSec
    • PwnFunction Videor
    • liveoverflow: Den hemliga steg-för-steg-guiden för att lära sig Hacking
  • böcker
    • penetrationstestning: en praktisk introduktion till Hacking
    • Hacker Playbook 3: praktisk Guide till penetrationstestning
    • Web Application Hacker ‘ s Handbook: hitta och utnyttja säkerhetsbrister
    • Black Hat Python: Python programmering för hackare och Pentesters
    • Hacking: the art of Exploitation, 2nd Edition
  • Övningslaboratorier
    • VulnHub
      • OSCP som VM:
        • Kioptrix 1-5
        • FristiLeaks: 1.3
        • häftapparat: 1
        • PwnLab: init
        • Brainpan: 1
        • Mr-Robot: 1
        • HackLab: Vulnix
        • VulnOS: 2
        • SickOS: 1.2
        • Skytower: 1
    • HackTheBox
      • öva på de pensionerade maskinerna också … lita på mig!
    • Pentestit Labs (Endast Avancerad!)
    • CTF365
    • PentesetLab-Bootcamp
    • utnyttja övningar-Mainsequence
    • Overtewire-Natas
  • läromedel & guider
    • Awesome Pentest
    • säkerhet anteckningsbok
    • Lek en TTY (interaktiv) skal
    • omvänd Shell fusklapp
    • Metasploit Fundamentals
    • skapa Metasploit nyttolaster
    • Windows privilegium eskalering
      • Windows privilegium eskalering Fundamentals
      • Windows privilegium eskalering – checklista
      • snabba anteckningar
    • Linux Privilige Escalation
      • Basic Linux Privilege Escalation
      • Linux Privilege Escalation Scripts
      • Exploit Exercises – Nebula
    • Buffer Overflows
      • Exploit Writing Tutorial Part 1 : Stack Based Overflows
      • Exploit Writing Tutorial Part 2 : Stack baserade överflöden-Hoppa till Shellcode
      • Intro till x86 montering
      • utnyttja övningar-Protostar

jag vet att det finns massor av material här, och det kan tyckas överväldigande först – men vet att mycket av dessa ämnen överlappar varandra när du börjar studera offensiv säkerhet. Kom ihåg att det tar tid att lära sig – du måste njuta av lärandeprocessen, eller du kommer aldrig att nå ditt slutmål! Ta det lugnt, börja med grunderna och arbeta dig upp.

Examenstips:

som med allt finns det alltid vissa saker som du borde veta och göra under PWK Lab och OSCP-Examen, dessa följande tips bör hjälpa dig att hålla dig i fokus och avvika från kaninhål.

  1. Räkna Upp, Räkna Upp, Räkna Upp!
  2. enkla Nmap-skanningar med Script-skanning är dina vänner!
    • TCP: nmap -sS -sV -sC -n
    • UDP: nmap -sU -sV -n --top-ports 200
  3. räkna SNMP (UDP 161) om det är öppet!
    • snmp-check -t -c public
    • Detta visar andra öppna portar / körtjänster och applikationer!
  4. räkna upp SMB (TCP 139/TCP 445) om det är öppet!
    • enum4linux
    • detta visar öppna aktier, anonyma inloggningar etc.
  5. kör nikto på intressanta kataloger!
    • nikto -h http(s)://:/
  6. DirBuster över dirb. Välj att använda mediumordlistan för bättre resultat!
    • /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
  7. Sök efter anonyma inloggningar för FTP / SMB!
    • ftp
      • Användarnamn: anonymous Lösenord: anonymous
    • smbclient -L \
      • Användarnamn: root Lösenord: Ingen
  8. Sök efter WebDav! Nmap script scan bör plocka upp! Om inte…
    • davtest -url http(s)://
  9. tänk inte över det! Prova lågt hängande frukt först!
    • lösenord samma som användarnamn?
    • Användarnamn/Lösenord combo av admin:admin?
    • Google dokumentationen. Standard Referenser / Logga In?
  10. rotera maskiner var 3-4 timmar. Tröttna inte på dig själv!
  11. har du en ide? Men det verkar omöjligt? Prova det … du vet aldrig! =)
  12. ta frekventa pauser. Välj 10 minuters paus var 2: e timme.
  13. Ät och drick! Gör tid för Lunch och middag. Din hjärna behöver mat för att fungera.
  14. begränsa koffeinintaget, 1-2 koppar kaffe är okej! Men drick te och vatten.
  15. har inga snacks bredvid dig. Om du är hungrig, gå till köket för ett mellanmål, detta gör att du går bort från din dator och hjälper dig att rensa ditt sinne.
  16. andas … slappna av … du har 24 timmar!
  17. organisera dina anteckningar, ta skärmdumpar och dokumentera allt!
  18. några dagar före tentamen skapa och redigera din rapportkontur.
  19. i PWK Lab, öva buffertspill tills du kan göra dem utantill och utan anteckningar.
  20. ge inte upp lätt, och viktigast av allt… ” försök hårdare!”.

Lämna ett svar

Din e-postadress kommer inte publiceras.