OSCP – Cesta k certifikaci

V tomto příspěvku se bych se rád podělil o tipy, jak se připravit na OSCP certifikaci.

Na úvod řeknu, že jsem začínal jako vývojář a později jsem se dostal k administraci databází a Linuxu, což je výhoda. Už jednou jsem se o OSCP neúspěšně pokusil, to byl ještě kurz postaven na linuxové distribuci BackTrack. Po pěti letech, kdy jsem sbíral zkušenosti jako pentester webových aplikací, jsem se k tomuto kurzu vrátil, abych se znovu zapotil.

Co je to PWK a OSCP

Penetration Testing with Kali (PWK) je respektovaný pentesterský kurz od Offensive Security, který spadá do oblasti síťové bezpečnosti. Lajcky řečeno se zde naučíš používat Kali v k nabourávání zranitelných windows a linux systémů včetně síťových služeb a webových aplikací. Nejedná se o kurz pro začátečníky, proto je třeba mít alespoň nějaký základ v sítích a linuxu.

Konec PWK kurzu můžeš zakončit certifikací OSCP. Podmínkou certifikace je úspěšné složení zkoušky. Máš 24 hodin na to, abys hacknul 4 stroje a získal alespoň 75 bodů ze sta. Dalších 24 hodin máš na psaní pentest reportu, kde dokumentuješ útoky krok za krokem.

Aby studenti nešidili a certifikace neztrácela kredit, jsou zkoušky pod dohledem web kamery a monitorovacího softwaru (bez záznamu zvuku), tzv. “proctored exam”.

Jakou variantu kurzu zvolit

Kurz jsem objednal ve variantě s 90 dny v labech, protože prvních 14 dnů jsem strávil sledováním videí, čtením studijních materiálů a psaním úkolů. Devadesát dnů vytváří příjemnou rezervu pro neočekávané události a krátkou dovolenou.

Kolik času jsem tomu věnoval

Osvědčil se mi režim 3 až 6 hodin denně, podle toho, kolik jsem měl energie. Devadesát dnů v labech je dlouhá doba a těžko bych si mohl vzít tak dlouhou dovolenou. Proto je lepší zainvestovat, koupit delší laby a chodit normálně do práce. O víkendech jsem většinou po 5h ztrácel zájem, mozek opravdu potřebuje změnit činnost.

Doporučuji si promluvit s rodinou, že určitý čas budete k vůli kurzu sociálně mimo.

Laby a reporting

Zkouknul jsem videa, přečetl lab manuál a jsem připraven na první srtoje v labech. Vše začíná čtením požadavků na reportování lab mašin, abych nepodcenil dokumentaci a nemusel se zpátky vracet.

V labech je kolem 50 strojů celkem ve třech sítích. Pro učení je nejdůležitější veřejná síť. Při hackování jednotlivých strojů jsem se za ničím nehnal. Nemá smysl propadat šílenství, že jsem teprve ve třetině. Tento kurz je o totiž o něčem jiném. Je o budování metodiky testování a samostatném učení i mimo osnovy kurzu. To znamená, že si během kurzu tvořím vlastní poznámky, googlím, píšu skripty a doplňuji do metodiky nové postupy s každým vyhackovaným strojem.

Soustředil jsem se na stroje ve veřejné síti, které byly přímo exploitovatelné (cca 35), což mi na přípravu ke zkoušce stačilo. Každý stroj je nakonfigurován určitým způsobem, abyses naučil novou techniku exploitace nebo eskalace. Ostatní stroje vyžadují nějakou závislost, kompromitaci jiného stroje. Z tohoto pohledu nepodceňuj fázi post exploitace, tzn. sbírat hesla, jejich otisky, prošmejdi databáze, windows registry, arp tabulky (s kým server komunikoval) a další místa, která otvírají dveře dál.

Protože jsou virtuály po útocích od jiných studentů “pohmožděné”, vždy si na začátku virtuál restartuju v “control panelu” do čistého stavu.

Fórum a IRC kanál

Když už dojdou nápady, není ostuda jít na studentské fórum a projít myšlenky ostatních a posbírat nové nápady a vyzkoušet je. Fórum se vyplatí prohledat i na určité téma a techniky, které mi nedají spát.

Na IRC kanál jsem přišel jen jednou, když jsem se zasekl opravdu na jednom stroji, který musel mít speciální payload. Ale v zásadě, alespoň pro mne, je IRC ztráta času.

Lab report

Lab report je dokumentace útoku alespoň na 10 unikátních systémů v labech. Tato dokumentace je sice nepoviná, přihraje 5 bodů ke zkoušce.

Průběžně kompletuji lab report, ikdyž mám strukturované poznámky v nástroji cherrytree, uklazuje se, že lab report je čitelnější. Když roste počet hacknutých strojů, je problém v poznámkách najít správný sled kroků.

K některým strojům jsem se totiž zpětně vracel, protože jsem ošidil post exploitaci, nebo bylo potřeba zkompilovat lokální exploit na jiném systému, se starším kernelem a knihovnami.

OSCP zkouška

Zkouška je obrazem získaných znalostí v labech. Co se v labech naučíš ti ke zkoušce stačí. Bohužel máš omezený čas a platí zde další restrikce, např. omezené použití Metasploitu u kterého se na chvíli zastavím.

Omezení Metasploitu

Na Metasploitu není nic špatného a v labech jsem jej používal mnohokrát, jde spíše o to, naučit se exploitovat podruhé bez Metasploitu. Získané zkušeností při hledání a ohýbání manuálního exploitu jsou k nezaplacení.

Instrukce ke zkoušce a podpora

Jakákoliv chyba, třeba i špatně zkompletovaná dokumentace v archivu znamená “fail”. Vyplatí se projít instrukce k OSCP zkoušce na stránkách podpory.

Ještě před zkouškou jsem na support poslal dotaz ohledně dokumentace a její archivace, abych měl čistou hlavu.

Jak zůstat při smyslech

Nakoupil jsem si ořechové tyčinky, energy drinky a kolu. Den předem jsem si naordinoval klid a vybubnul se s dětmi. Zkoušku jsem si naplánoval na 9h ráno, abych se mohl pořádně vyspat.

Soudný den

Patnáct minut před zkouškou jsem s dozorčím zkontroloval web kameru a monitorovací software, pak jsem dostal instrukce ke zkoušce s VPN přístupem.

Začal 24 hodinový boj. Můl plán dopředu počítal s 6 hodinovým spánkem a časovými úseky, kdy bych měl končit s jednotlivými stroji (4), ale díky postupující unávě mi vše trvalo déle.

Musel jsem vytrvat a dal jsem 20h maraton, hacknul všechny stroje bez použití Metasploitu, protože jsem pořád čekal na obtížný stroj a nevěděl, jsem který to je. Jediná indikace bylo bodové ohodnocení za každý stroj v zadání.

Nakonec jsem hacknul téměř všechny stroje, nepodařila se mi poslední eskalace na administrátora, ale to už jsem věděl, že mám dostatek bodů.

Únavou jsem už padal na “hubu” a tak jsem raději udělal poslední kontrolu. Prošel jsem si poznámky, že mám všechny potřebné screenshoty s interaktivními terminály, kde figurovala IP adresa spolu s obsahem trofeje, která prokazuje získání lokálního nebo administrátorského oprávnění.

Nechal jsem otevřená všechna okna, rozloučil jsem se s dozorem, přerušil VPN a do postele jsem padnul jako špalek.

Druhý den

Druhý den mě čekal reporting, tj. vypracování auditní zprávy s přesným postupem a manažerským shrnutím. Prošel jsem znovu všechny nálezy, ujistil se, že tam jsou trofeje, správné screenshoty a vše řádně uložil do šifrovaného archivu. Archiv jsem uploadnul a získaný link jsem odeslal emailem podle instrukcí.

Rozhodnutí

Po pěti pracovních dnech, kdy jsem v pravidelných intervalech kontroloval svůj mail se snahou na vše zapomenout, jsem konečně dostal vyrozumění, které začínalo slovy “Dear Petr, we are happy to inform you that…” a to už bylo jasné, že jsem OSCP certifikaci zvládl.

Závěr

OSCP zkouška nebyla až tak technicky těžká na exploitaci, což byla moje největší obava, ale bylo třeba zvládnout dobře enumeraci. “Moto try harder” neznamená dělej to složitě, ale dělej správně enumeraci. Vše bylo časově dost na těsno, ale dá se to zvládnout. Hlavním nepřítelem je únava.

Pokud o OSCP certifikaci uvažuješ nebo tě už čeká, držím ti palce a říkám: “když jsem to zvládnul já, dokážeš to i ty a není důležité, jaké skilly máš za sebou”.

Pro ty ostatní, kteří teprve bojují se základy sítí a linuxu a zvažují profesi pentestera, napište. Budu rád za vaše komentáře, které naleznete na našem facebooku.

Blog

Contacts

10 kroků pro bezpečný web

Ať už si stavíte malý blog, eshop nebo dáváte agentuře vyrobit „mikrosajtu“, budete řešit zabezpečení svého webu před útoky z internetu. V následujících odstavcích se dozvíte,…

Read more

OSCP – Cesta k certifikaci

V tomto příspěvku se bych se rád podělil o tipy, jak se připravit na OSCP certifikaci. Na úvod řeknu, že jsem začínal jako vývojář a…

Read more

WABANK – OWASP Top 10 testing

WABANK is deliberately vulnerable web application for security testing according OWASP Top 10 report. Application is free for non commercial usage only.      …

Read more

Kontakty

+420 739 639 132

Petr Juhaňák
V Poli 547
517 71 České Meziříčí
Czech Republic

IČO 01259041