Skip to content

Menu

Copyright McStan's Blog 2022 | Theme by ThemeinProgress | Proudly powered by WordPress

McStan's BlogWelcome

sock_raw

november 25, 2021Articles Standard

för några månader sedan tog jag offensiv säkerhet penetrationstestning med Kali Linux (PWK) kurs och klarat testet för OSCP certifiering. Hela upplevelsen var mycket givande och PWK lab fick mig verkligen hooked. Jag trodde att det skulle vara till hjälp att skriva en recension om det för infosec-proffs som strävar efter att ta itu med denna utmanande och krävande kurs.

Intro

jag var registrerad för 60-dagarsperioden. Jag hade hackat alla 56 maskiner i ungefär 40 dagar och klarat testet på mitt första försök. Detta är den ljusa sidan av det. Den mörka, om än nödvändiga sidan var att jag var tvungen att ägna mycket tid, energi och ansträngning för att uppnå detta. Tentamen kan vara extremt utmanande, särskilt för att det är väldigt lätt att fastna och detta leder till frustration och ilska. Det leder till lidande och potentiellt ge upp. Välkommen till den mörka sidan.

det är en övning av grus och kommer framför allt annat.

Ja, du måste veta din skit tech-wise men i slutändan kommer det ner till due diligence och har en strukturerad metodik – vilket är exakt vad 90% av penetrationstestning verkligen är (och jag vågar säga vetenskap i allmänhet också). Och missförstå mig inte – de andra 10% är också extremt viktiga – att tänka ut ur lådan och ta reda på kreativa lösningar för att hacka dina mål är manifestationen av hacking i sin ursprungliga mening. Detta hänvisar också till Thomas Edison-citatet om det faktum att ”geni är en procent inspiration, nittionio procent svett.”Att följa en rigorös metod för tester som bör genomföras och dokumenteras är faktiskt det som kommer att få mest effekt. Jag är ganska säker på att alla som har tjänstgjort i militären skulle hålla med mig om detta. Glöm inte att det ofta är den enkla, låghängande frukten, förbisedd eftersom de anses vara för triviala, som kan göra skillnaden mellan en återvändsgränd och en fullständig systemkompromiss. Att skapa underhåll och effektivt genomföra den här checklistan över tester är dock den svåra delen som kommer med erfarenhet, att hålla sig uppdaterad med nya tekniker och branschforskning, samt att automatisera allt som ska automatiseras.

innan jag avviker längre, låt oss gå tillbaka till att diskutera PWK-kursen.

Motivations

OSCP är en av de mest respekterade certifieringarna inom informationssäkerhetsbranschen och med rätta: både kursen och tentamen är stirctly hands-on. Inga flervalsfrågor – det här är den verkliga affären: hacka dina mål i ett virtuellt labnätverk och gör sedan detsamma i en intensiv 24-timmarsexamen för att bevisa att du har lärt dig de grundläggande teknikerna för en penetrationstestare. Detta i sig borde vara mer än tillräckligt med motivation för alla infosec – proffs-även om du har många års erfarenhet inom området kan det fortfarande vara roligt och du kan alltid lära dig nya saker under processen.

det som också personligen motiverade mig under kursen var att några andra infosec-ingenjörer och jag höll poäng av alla rutor som var och en av oss hade rotat, så undermedvetet fungerade det som en tävling. Att få nästa rotflagga (vilket innebär full kompromiss av en låda) höll dopamin och adrenalin högt varje gång. I slutet, jag hade rätt till oviktigt skryta rätt att kompromissa alla värdar och göra det tidigare än alla andra.

kurs

kursen består av:

  • VPN-anslutning till lab-nätverket
  • en välskriven bok på cirka 400 sidor värt att studera material
  • en serie videor som kompletterar boken
  • forum tillgängligt för PWK-studenter
  • irc-kanal

det fantastiska om labbet är att värdarna simulerar ett riktigt nätverk, vilket innebär att till skillnad från mestadels isolerade värdar och utmaningar från webbplatser som vulnhub.com, det finns många ömsesidiga beroende. Efter att ha fått tillgång till ett system hittar du ofta ledtrådar som hjälper dig att hacka andra maskiner – det är därför efterutnyttjande och grävning i komprometterade värdar är viktigt. Du kommer ofta att falla i den mentala fällan att vilja äga allt i nätverket och rusar för att bryta sig in i värd efter värd med hjälp av alla medel och verktyg som behövs, men du bör aldrig glömma att labbet är där för din inlärningsupplevelse, inte bara för att skryta.

medan du aldrig borde be om en lösning på hur man kompromissar med en maskin, kan det vara ganska fördelaktigt att studsa av ideer med medstudenter om utnyttjandet av de flera attackvektorerna som många av labbsystemen erbjuder. Jag använde personligen aldrig irc-kanalen och läste bara ett par foruminlägg. De kan båda vara stora tillgångar till din inlärningsresa i allmänhet men jag skulle rekommendera att vara försiktig när du använder dem för att undvika att oavsiktligt läsa några spoiler tips – om du inte är riktigt fast och behöver några nya ideer för att få dig att gå i rätt riktning. Det finns ofta mer än ett sätt att hacka maskinerna, några enklare än andra. På tal om enklare sätt, kom ihåg att i provet får du bara utnyttja metasploit-ramverket endast mot en maskin efter eget val och det är därför klokt att lära sig att inte missbruka och lita på det för mycket under labbutbildningen eftersom det beroendet kommer potentiellt att komma tillbaka och bita dig vid provet. Även om du lyckas knäcka en labbmaskin med en metasploit exploit, försök sedan skapa en anpassad version av exploit, Porta den till ett annat språk efter eget val och leka med andra attackvektorer också. Du får inte heller använda några automatiska exploateringsverktyg (som Sqlmap) så du måste lära dig att göra det mesta manuellt. Se https://support.offensive-security.com/#!oscp-exam-guide.md för mer information om tentamen begränsningar. Lägg märke till hur förbudet är på automatisk exploatering snarare än uppräkningsverktyg – med det sagt, att utnyttja automatiseringen som olika uppräkningsskript ger dig är ett måste och helst kommer du att koda dina egna program för det. Ett anmärkningsvärt exempel är linux privilege escalation checker av Mike Czumak på https://www.securitysift.com/download/linuxprivchecker.py

du kan hitta en samling användbara anteckningar om penetrationstesttekniker här: https://sock-raw.org/wiki/ – den innehåller också referenser till en mängd andra källor som jag konsulterade under kursen.

OSCP-examen hur mitt rum såg ut under OSCP-tentamen eller hur tidsvridning ser ut medan hacking – (illustration av Klajdi Cano)

Examen

jag planerade tentamen till lördag middagstid. Jag är i allmänhet en nattuggla så jag ville se till att jag får en god natts sömn dagen innan och inte behöver oroa mig för att gå upp för tidigt för provet eftersom det kan orsaka onödig stress och kan påverka återhämtningen efter en hel arbetsvecka. Helger fungerar bäst eftersom du kommer att behöva 24 timmar för testet och sedan en annan dag för att skriva en omfattande rapport om hur du har åstadkommit allt.

du behöver 70 poäng för att klara provet för högst 100 poäng. Varje maskin är värd olika poäng beroende på hur svårt det är att få och nivån på åtkomst du får – i allmänhet ger ett lågt privilegierat skal dig mindre poäng än ett SYSTEM/rotskal. Labbrapporten, vid skrivandet av detta, kan bara ge dig ytterligare 5 poäng efter att ha ändrats från 10 poäng tidigare. Du kan läsa alla dessa detaljer i den officiella examensguiden: https://support.offensive-security.com/#!oscp-exam-guide.md

föregående dag hade jag satt upp larmet för 10: 30 men jag förväntade mig att min interna bioclock skulle väcka mig tidigare än det. Jag ville se till att 10: 30 skulle vara den senaste. Jag planerar i allmänhet i genomsnitt 8 timmars sömn men försöker också lämna lite tid för en morgonträning och lite koffeininjektion. Som förutsagt vaknade jag runt 10 och hade gott om tid att göra en intervallträning hemma för att få blodet att pumpa och öka syreflödet till hjärnan. Vid exakt 12:00, Jag fick e-postmeddelandet med VPN-anslutningsinformationen för examenslaboratoriet. Allt var klart och utmaningen började.

jag tog ner den första maskinen under den första timmen eller så – jag hade sett en av sårbarheterna i ett penetrationstest tidigare så att det hjälpte till att påskynda processen. Det var en enorm förtroendeökning. Börjar starkt.

jag flyttade sedan på Nästa system där jag fick ett lågt privilegierat användarskal relativt snart. Inte illa. En kopp (endast) kaffe som konsumeras hittills. Föga anade jag att privilegiet upptrappning i rutan skulle göra mig slösa så mycket tid, peta runt återvändsgränder. Efter att ha misslyckats med att spendera mer än en timme på att försöka olika saker bestämde jag mig för att det var dags att gå vidare eftersom jag skulle behöva energi för att fokusera på resten av målen. Jag var inte alltför orolig men eftersom en nattuggla jag tenderar att naturligtvis prestera mycket bättre under kvällstimmarna. Det är något du måste tänka på när du planerar tiden för din tentamen och hur du hanterar din takt hela dagen beroende på när du fungerar mest optimalt. Jag var på 2 kaffekoppar nu och bestämde mig för att ta en liten paus och äta lite choklad. Pacing och ta små pauser rekommenderas starkt – du måste ge ditt undermedvetna lite tid att arbeta med potentiella lösningar när du fastnar. Det är väldigt lätt att få tunnelsyn annars.

eftersom jag var säker på att jag lätt kunde ta itu med en av de hårdare rutorna (av skäl som jag inte kan avslöja här eftersom det skulle betraktas som en spoiler), vände jag mitt fokus på ’lättare’ (baserat på de poäng som tilldelats) en först. Även om jag var nästan säker på att jag hade identifierat rätt sårbarhet, skulle det relevanta utnyttjandet inte fungera under några omständigheter. Jag hade gjort alla nödvändiga ändringar (shellcode etc.) men ingen av försöken Bar några frukter. Jag startade om VM ganska många gånger (nästan en gång per försök) om något var fel men ändå. Jag använde till och med metasploit mot det (som du bara får använda mot en värd) – det hjälpte inte heller. Den här delen var ganska frustrerande eftersom den här rutan inte skulle vara så svår i mitt sinne.

jag försökte sedan kort hacka den svåraste maskinen men efter att ha spenderat lite tid på det insåg jag att det skulle ta mycket mer fokus än jag förväntade mig så jag gav tillfälligt upp det. Jag bestämde mig för att det var dags att öka min moral genom att försöka ta över det andra systemet som jag var mer säker på den metod som krävs för att undergräva den. Överraskande, och jag säger överraskande eftersom jag inte var säker på vad jag kunde förvänta mig därpå, efter så många förtroendeslag gick det ganska smidigt och efter mindre än 90 minuter hade jag ett fungerande utnyttjande och hade samlat alla bevis (skärmdumpar av varje steg). Jag hade fortfarande inte tillräckligt med poäng att passera men.

det var midnatt och behövde fler poäng, så jag var tvungen att försöka hårdare på de återstående målen. Jag gick tillbaka till det (förmodligen) enklare systemet. Då kom det till mig. Jag var tvungen att tänka ut ur lådan – jag gjorde en modifiering av mitt utnyttjande och fick mitt skal. En till ner. Nu var jag borderline – jag kunde ha samlat de nödvändiga poängen att passera men bara med ett mycket specifikt antagande om värdet av det lågprivilegierade skalet från det tidigare systemet-det var inte bra. Jag var tvungen att se till att jag var över 70 poäng. Det var efter 1 am och jag tänkte lite sömn skulle göra min hjärna producera några nya ideer så jag satte min väckarklocka för 2 timmar senare. Tyvärr, med så mycket ackumulerad stress kunde jag inte verkligen sova – jag besökte bara detta dimmiga tillstånd att samtidigt vara halvsovande/halvvaken, vars föryngrande effekter i bästa fall minskar. Men även denna korta vila gav min hjärna lite tid att förbereda sig för den andra vinden (eller N-vinden för den delen). Det var allt jag behövde.

vid den tiden kände jag att jag var offer för min egen tankeprocess eftersom jag insåg att jag inte hade provat några av de tester jag borde ha gjort från början. Lärdom. En annan anledning till att använda checklistor är så viktigt. På några minuter och ett par dussintals kodrader senare hade jag mitt upphöjda skal och hade helt äventyrat värden. Jag hade samlat mer än tillräckligt med poäng nu. Detta var en viss pass och vid ca 4: 30 är jag heaved en enorm suck av lättnad. Jag kunde nu börja leka med den sista värden, vilket jag gjorde i ungefär en timme vid vilken tidpunkt min hjärna skrek för lite stillestånd. Min adrenalininsättning var också ganska låg eftersom jag visste att den här värden var valfri. Jag sov nu mer normalt fram till 9 am och hade 3 timmar kvar tills provet slutade. Denna värd var mycket tidskrävande och jag försökte en mängd olika tekniker för att bryta sig in i den. Efter att ha kommit ganska nära att hitta rätt trick (enligt vad testerna hittills visat mig) tappades vpn-anslutningen. Det var nästan middagstid och jag visste att jag var tvungen att skriva en fullfjädrad penetrationstestrapport som dokumenterade alla mina resultat och hur jag lyckades hacka varje värd steg för steg. Detta var den enkla delen men det var fortfarande ett 61-sidigt dokument som måste skrivas på ett professionellt sätt. Spänningen av att vara säker på att jag hade passerat (liksom artificiellt pumpa min kortisol och adrenalin nivåer upp med lite koffein) hjälpte mig att driva igenom dagen och lämna in rapporten före 8 pm. Sedan hade jag en av de bästa nattsömn ganska länge.

sammantaget var provet utmanande och de flesta maskinerna krävde ofta extra forskning (mycket googling ingår) för att identifiera och sedan utnyttja sårbarheterna. Jag kan inte säga något mer om det, men var beredd att göra din due diligence och testa din vilja, styrka och kreativitet.

efter två dagar fick jag e-postmeddelandet som meddelade mig att jag hade passerat.

OSCP mail

slutsats

sammantaget rekommenderar jag kursen för alla:

  • sträva efter att vara konkurrenskraftiga i informationssäkerhetsbranschen
  • vill finslipa sina penetrationstester färdigheter
  • ha kul med en utmanande lab nätverk
  • strävar efter att stärka sin grus och anda (allvarligt)

kursen och tentamen testar din kunskap, din kreativitet och dina nerver. Men om du lyckas öka och förbättra alla tre, har du definitivt avancerat ett steg högre i infosec-världen.

 OSCP cert

Write a Reply or Comment Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Senaste inläggen

  • SKYbrary Wiki
  • Population och evolutionär genetik
  • Perioperativ lunghypertension
  • Pesaha Appam / Indariappam och Paal
  • en kort historia av kaniner
  • Dumpa och baka köttbulle ravioli gryta
  • Maskinteknik HQ

Arkiv

  • mars 2022
  • februari 2022
  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org