Caratteristiche e fasi del processo di penetration testing (pen test)

Caratteristiche e fasi del processo di penetration testing (pen test)

Il penetration testing (o informalmente pen test) è un’attività che serve a scoprire ed individuare le problematiche di un determinato sistema. È quindi un’analisi effettuata dall’interno o dall’esterno del sistema che ci permette di rilevare le vulnerabilità che questa area analizzata possiede e sfruttare le sue debolezze. Vengono valutati così tutti i componenti dell’infrastruttura IT, le applicazioni, i dispositivi di rete e la sicurezza fisica. Si può anche pensare al penetration testing cercando di immedesimarsi nella mente di un hacker. Si utilizzano tecniche che questo personaggio malevolo potrebbe a sua volta sfruttare simulando i suoi comportamenti. Vengono infatti definiti hacker, nella terminologia più comune, tutti coloro che senza alcuna autorizzazione hanno l’accesso ad una infrastruttura IT. È infatti questa la grande e maggiore differenza fra un pentester ed un hacker, entrambi sfruttano le stesse metodologie e tecniche per intervenire in un sistema, i pentester però sono persone autorizzate che non possono permettersi di distruggere l’infrastruttura del proprio cliente. Differenza anche essa molto importante tra pentester e hacker è che il primo deve trovare tutte le vulnerabilità presenti in un sistema, non solo quelle che gli permettono di avere accesso privilegiato al sistema.

Caratteristiche e fasi del processo di penetration testing (pen test)

Andiamo a parlare più dettagliatamente del penetration testing e come prima cosa vediamo che ci sono due tipologie alla base di approccio a questa attività: black-box testing e white-box testing. La differenza principale tra queste due tipologie di approccio è la quantità di informazioni che un penetration tester possiede sui sistemi da testare.

Penetration Testing Phases

Il processo di penetration testing può essere suddiviso in più fasi o step, che in linea di massima si identificano in tutte le tipologie di penetration testing. Alcune metodologie hanno utilizzato nomenclature differenti per le varie fasi, ma tutte portano allo stesso obiettivo. La panoramica completa della metodologia di penetration testing quindi ci porta a dividere questa attività in 3 fasi principali chiamate: Pre-Attack Phase, Attack Phase e Post-Attack Phase.
Queste fasi seguono in sequenza e le attività di ciascuna fase dipende nello specifico dalle regole decise nell’ingaggio dell’attività di penetration testing.

Pre-attack Phase

La fase di pre-attacco è l’inizio di un penetration testing. In questa fase infatti si tenta di scoprire ed individuare più informazioni possibili riguardo il sistema che si sta cercando di analizzare.
In particolare coinvolge la reconnaissance, che si può dividere in passiva ed attiva, ma entrambe sfruttano la potenza di internet. La reconnaissance passiva utilizza le informazioni disponibili sul web e coinvolge attività come l’ottenimento di informazioni di registrazione, prodotti, servizi ecc.. Nella reconnaissance attiva invece, si tenta di mappare il profilo internet dell’obiettivo. Infatti in questa attività, a differenza dell’altra, l’obiettivo è in grado di rintracciare i passi del penetration tester perché si parla di attività come il fingerprinting, port scanning, network mapping, perimeter mapping and web profiling.

Attack Phase

Questa è la fase principale del penetration testing dove si può ottenere il completo controllo del sistema. In questa fase si utilizzano tutte le tecniche e le possibilità per riuscire a sfruttare le vulnerabilità che si sono individuate nella fase precedente, perché è proprio sfruttando esse che si riesce ad ottenere il controllo della macchina.

Una volta che l’obiettivo è stato acquisito si tenta di escalare i privilegi, sfruttando l’obiettivo e installando una o più applicazioni che ci permettono di mantenere l’accesso nella macchina target, si tenta quindi il più possibile di sfruttare il sistema che è stato compromesso e quindi cercare anche di estendere il proprio controllo ad altri sistemi della rete.
Per privilege escalation si parla di una fase successiva allo sfruttamento della vulnerabilità. Significa quindi acquisire il controllo delle risorse di una macchina normalmente precluse a un utente. Un utente con maggiori autorizzazioni di quelle di un semplice utente viene chiamato utente root e riesce ad avere accessi privilegiati rispetto agli altri.

In questo caso vengono utilizzate tecniche come il brute force per ottenere lo stato di autenticazione, l’uso di buffer overflow, exploit, Protocol Analyzers, sono mezzi che ci permettono l’escalation dei privilegi nel sistema obiettivo e si farà di tutto per sfruttarli al massimo e sfruttare al massimo le loro potenzialità.

Post-Attack Phase

La fase di post-attacco prevede prima di tutto il ripristino dello stato iniziale del sistema che si è andati ad analizzare.
Vengono quindi ripristinati i sistemi al loro stato di pre-test originale, vengono quindi rimossi dei file di root installati o dei programmi backdoor, ripristinati i dispositivi di rete e l’infrastruttura di rete, effettuata la pulizia delle voci di registro aggiunte durante lo sfruttamento e rimosse infine le condivisioni e le connessioni stabilite durante la fase di accesso.

Viene poi effettuato un report in cui vengono mostrati tutti i risultati del penetration test. Il report deve essere un documento molto dettagliato in cui si deve chiaramente spiegare e analizzare ogni singolo passo che è stato effettuato durante la fase di test. Si aggiungono inoltre i suggerimenti ritenuti più opportuni per la correzione degli errori riscontrati.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *