Red Hot Cyber

Sicurezza informatica, cybercrime, hack
news, e altro ancora
  • English

Vulnerability Assessment e Penetration Test. Scopriamo le loro differenze

Autore: Manuel Roccon

Spesso si fa confusione su quello che si intende per Vulnerability Assessment e Penetration Test.

In questo articolo discuteremo cosa si intenda nello specifico per vulnerability assessment (in abbreviato VA) e il penetration test (pentest).

I Vulnerability Assessment (VA)

Il Vulnerability Assessment è il processo di identificazione, quantificazione e priorità (o classificazione) delle vulnerabilità in un sistema attraverso una scansione automatizzata.

Advertisements

Può comprendere qualunque asset: device fisici e virtuali, switch, stampanti, firewall, applicazioni web, software. Può essere eseguito sulla superficie interna o esterna di un’organizzazione (o entrambe).

Lo scopo del VA è individuare tutti i possibili punti di accesso che un hacker potrebbe utilizzare per entrare in un sistema o infrastruttura per violarla e comprometterla attraverso l’utilizzo di un software automatizzato.

Il test individua errori di configurazione sui sistemi, bug di software non aggiornati, porte aperte e servizi erroneamente esposti, tutte situazioni potenzialmente invisibili a molte organizzazioni nelle loro infrastrutture informatiche.

Infine il test ha l’obiettivo di fornire un report finale comprensivo delle CVE (codice della vulnerabilità), indice di rischio e descrizione, comprensive di mitigazioni da applicare.

Advertisements

Qui sotto riportati i principali step di un VA:

Figura 1 – Principali step di un VA

Anche se più possibile preciso sia il test, si tratta comunque di una fotografia di quel momento, future scoperte di nuove vulnerabilità, nuove configurazioni o sviluppi aggiuntive effettuate da parte delle organizzazioni possono cambiare la validità del report fatto, pertanto il test andrebbe programmato e ripetuto a frequenze regolari.

Inoltre c’è da dire, che i Vulnerability Assessment possono introdurre dei falsi positivi, ovvero delle vulnerabilità che vengono individuate ma che poi non risultano essere “exploitabili”, quindi utilizzabili per violare un sistema. Va da se che anche i falsi negativi possono essere presenti, vuoi per la mancanza di plugin disponibili per una determinata CVE o vuoi perché il sistema risulta ben “hardenizzato” da non far comprendere attraverso la tecnica del “banner grubbing” (spesso utilizzata nei sistemi di scansione), le vulnerabilità presenti.

Il Penetration Test

Lo scopo del pentest è iniziare a esaminare degli asset dove il VA si ferma, fornendo altri aspetti di sicurezza invisibili nella prima tipologia di test e concatenare più vulnerabilità di sicurezza capaci di identificare un vettore di attacco capace di compromettere la RID (Riservatezza, Integrità e Disponibilità) del sistema.

Advertisements

Il pentest ha quindi il compito, attraverso tecniche di hacking e metodologie di intrusione di tipo manuale, di “simulare” un attacco informatico. Viene eseguito da un professionista del settore soprannominato white hacker o white hat, e fa parte delle tecniche utilizzate all’interno dei red team in ambito aziendale.

Il test inizia identificando i target e gli entry point dei servizi (come le url delle web application). Una volta identificati gli asset segue una scansione di superficie iniziale alla ricerca delle vulnerabilità, per poi prosegue nello sfruttamento di queste.

L’obiettivo del pentester oltre allo sfruttare uno o più exploit a seguito delle vulnerabilità trovate per accedere ai sistemi, è di cercare di ottenere il privilegio massimo sulle macchine (privilege escalation) e riuscire a muoversi su altri sistemi adiacenti (lateral movement).

Si conclude con analisi e classificazione del rischio, l’elaborazione delle remediation e la generazione di un report complessivo di tutto.

Advertisements

Qui sotto i principali step di un penetration test.

Figura 2 – Principali step di un pentest

Il pentest essendo un lavoro molto oneroso, viene effettuato su assets strategici più che indistintamente in tutti gli asset di una organizzazione.

I principali assets secondo il documento OSSTMM (organizzazione no profit che si occupa di definire degli standard e metodologie di test) sono:

  • commsec (data networks, telco)
  • specsec (wi-fi)
  • appsec (mobile, web, IoT)
  • physec (fisico, umano)

Mentre il VA vengono usati pochi software di scansione automatizzati, il penetration test è molto più complesso. Vengono utilizzati pochi tool standard, tutto dipende dall’esperienza e abilità del pentester, dalle vulnerabilità e dalla tipologia di assets trovati durante il test.

Advertisements

Secondo OSSTMM le tipologie di pentest possono essere classificate come scheda seguente a seconda che attaccato o attaccante abbiano più o meno informazioni.

(per approfondimenti: https://www.isecom.org/OSSTMM.3.pdf)

Figura 3 – classi rappresentate nel documento OSSTMM 3

I principali possono essere:

  • Tandem: l’attaccante e attaccato hanno a disposizione tutti i dettagli riguardo agli asset da analizzare e obiettivi.
  • Double Blind: l’attaccante non dispone di nessuna informazione riguardo il bersaglio e a sua volta l’attaccato non dispone informazioni sul attaccante. Questa modalità simula esattamente la situazione in cui si può trovare un attaccante malevolo (black hat).

Posso esserci anche:

Advertisements
  • Gray Box: L’attaccante è a conoscenza di alcune caratteristiche dell’infrastruttura a differenza del attaccato che è che conosce tutti i dettagli dell’analisi.
  • Double Gray Box: attaccante e attaccato conoscono solo parte delle informazioni.

Questo mix di modalità è dovuto alla finalità del test. Se l’attaccato vuole capire un black hat con le informazioni da lui ricavate dove può arrivare nella violazione e valutarne per esempio anche il sistema difensivo, sceglierà un Double Bind; mentre se attaccato vuole una scrupolosa analisi di alcuni servizi che espone sceglierà un Tandem.

E’ evidente che un Tandem l’analisi è più precisa e veloce avendo già diverse informazioni dall’attaccato, mentre nel Double Bind il lavoro potrebbe essere più lungo e complesso e potrebbe non riportare alcune informazioni visibili all’attaccato.

Per affinare le proprie abilità da pentester è possibile esercitarsi senza alcun rischio su Hackthebox (https://www.hackthebox.com/),  Vunhub (https://www.vulnhub.com/) o Tryhackme (https://tryhackme.com/).

Di seguito propongo un esempio di pentest di laboratorio che percorre la strada per ottenere il controllo di una macchina da un’applicazione vulnerabile.

Advertisements

Fonte: https://hackerhood.redhotcyber.com/laboratorio-di-pentesting/