Ultima modifica:
In questo articolo analizzeremo quella che è stata la mia esperienza con il corso PEN-200 e la certificazione OSCP, nonchè le verie risorse esterne utili al superamento dell'esame.
La mia esperienza con la certificazione OSCP (by 0xbro)
Tradotto da My OSCP Journey
Tempo di lettura stimato: ~15 min
1 Pre-corso
1.1 Backgrund e preparazione
Quando mi sono iscritto al corso PEN-200 avevo lavorato come sviluppatore di software per 2 anni e stavo lavorato come Penetration Tester da altri 2 anni. Prima dell' OSCP non avevo ancora ottenuto alcuna certificazione, l'unico corso che avevo seguito era il PTSv4 di eLearnSecurity, ma senza tentare la relativa certificazione eJPT.
Avendo studiato da autodidatta per circa 4 anni, giocando su HackTheBox da un po' di tempo e lavorando nel settore da un paio d'anni, padroneggiavo già con fiducia i pre-requisiti suggeriti da Offensive Security, così ho deciso di iscrivermi e "tentare la fortuna".
Avendo studiato da autodidatta per circa 4 anni, giocando su HackTheBox da un po' di tempo e lavorando nel settore da un paio d'anni, padroneggiavo già con fiducia i pre-requisiti suggeriti da Offensive Security, così ho deciso di iscrivermi e "tentare la fortuna".
2 PEN-200: corso e laboratorio
Mi sono iscritto alla PEN-200 (PWK 2020) il 15 gennaio 2021. Il corso è poi iniziato il 24 gennaio mettendo a disposizione 90 giorni di accesso al laboratorio.
2.1 Giorno 01-30
Ho passato il primo mese studiando il materiale del corso (850+ pagine di pdf e 17+ ore di video) e facendo gli esercizi necessari per ottenere i 5 punti bonus durante l'esame. Anche se non erano difficili, gli esercizi erano comunque molti e richiedevano molto tempo per essere svolti correttamente (per ottenere i 5 punti bonus gli esercizi devono essere tutti completi e corretti), così ho deciso di iniziarli sin dal primo giorno.
Mentre leggevo il pdf ho anche iniziato a strutturare i miei appunti e i miei cheatsheets da usare durante l'esame, in modo da avere tutti i riferimenti e i comandi utili a portata di mano.
Mentre leggevo il pdf ho anche iniziato a strutturare i miei appunti e i miei cheatsheets da usare durante l'esame, in modo da avere tutti i riferimenti e i comandi utili a portata di mano.
2.2 Giorno 31-60
Finalmente dopo 30 giorni di esercizi e di scrittura appunti sono stato in grado di iniziare ad hackerare alcune macchine. Ho deciso di iniziare il percorso seguendo il PWK Labs Learning Path per poi procedere autonomamente con i "low hanging fruits".
Nel frattempo per ognuna delle macchine compromesse ho preso appunti e ho scritto brevi writeup in modo da avere un executive summary e una breve panoramica per ognuna di esse.
Nel frattempo per ognuna delle macchine compromesse ho preso appunti e ho scritto brevi writeup in modo da avere un executive summary e una breve panoramica per ognuna di esse.
2.3 Giorno 61-90
Durante l'ultimo mese di accesso al laboratorio ho fatto gli extra mile exercises e ho penetrato quante più macchine possibili, cercando di mantenere una media di 1 macchina al giorno.
Allo scadere del tempo del lab ho concluso con 64 macchine compromesse (su un totale di circa 70), un domain controller completamente compromesso e l'accesso a tutte e 3 le reti interne.
Allo scadere del tempo del lab ho concluso con 64 macchine compromesse (su un totale di circa 70), un domain controller completamente compromesso e l'accesso a tutte e 3 le reti interne.
2.4 Dalla fine del lab al giorno prima dell'esame
Tra la fine del corso e l'esame finale ho deciso di lasciar passare un mese per avere il tempo necessario per ripassare o estendere eventuali dubbi o conoscenze precarie, oltre ad avere il tempo materiale per scrivere il report del laboratorio (un writeup completo di 10 macchine con diversi attack vector + tutti gli esercizi del pdf) per totalizzare i 5 punti aggiuntivi.
In questo mese ho seguito anche due corsi su Udemy incentrati sulla Windows Privilege Escalation ("Windows Privilege Escalation for OSCP & Beyond!" e "Windows Privilege Escalation for Beginners") e ho continuato a rootare quante più macchine possibili su HackTheBox (avevo già un abbonamento VIP), ispirandomi agli elenchi online di macchine in stile OSCP.
In questo mese ho seguito anche due corsi su Udemy incentrati sulla Windows Privilege Escalation ("Windows Privilege Escalation for OSCP & Beyond!" e "Windows Privilege Escalation for Beginners") e ho continuato a rootare quante più macchine possibili su HackTheBox (avevo già un abbonamento VIP), ispirandomi agli elenchi online di macchine in stile OSCP.
Durante ogni penetration test ho sempre continuato a prendere appunti e a scrivere note, per mantenere la mia second brain sempre aggiornata e organizzata.
Sono arrivato al giorno prima dell'esame con un totale di 51 macchine rootate su HTB:
Sono arrivato al giorno prima dell'esame con un totale di 51 macchine rootate su HTB:
- Lame - 10.10.10.3
- Legacy - 10.10.10.4
- Devel - 10.10.10.5
- Beep - 10.10.10.7
- Optimum - 10.10.10.8
- Bastard - 10.10.10.9
- Arctic - 10.10.10.11
- Grandpa - 10.10.10.14
- Granny - 10.10.10.15
- Blue - 10.10.10.40
- Shocker - 10.10.10.56
- Jeeves - 10.10.10.63
- Bashed - 10.10.10.68
- Chatterbox - 10.10.10.74
- DevOops - 10.10.10.91
- Bounty - 10.10.10.93
- Jerry - 10.10.10.95
- Active - 10.10.10.100
- SecNotes - 10.10.10.97
- Access - 10.10.10.98
- Querier - 10.10.10.125
- Netmon - 10.10.10.152
- Bastion - 10.10.10.134
- SwagShop - 10.10.10.140
- Writeup - 10.10.10.138
- Jarvis - 10.10.10.143
- Networked - 10.10.10.146
- Postman - 10.10.10.160
- Traverxec - 10.10.10.165
- Obscurity - 10.10.10.168
- OpenAdmin - 10.10.10.171
- Traceback - 10.10.10.181
- Magic - 10.10.10.185
- Admirer - 10.10.10.187
- Cache - 10.10.10.188
- Blunder - 10.10.10.191
- Tabby - 10.10.10.194
- Buff - 10.10.10.198
- Ready - 10.10.10.220
- Delivery - 10.10.10.222
- Tenet - 10.10.10.223
- ScriptKiddie - 10.10.10.226
- Ophiuchi - 10.10.10.227
- Spectra - 10.10.10.229
- TheNotebook - 10.10.10.230
- Armageddon - 10.10.10.233
- Schooled - 10.10.10.234
- Atom - 10.10.10.237
- Love - 10.10.10.239
- Pit - 10.10.10.241
- Knife - 10.10.10.242
Per rispolverare le mie abilità di Buffer Overflow Exploitation ho anche eseguito alcuni esercizi sul modulo di TryHackMe chiamato Buffer Overflow Prep - Practice stack based buffer overflows!
3 Giorno prima dell'esame
Il giorno prima dell'esame sono rimasto completamente lontano dal mondo dell'hacking e da tutto ciò che riguarda la certificazione. Ho riposato, sono stato in compagnia, mi sono divertito e ho cercato di dormire il più possibile in preparazione al grande giorno (sonno che in realtà è venuto a mancare a causa della tensione).
4 Esame
4.1 Giorno 1
L'esame è iniziato alle 9 del mattino, i supervisori sono stati puntuali e non ho avuto alcun tipo di problema con la VPN o con l'accesso alle varie piattaforme.
Ho iniziato subito con la macchina BOF (nel mentre che scansionavo le altre macchine) e dopo circa 1 ora e 45 minuti (sì, mi ci è voluto più tempo del dovuto secondo quanto programmato) ho ottenuto i primi 25 punti senza grandi difficoltà.
In seguito, ho deciso di dare un'occhiata a tutte le scansioni e affrontare una delle due macchine da 20 punti per allentare la pressione. Dopo circa 3 ore ho ottenuto la flag dell'user e dopo altri 45 minuti ho ottenuto i 20 punti completi.
A quel punto ho deciso di proseguire con la seconda macchina da 20 punti. Dopo 2 ore e 30 minuti ho ottenuto la flag per l'user della macchina, dopodichè mi sono bloccato sul processo di privilege escalation per circa 1 ora e 15 minuti così che ho deciso di provare a compromettere la macchina da 10 punti per ripristinare l'equilibrio mentale.
La macchina da 10 punti è stata davvero una passeggiata e mi ci sono voluti meno di 30 minuti per rootarla.
Dopo la macchina Easy ho deciso di provare ad affrontare l'ultima macchina mancante prima di tornare a provare la privilege escalation sulla macchina Medium. Dopo circa 2 ore e 30 minuti di intensa enumerazione sono riuscito a ottenere la user e dopo altri 45 minuti ho ottenuto il flag di root.
Sicuro di aver totalizzato un buon margine di punti per passare l'esame (≈90pt) ho deciso di provare ancora un' ora di privilege escalation, senza comunque riuscire nell'intento. Nel tempo rimanente di accesso alla VPN ho ricontrollato tutte le note, tutti i procedimenti e i vari exploit. Inoltre ho preso le eventuali evidenze mancanti.
Verso l'1:00 AM sono andato a riposare per circa 4 ore e alle 5:00 AM ho iniziato a scrivere il report finale.
Ho iniziato subito con la macchina BOF (nel mentre che scansionavo le altre macchine) e dopo circa 1 ora e 45 minuti (sì, mi ci è voluto più tempo del dovuto secondo quanto programmato) ho ottenuto i primi 25 punti senza grandi difficoltà.
In seguito, ho deciso di dare un'occhiata a tutte le scansioni e affrontare una delle due macchine da 20 punti per allentare la pressione. Dopo circa 3 ore ho ottenuto la flag dell'user e dopo altri 45 minuti ho ottenuto i 20 punti completi.
A quel punto ho deciso di proseguire con la seconda macchina da 20 punti. Dopo 2 ore e 30 minuti ho ottenuto la flag per l'user della macchina, dopodichè mi sono bloccato sul processo di privilege escalation per circa 1 ora e 15 minuti così che ho deciso di provare a compromettere la macchina da 10 punti per ripristinare l'equilibrio mentale.
La macchina da 10 punti è stata davvero una passeggiata e mi ci sono voluti meno di 30 minuti per rootarla.
Dopo la macchina Easy ho deciso di provare ad affrontare l'ultima macchina mancante prima di tornare a provare la privilege escalation sulla macchina Medium. Dopo circa 2 ore e 30 minuti di intensa enumerazione sono riuscito a ottenere la user e dopo altri 45 minuti ho ottenuto il flag di root.
Sicuro di aver totalizzato un buon margine di punti per passare l'esame (≈90pt) ho deciso di provare ancora un' ora di privilege escalation, senza comunque riuscire nell'intento. Nel tempo rimanente di accesso alla VPN ho ricontrollato tutte le note, tutti i procedimenti e i vari exploit. Inoltre ho preso le eventuali evidenze mancanti.
Verso l'1:00 AM sono andato a riposare per circa 4 ore e alle 5:00 AM ho iniziato a scrivere il report finale.
4.2 Giorno 2
Il secondo giorno è stato tutto in discesa. Il report (che avevo già strutturato nei giorni precedenti) è stata solo una question di copia e incolla dagli appunti e un po' di ricerca delle remediations delle vulnerabilità, ma niente di più. Alle 12:27 avevo già finito di controllare il documento e lo avevo già consegnato.4.3 Storico esame
08:30 - Riconoscimento e preparazione dell'ambiente virtuale09:00 - Inizio esame
10:43 - Completata la macchina da 25 punti Buffer Overflow
12:35 - Pausa pranzo (30 minuti)
13:34 - Ottenuta la user su una macchina da 20 punti (1)
14:14 - Rootata una macchina da 20 punti (1)
16:43 - Ottenuta la user su una macchina da 20 punti (2)
18:26 - Rootata la macchina da 10 punti
19:30 - Pausa cena (30 minuti)
21:06 - Ottenuta la user sulla macchina da 25 punti
22:00 - Rootata la macchina da 25 punti
01:05 - Riposo
05:00 - Colazione
05:30 - Iniziato a scrivere il report finale
12:27 - Inviato il report finale
5 Certificazione
Il giorno dopo la consegna dei report del lab e dell' esame (il 01/06/2021 @ 13:12) ho ricevuto l'email di conferma del conseguimento della certificazione.
Offensive Security Certified Professional (OSCP) was issued by Offensive Security to Mattia Brollo.
An OSCP has demonstrated the ability to use persistence, creativity, and perceptiveness to identify vulnerabilities and execute organized attacks under tight time constraints. OSCP holders have also shown they can think outside the box while managing both time and resources.
www.credly.com
6 Panoramica personale
La mia esperienza con questo corso e certificazione è stata complessivamente positiva. Anche se ritengo che il lavoro richiesto per ottenere i 5 punti bonus sia eccessivamente dispendioso in termini di tempo (considerando che l'accesso al laboratorio viene attivato dal primo giorno e che non è possibile interromperlo), l'esperienza all'interno del lab è stata eccezionale: 70 e più macchine quasi tutte diverse tra loro, diversi Active Directory, diverse reti interne da raggiungere, interdipendenze tra diverse macchine... È stato davvero divertente!
PDF e video sono molto ben strutturati e chiari, forse un po' troppo ridondanti nelle due versioni (molte volte i video si limitano a ripetere cose viste nel pdf senza ulteriori approfondimenti). Non un grosso problema comunque.
L'esame è stato impegnativo ma divertente. I report non sono stati un problema.
I concetti chiave per ottenere la certificazione sono principalmente tre:
PDF e video sono molto ben strutturati e chiari, forse un po' troppo ridondanti nelle due versioni (molte volte i video si limitano a ripetere cose viste nel pdf senza ulteriori approfondimenti). Non un grosso problema comunque.
L'esame è stato impegnativo ma divertente. I report non sono stati un problema.
I concetti chiave per ottenere la certificazione sono principalmente tre:
- Try harder (o meglio "Enumerate harder")!
- Organizza bene i tuoi appunti e i tuoi cheatsheet
- Google è il tuo migliore amico
Se riesci a padroneggiare questi concetti, ottenere la certificazione sarà un gioco da ragazzi.
7 Risorse utili
Per vedere questo contenuto, devi Accedere o Registrarti.
Made with ❤ for Inforge