/ penetration testing

Recensione del corso eLearnSecurity WAPTv2

ewpt_certificate_sm

Intro

Sono passati circa due mesi da quando la mia azienda ha deciso di acquistarmi il corso di eLearnSecurity sul penetration testing delle applicazioni web.
Ho deciso di scrivere questa recensione mentre aspetto i risultati dell'esame, consegnato domenica scorsa.
Lo scopo di questa recensione è quello di dare la mia opinione senza filtri su uno dei pochi corsi che copre il vasto mondo del penetration testing degli applicativi web.

Il materiale del corso

Come negli altri corsi di eLearnSecurity, il materiale del corso comprende:

  • Slide in HTML5/PDF;
  • Video in HD per chiarire concetti spiegati nelle slide.

Come letto in molte altre recensioni, la qualità del corso è molto alta.
I contenuti sono dettagliati e partono dalle basi della materia per arrivare a livelli discreti.
Il corso è suddiviso in 13 capitoli:
Schermata-del-2018-04-16-16-59-41
2
In generale, sono rimasto molto contento dalla scelta degli argomenti da trattare, fatta eccezione per:

  1. Enfasi sui Web Services SOAP. Mi sarebbe piaciuto un bell'approfondimento sull'architettura REST, dato che oggi giorno la maggior parte dei servizi web esposti seguono tale schema. Il corso risale al 2015, quindi tutto perdonabile.
  2. Flash. Beh che dire, è giusto conoscere i modelli di sicurezza del maggior numero possibile di tecnologie, ma essendo Flash in forte decaduta (anche prima del 2015, credo) magari non era necessario spenderci così tanto tempo (e fidatevi, il capitolo di Flash è veramente lungo).

I laboratori

Adesso viene il bello.
eLearnSecurity va molto fiera dei suoi laboratori virtuali che mette a disposizione dei propri studenti.
Con ben 12 laboratori che coprono ogni argomento spiegato nel corso, non ho dovuto utilizzare altro materiale per preparare l'esame.
Schermata-del-2018-04-16-17-09-50
Lo stile dei laboratori è molto simile a quelli del corso PTPv4, ogni lab è composto da una serie di task da completare fino ad arrivare all'obiettivo finale.
Come scrissi nella recensione del corso PTP, l'avere dei laboratori guidati ha i suoi lati positivi e negativi:

  • Per chi non ha mai fatto un PT su una web application, sicuramente l'approccio guidato aiuta molto a prendere confidenza con la metodologia e gli strumenti.
  • Per chi ha già esperienza nel penetration testing, come me (anche se molto ridotta), troverà pane per i suoi denti nelle challenge. Le challenge sono dei laboratori senza soluzione, e soprattutto senza task specifici da seguire! Se i laboratori guidati vi sembreranno troppo semplici, non rimarrete delusi dalle challenge. Ricordo ancora la soddisfazione dopo aver completato la challenge del laboratorio dell'HTML5.

Vengono messe a disposizione degli studenti anche le applicazioni web utilizzate negli esempi dei video/slide senza specifici task da portare a termine, molto utile per seguire e ripetere passo passo gli attacchi mostrati durante il corso.

Giusto una nota, la scelta degli hostname!
Mi spiego meglio. Si accede alle web app dei laboratori tramite un hostname, prima di iniziare il test dovrete quindi impostare come DNS resovler principale il DNS server indicato nelle istruzioni.
E quindi dov'è il problema?
Semplice, qualcuno ha pensato bene di registrare qualche hostname utilizzato all'interno dei laboratori (magari manco l'hanno fatto apposta, però uffa comunque)! Ogni volta che una risuluzione DNS verso il server all'interno della VPN falliva per qualche motivo, mi ritrovavo pubblicità coreane un po' strane (credo che siano coreane, correggetemi se sbaglio).

Schermata-del-2018-04-16-17-22-22
Avrete l'occasione di fare molta pratica nei laboratori, vi invito ad uscire un po' dal tracciato e a sperimentare tecniche alternative per raggiungere l'obiettivo; Ricordo molto distintamente di aver speso diverse ore per scriptare tutte le SQL Injection all'interno dei lab con Python per non dover usare SQLMap (tante grazie OSCP, non mi sento in colpa solo ad utilizzare netcat)

L'esame

L'esame è sempre nel formato all'eCPPT che ho superato nel lontano Ottobre del 2016. La durata complessiva dell'esame è di due settimane, una settimana per il test e una settimana per la stesura del report.
Ho sentito molte critiche sulla scarsa difficoltà dei loro esami, ma ogni volta eLearnSecurity riesce a farmi sudare freddo.

Provare per credere.

Non vi farò spoiler ma il consiglio che mi sento di darvi, e soprattutto dare a me stesso sperando di tenerlo sempre a mente, è quello di non tralasciare niente.
Alcuni credono che per trovare l'ago nel pagliaio serva fortuna, io credo più nella tenacia e nel metodo rigoroso. So che sembrano consigli un po' a caso, ma in esami come questo possono salvarvi la pelle.

Conclusioni

Sono rimasto molto soddisfatto dal corso creato da eLearnSecurity.
Anche se avevo già esperienza sull'argomento, adesso mi sento molto più sicuro e confidente

E ora?

Ho pensato che fosse carino aggiungere due righe su cosa fare una volta completato il corso per proseguire con lo studio del penetration testing delle applicazioni web.
Mi limiterò ad elencarvi le fonti che io stesso sto utilizzando/utilizzerò:

  • Il libro Web Application Hacker's Handbook. Semplicemente il miglior testo sul penetration testing delle applicazioni web. Indispensabile.
    Schermata-del-2018-04-16-17-52-32
  • eLearnSecurity Web Application Penetration Testing eXtreme. La naturale evoluzione del corso WAPT, contiene tutta una serie di tecniche avanzate che non sono state trattate nel corso base come XXE Injection e bypass di Web Application Firewall.
  • hackerone. Non è una risorsa di studio, ma avrete la possibilità di far pratica con applicazioni web vere e che sono state create per non essere bucate, non semplici esercizi in un lab virtuale!
  • Imparate a sviluppare per il web! Non avete idea di quanto faccia comodo saper effettivamente creare applicazioni web. Affronterete le stesse problematiche ma da tutt'altra prospettiva. Fondamentale per essere sempre sul pezzo.
    Consiglio il fantastico corso sullo sviluppo web con Go che potete trovare sulla piattaforma di Udemy ad un prezzo assurdo (11€) Web Development w/ Google’s Go (golang)
    Schermata-del-2018-04-16-17-49-19

A breve pubblicherò il curriculum completo per lo studio della sicurezza delle applicazioni web, stay tuned!

P.S: Sto scrivendo in italiano, sebbene ci sia più soddisfazione a scrivere in inglese mi prende veramente troppo tempo ed energie.