Certified Ethical Hacker v11

Qualche tempo fa scrissi su Twitter che, a distanza di un anno da allora, avrei redatto un post dove sarei andato a riepilogare le mie impressioni sulla certificazione di casa EC-Council. Un anno non è ancora passato ma è doveroso fare qualche considerazione.

Disclaimer

Per prima cosa vorrei sottolieare come questo post non sia frutto di una frustrazione personale, l’esame non l’ho ancora dato e – in linea generale – chiudo sempre il simulatore d’esame con una media dell’80-90% di disposte esatte, ampiamente sufficienti per raggiungere l’obiettivo e mertitarsi l’attestato. Scrivo questo thread come linea guida per tutti coloro i quali sono interessati a voler intraprendere questa certificazione e a leggere la mia esperienza con lo scopo di dar loro visibilità su cosa è questa certificazione.

Facciamo un po’ di chiarezza

Per prima cosa, ECC ha due (o tre) certificazioni CEH: una chiamata “Certified Ethical Hacker C|EH” e una seconda chiamata “C|EH MASTER”. La seconda la puoi iniziare solo al conseguimento della prima ed è composta da due esami (vedi immagine sottostante). Fino a qui tutto chiaro, meno chiaro è che la prima certificazione ha due sotto certificazioni: “essential” e “core”, ma andiamo per gradi.

Img. 1 – C|EH master path, fonte: https://www.eccouncil.org/programs/certified-ethical-hacker-ceh-master/

Parliamo della prima, cioè quella per la quale sto studiando. A primo acchito la situazione sembra chiara ma, vi assicuro, che non lo è stata per la versione 11 (ora siamo alla 12 e qualcosa è cambiato – nda) dove, per poter reperire queste semplici informazioni, ci sono voluti mesi di chiamate ed email ai vari enti preposti prima di avere una situazione chiara.

Facciamo un passo indietro

Ho iniziato il mio percorso in questa direzione con l’idea di voler ottenere l’attestato di C|EH MASTER: sapevo che di certificazioni in ambito security ce ne sono a bizzeffe li fuori – ognuna con i suoi pro e i suoi contro – ma d’altronde mi sono anche detto che da qualche parte bisognava pur iniziare e quindi presi il coraggio a due mani e mi iscrissi.

Passo numero uno: iniziamo con la certificazione “Certified Ethical Hacker C|EH”… e qui, manco a dirlo, sono sorti i primi problemi.

Strike one!

Senza entrare troppo nel dettaglio, l’accademia (che non è EC-Council – è bene tenerlo in mente) mi inserisce in una nuova classe composta da ragazzi miei coetanei. Il corso prevede un giorno alla settimana di lezione online, in orario serale per raccogliere le esigenze di tutti i partecipanti in quanto lavoratori.

Tolta via la prima lezione di accoglienza dove si fanno le presentazioni del caso e ci si presenta fra i vari partecipanti, il resto del corso – per tre lunghissimi mesi – non ha parlato di nulla o quasi. Tre mesi dove il docente, senza un libro di testo (elemento presente a contratto e che la scuola avrebbe dovuto fornire in dotazione in formato elettronico) o una traccia definita si è barcamenato ripetendo alla nausea le stesse dieci slide su due concetti quali la triade CIA e qualche accenno teorico e veramente elementare di reconnaissance.

Tre mesi.

Tre infiniti mesi, dodici lezioni di due ore ciascuna, dove a seguito di ripetute richieste di avanzamento del programma (mai avvenuto), accesso alla documentazione ufficiale (mai fornita) sono culminati con un quiz che definire imbarazzante risulterebbe un eufemismo.

Cos’è il ping? Cos’è un hacker “back hat”? La fase di exploit viene prima o dopo la fase di enumeration?

Ovviamente non racconto questa storia per denigrare il corso ma, stante alla brochure, mi sarei aspettato altro visti gli argomenti presenti.

Img. 2 – Gli argomenti del corso, fonte: https://www.eccouncil.org/programs/certified-ethical-hacker-ceh/#get-certified

Decido pertanto di sporgenre reclamo ufficiale all’accademia invitando loro a prendere visione delle registrazioni delle lezioni per amor di confermare il mio disappunto.

E così è avvenuto: il corso è stato sospeso in attesa di formare nuove classi.

Ma perché si è verificata questa situazione?

Domanda lecita e la risposta è il motivo per il quale ho allungato il brodo fino ad ora.

A quanto mi è stato riferito, fino alla versione 11, l’EC-Council per il corso “Certified Ethical Hacker C|EH”, declina due sotto categorie: una chiamata “essential” e l’altra chiamata “core”. Per nessuna delle due categorie ci sono dei prerequisiti di ingresso e come si intuisce dal nome le due certificazioni coprono argomenti diversi, con profondità differenti ed esami distinti ma, in termini di attestato, che tu consegua la versione “essentials” o la versione “core” questo non cambia: tu sei certificato come Ethical Hacker.

Come è facile intuire ci rimango di sasso. Due percorsi di studi che portano ad essere comunemente riconosciuti come una figura accreditata fa già arrabbiare di suo: tanto vale prendere la strada più semplice se il risultato è lo stesso. Poi, in seconda battuta, l’essere stato inserito in un corso “essentials” dopo aver precedentemente comunicato al colloquio personale prima di iniziare il corso gli oltre venti anni di esperienza in ambito network e sicurezza mi hanno destabilizzato.

Chi l’ha scelto? Come mai ECC ha questo modo di erogare il corso? Nessuna di queste domande ha avuto risposta.

Chiedo il rimborso, mi viene negato ma ci lasciamo con la promessa che sarei stato inserito in un corso “core” con professionisti che seguono il programma, documentazione ufficiale e laboratori.

Strike two!

Dopo poco meno di due mesi l’accademia mi informa che la classe è stata formata quindi a breve si comincierà nuovamente. E questa volta sul serio.

Arriva il giorno, presentazione del nuovo corso, qualche scusa del caso sul qui pro quo della precedente esperienza e poi si aprono gli account sulla piattaforma ASPEN per – finalmente – prendere possesso del libro di testo, dei laboratori e del voucher per l’esame.

Img. 3 – La copertina del libro di testo

La prima cosa che mi ha colpito sono le oltre 2200 pagine di manuale: fra me e me ho pensato “ok, ci siamo, in oltre 2000 pagine ci saranno argomenti super interessanti, cose da imparare, esercitazioni, approfondimenti, etc”.

TL;DR No, mi sbagliavo. Ma andiamo con ordine.

Le lezioni sono più dinamiche. Il docente è “uno alla mano” e iniziamo fin da subito a mettere le mani nella marmellata sui laboratori i quali sono ordinati e divisi in moduli come i capitoli sul libro di testo: tutto molto ordinato. Pollice su!

Il voucher per l’esame e i laboratori

I laboratori consistono in una serie di macchine virtuali (client e server, windows, linux e android) sulle quali bisogna compiere dei task atti a eseguire una particolare attività: uno scan con nmap, un flooding con hping3 e via discorrendo in base al capitolo che si sta affrontando.

Tutti i task sono descritti passo passo con dovizia di particolari e, per ciascun passaggio, sono riportari gli screenshot che rivelano l’output che dovresti ricevere. Personalmente non lo trovo un buon metodo per affrontare un laboratorio, avrei preferito qualcosa meno “leggi, esegui e confronta” ma questo è un giudizio strettamente mio.

Le cose che proprio non sono tollerabili, presenti in almeno un’esercitazione di ciascun laboratorio, sono:

Molto spesso l’output ricevuto non è conforme allo screenshot. Questo comportamento lo ha fin da subito sottolineato anche il docente asserendo che sovente la descrizione dell’esercitazione non è aggiornata al prodotto che si sta studiando. Tradotto in parole povere: la documentazione fa riferimento al prodotto “X” sulla piattaforma “Y”, ma il laboratorio mette a disposizione la versione del prodotto “X2” sulla piattaforma “Y2”.

Molti dei tool proposti, sia per windows che per linux, fanno riferimento a versioni e tecniche vecchie che potevano andar bene quindici o vent’anni fa. Ho eseguito laboratori con tool come LOIC, HOIC, WinNuke, ZoneAlarm, etc. Roba che oggi neanche più “funziona”. Capisco la “didattica” e cioè prediligere il concetto piuttosto che il “prodotto”, ma nel 2023 cosa serve lanciare LOIC (uno a caso) e vedere che la CPU della vittima sale si e no del 2%? Un refresh generale dei tool e delle tecniche proposte credo proprio che sia cosa necessaria.

Molti tool sono a pagamento e per sbloccare le funzionalità richieste dall’esercitazione bisogna registrarsi per scaricare il prodotto se non addirittura dare una carta di credito per sbloccare la modalità trial.

Talvolta le esercitazioni sono lente. Prendo ad esempio quella su SNORT (ma ovviamente ce ne sono a bizzeffe di questi esempi): ci vogliono oltre quaranta minuti per mettere in piedi tutto l’ambiente con il solo scopo di mostrare come logga un ping da una macchina all’altra!

La cosa più grave in assoluto è che le domande di esame vertono anche su questi tool. 

Quale senso vogliamo dare ad un corso di formazione professionale che, erogato nel 2023 per preparare nuovi professionisti del settore, fa vertere la tua abilitazione alla certificazione su prodotti e tecniche che oggi non vengono più utilizzati in quanto obsoleti?

Dulcis in fundo, dopo sei mesi, l’accesso ai laboratori scade e questo causa altre frustrazioni.

Il voucher per l’esame, una volta iscritti sulla piattaforma ASPEN, dura ventiquattro mesi: perché non allineare la durata dei laboratori a quella del voucher?

Chiedo spiegazioni in segreteria, ne parlo con il docente e il responsabile del corso e quello che ne viene fuori sono risposte che lasciano il tempo che trovano: eh, l’abbiamo scoperto anche noi da poco… è stata una doccia fredda anche per noi… sono decisioni che prende direttamente l’EC-Council senza avvisare… ma se vuoi si possono estendere i laboratori di altri sei mesi per 800€!

Anche no, andiamo avanti senza.

Il libro di testo

Se sei arrivato fino a qui vuol dire che sei interessato e quindi ti parlerò anche del libro di testo.

Questo non è mal fatto, anzi, ma ha il brutto vizio di declinare qualsiasi argomento in sotto categorie che non hanno un riscontro nella realtà, un esempio su tutti? Andiamo al capitolo dei “virus/malware”: per ECC esistono quattordici categorie di virus quali (cito e traduco dal manuale)

  • Virus – Progettato per diffondersi da un host all’altro e ha la capacità di replicarsi. Non possono riprodursi/diffondersi senza aiuto. Funzionano inserendo o allegandosi a un programma o documento legittimo per eseguirne il codice.
  • Macro Virus – Scritto in un linguaggio macro (es: VBA) e indipendente dalla piattaforma.
  • Compression Viruses – Un altro tipo di virus che si aggiunge agli eseguibili nel sistema e li comprime in base alle autorizzazioni dell’utente.
  • Stealth Virus – Nasconde le modifiche apportate; intercettando le sue richieste al sistema operativo e fornisce informazioni false e fasulle.
  • Polymorphic Virus – Produce copie varie operative di se stesso. Un virus polimorfico può non avere parti che rimangono identiche tra le infezioni, rendendo molto difficile il rilevamento utilizzando le firme.
  • Multipart Virus – Tenta di infettare sia il settore di avvio che i file; si riferisce generalmente a virus con più metodi di infezione
  • Self-garbling (metamorphic) virus – Si riscrive ogni volta che infetta un nuovo file.
  • Boot Sector Virus – noto come virus di sistema; sposta il settore di avvio in un’altra posizione e quindi inserisce il suo codice nella posizione originale
  • Shell Virus – avvolge il codice di un’applicazione, inserendosi prima di quello dell’applicazione
  • Cluster Virus – modifica le voci della tabella delle directory in modo che ogni volta che viene aperto un file o una cartella, il virus venga eseguito
  • Encryption Virus – utilizza la crittografia per nascondere il codice dall’antivirus
  • Cavity Virus – sovrascrivere porzioni di file host in modo da non aumentare la dimensione effettiva del file; utilizza sezioni di contenuto nullo
  • Sparse Infector Virus – infetta solo occasionalmente (ad es. ogni 10 volte)
  • File Extension Virus – cambia le estensioni dei file per trarre vantaggio dalla maggior parte delle persone che li hanno disattivati (readme.txt.vbs viene visualizzato come readme.txt)

Capite? Molte di queste definizioni non fanno riferimento a “tipologie di virus” ma piuttosto a tecniche usate per la loro esecuzione o il loro offuscamento.

Queste sottocategorie, a mio avviso fuorvianti ed inutili, si traducono in domande di esame le quali non attestano se tu hai compreso il funzionamento generale di un virus o la sua funziona, ma piuttosto attestano che hai imparato a memoria queste sotto categorie che ECC ha categorizzato di sana pianta secondo un suo criterio. Quindi, dal mio punto di vista, è inutile! Come è inutile doversi ricordare a memoria le porte TCP usate dai virus “storici” (e vi assicuro che nel simulatore di esame ce ne sono di domande del genere)! Quale senso ha sapere quale porta usa/ha usato il virus “Dumaru.Y”? Perchè c’è una domanda di questo genere? Che senso ha ai fini della certificazione?

Ma di questi esempi ce ne sono decine e decine ad ogni capitolo, talune anche addirittura completamente capate in aria! Per ECC una tecnica di “sniffing” su di una rete locale è il “DHCP Starvation”, tecnica usata per inondare di richieste il DHCP server con lo scopo di saturare tutto il pool di IP disponibili. Sniffing?! Questo a me suona più con un DoS!

Altra cosa e poi mi taccio, tecnica di mitigazione contro lo sniffing: usare Wireshark. Davvero? Avrei giurato che Wireshark fosse uno strumento per analizzare il traffico di rete e non mitigare un potenziale sniffer in rete.

Considerazioni ad oggi

Come ho scritto all’inizio di questo articolo, l’esame non l’ho ancora dato e pertanto l’unica cosa che posso fare è il punto ad oggi.

Come chiaramente traspare la mia esperienza è negativa nella gestione e nell’erogazione (e qua è colpa di chi eroga il corso) e negli argomenti trattati (e qui la colpa è di ECC) il che porta a dare un giudizio insufficiente e negativo al corso. Tuttavia è stato pagato, non c’è modo di avere un rimborso e quindi lo porterò a termine.

E indipendentemente da come andrà, sarà un’insuccesso.

EOF

1 commento su “Certified Ethical Hacker v11”

Rispondi