Redazione RHC : 22 Settembre 2022 08:00
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).
Prova Gratuitamente Business Log! L'Adaptive SOC italiano
Proteggi la tua azienda e ottimizza il tuo lavoro grazie al SOC di Business Log, il software leader per audit, log management e cybersicurezza realizzato in Italia. Business Log garantisce:
Il Vulnerability Assessment è il processo di identificazione, quantificazione e priorità (o classificazione) delle vulnerabilità in un sistema attraverso una scansione automatizzata.
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.
Qui sotto riportati i 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.
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.
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.
Qui sotto i principali step di un penetration test.
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:
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.
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)
I principali possono essere:
Posso esserci anche:
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.
Fonte: https://hackerhood.redhotcyber.com/laboratorio-di-pentesting/
Copyright @ 2003 – 2024 RED HOT CYBER
PIVA 16821691009