Penetration test: principi, requisiti e best practice
Per chi lavora nella sicurezza da diverso tempo, molto probabilmente nessun lavoro è stato più impegnativo e al tempo stesso appassionante del penetration test professionale (pen testing), o come viene spesso definito, hacking etico. I pen tester e gli hacker etici vengono praticamente pagati per entrare legalmente in computer o dispositivi; se riescono a superare le difese attuali, hanno dato al cliente la possibilità di chiudere il buco prima che un attaccante con ben altre intenzioni lo scopra. Se invece non trovano nulla, il cliente è ancora più felice perché ora può dichiarare il suo prodotto talmente sicuro che persino gli hacker pagati non potrebbero intromettersi. Insomma, una classica situazione in cui vincono tutti.
Questo però non vuol dire che l’hacking etico sia sempre facile. Non lo è e non è nemmeno privo di sfide apparentemente insormontabili in diversi scenari. Se però vi piace essere pagati per rimanere all’avanguardia nella tecnologia e intrufolarvi all’interno di PC e dispositivi di qualsiasi genere, il penetration test è il lavoro che fa per voi.
Cos’è un hacker etico certificato?
Un certo numero di organizzazioni offre formazione e certificazioni di hacking etico/pen testing. La certificazione dimostra che gli hacker etici hanno raggiunto un livello significativo di esperienza nel settore. Agli hacker etici non è sempre richiesto di essere certificati e in effetti molti dei migliori sono autodidatti. Tuttavia, la certificazione offre ai potenziali datori di lavoro maggiore tranquillità sulle qualifiche di un candidato e aprirà maggiori opportunità per posizioni ben pagate e incarichi di consulenza. Alcune delle più rinomate organizzazioni che offrono certificazioni di hacking etico o di pen testing sono SANS, EC-Council, McAfee Foundstone e CREST.
Da hacker a pen tester
Qualsiasi hacker deve mettere in atto alcune misure comuni per diventare un hacker etico, come assicurarsi di avere il permesso documentato dalle persone giuste prima di mettersi all’opera. Non infrangere la legge è fondamentale per essere un pen tester professionale. Tutti gli hacker etici dovrebbero seguire un codice etico per farsi guidare in tutto ciò che fanno. L’EC-Council, creatore dell’esame Certificated Ethical Hacker (CEH), ha uno dei migliori codici di etica pubblica disponibili.
Gli attrezzi del mestiere
Il pen tester di solito ha un set standard di strumenti di hacking che usa sempre, ma potrebbe dover cercare e utilizzare strumenti diversi a seconda del lavoro di hacking etico che deve compiere. Ad esempio, se gli viene richiesto di attaccare server SQL e non ha esperienza su questo versante, il pen tester potrebbe voler iniziare a cercare e testare diversi strumenti di attacco SQL.
La maggior parte dei pen tester inizia con una “distro” Linux specializzata per i test di penetrazione. Le distribuzioni Linux per l’hacking cambiano di anno in anno, ma al momento la distro Kali è quella che i pen tester professionali preferiscono. Esistono comunque migliaia di strumenti di hacking, tra cui un gruppo di tool “irrinunciabili” che quasi tutti i pen tester finiscono prima o poi con l’utilizzare.
L’aspetto più importante di un qualsiasi strumento di hacking, oltre alla sua natura più o meno adatta per il lavoro da svolgere, è che non contenga malware o altro codice progettato per “hackerare l’hacker”. La stragrande maggioranza degli strumenti di hacking che è possibile ottenere su Internet, soprattutto gratuitamente, contiene malware e backdoor non documentati. Di solito ci si può fidare degli strumenti di hacking più comuni e popolari, come Nmap, ma i migliori pen tester scrivono e usano i propri strumenti perché non si fidano di nulla scritto da qualcun altro.
Conoscere l’obiettivo
Ogni pen tester inizia la propria attività di hacking (escludendo per ora le tecniche di ingegneria sociale) imparando quanto più possibile sugli obiettivi dei test tramite una prima fase di scoperta (o discovery). Bisogna quindi conoscere indirizzi IP, sistemi operativi, applicazioni, numeri di versione, livelli di patch, porte di rete pubblicizzate, utenti e qualsiasi altra cosa che possa portare a un exploit. È raro che un pen tester non si accorga di un’evidente vulnerabilità potenziale trascorrendo solo pochi minuti a osservare un asset. E anche se non vede qualcosa di ovvio, può sfruttare le informazioni apprese in fase di scoperta per analisi continue e tentativi di attacco.
Attaccare l’obiettivo
Questo è ciò per cui viene pagato l’hacker etico (il cosiddetto “break-in”). Utilizzando le informazioni apprese durante la fase di scoperta, il pen tester deve sfruttare una vulnerabilità per ottenere un accesso non autorizzato. Se l’hacker non è in grado di intromettersi in una determinata risorsa (ma ciò è molto raro), deve provare altre risorse in altri ambiti.
Certo, ci sono pen tester che non sempre trovano exploit e raggiungono i loro obiettivi di hacking, ma attraverso un processo di scoperta e indagine abbastanza approfondito la parte che viene dopo non è così difficile come molti credono. Per essere un buon tester di penetrazione o un hacker etico, non ci vuole tanto del genio, quanto più pazienza e accuratezza.
A seconda della vulnerabilità e dell’exploit, l’accesso ora acquisito potrebbe richiedere un’escalation di privilegi per trasformare l’accesso di un utente normale in un accesso amministrativo più elevato. Questo può richiedere l’utilizzo di un secondo exploit, ma solo se l’exploit iniziale non ha già fornito l’accesso privilegiato dell’attaccante.
In base all’obiettivo da perseguire, il rilevamento delle vulnerabilità può essere automatizzato utilizzando un software di scansione di vulnerabilità, che di solito trova vulnerabilità ma non le sfrutta per ottenere accessi non autorizzati.
Successivamente il pen tester usa il computer attualmente sfruttato per ottenere l’accesso più vicino alla sua destinazione finale. Pen tester e difensori chiamano questo movimento “orizzontale” o “verticale”, a seconda che l’attaccante si muova all’interno della stessa classe di sistemi o verso sistemi non correlati. A volte l’obiettivo del pen tester professionale deve essere dimostrato come raggiunto (rivelando ad esempio segreti di sistema o dati riservati), oppure può bastare la semplice documentazione di come l’azione sarebbe potuta essere eseguita con successo.
Il futuro del pen testing
Come ogni altra disciplina di sicurezza IT, anche il pen testing professionale sta andando incontro a un’importante maturazione. Gli hacker autonomi che mostrano semplicemente abilità tecniche senza professionalità e “raffinatezza” stanno diventando meno richiesti. I datori di lavoro sono infatti alla ricerca dell’hacker professionale completo, sia nella pratica, sia negli strumenti che utilizza.
Toolkit migliori
Il software di penetrazione o di test di vulnerabilità è sempre stato parte del toolkit di hacker etico. Uno degli sviluppi più intriganti del pen testing è quello degli strumenti che essenzialmente fanno tutto il lavoro, dalla scoperta fino allo sfruttamento delle vulnerabilità. Un esempio di questo tipo di strumento è Bloodhound.
Bloodhound è un tool open source che consente agli aggressori di vedere, graficamente, le relazioni tra diversi computer su una rete di Active Directory. Se si inserisce un target desiderato, Bloodhound può aiutare a vedere rapidamente più percorsi di hacking per arrivare a quell’obiettivo, spesso identificando percorsi che non si sapeva nemmeno esistessero.
Gestione del rischio
Non è sufficiente consegnare un elenco delle vulnerabilità rilevate al resto dell’azienda e considerare finito il lavoro. Oggi i pen tester di professione devono collaborare con la gestione IT per identificare le minacce più grandi e più probabili. Ecco perché gli hacker etici fanno ora parte del team di gestione del rischio, contribuendo a ridurre in modo efficiente i rischi ancor più delle semplici vulnerabilità. Ciò significa che i pen tester forniscono ancora più valore mostrando alla direzione e ai difensori cosa è più probabile che accada e in che modo, e non solo mostrino loro un hack unico che è improbabile che si verifichi da un intruso reale.
Formazione e certificazioni
Oggi esistono diversi tipi di strade per chi vuole diventare un pen tester professionista, tra cui una vasta gamma di corsi e certificazioni. Questi corsi tenuti da istruttori esperti comportano spesso l’utilizzo di diversi strumenti di hacking in sofisticati laboratori di simulazione. Gli studenti che conseguono la certificazione o la certificazione entrano a far parte di una più ampia comunità di pen-tester, continuando la loro formazione e contribuendo alla società che li ha insegnato così tanto.
Resta il fatto che il pen testing non è una professione per tutti. Richiede infatti di diventare esperti in diverse tecnologie e piattaforme, nonché un desiderio intrinseco di vedere se qualcosa può essere rotto e scardinato. Se però avete questo desiderio e siete in grado di seguire alcune linee guida legali ed etiche, anche voi potreste diventare un pen tester.