
Scansione avanzata delle vulnerabilità con Nmap NSE
Vulscan è un modulo che potenzia nmap trasformandolo in uno scanner di vulnerabilità. L'opzione -sV di nmap abilita il rilevamento della versione per servizio, utilizzato per determinare potenziali falle in base al prodotto identificato. I dati vengono cercati in una versione offline di VulDB.
Installa i file nella seguente cartella della tua installazione di Nmap:
Nmap\scripts\vulscan\*
Clona il repository GitHub in questo modo:
git clone https://github.com/scipag/vulscan scipag_vulscan
ln -s `pwd`/scipag_vulscan /usr/share/nmap/scripts/vulscan
Devi eseguire il seguente comando minimo per avviare una semplice scansione delle vulnerabilità:
nmap -sV --script=vulscan/vulscan.nse www.example.com
I seguenti database preinstallati sono attualmente disponibili:
Puoi eseguire vulscan con il seguente argomento per utilizzare un singolo database:
--script-args vulscandb=your_own_database
È anche possibile creare e fare riferimento ai propri database. Questo richiede la creazione di un file di database con la seguente struttura:
<id>;<title>
Esegui vulscan come faresti con uno dei database predefiniti. Non esitare a condividere il tuo database e la connessione alle vulnerabilità con me, per aggiungerlo al repository ufficiale.
I database delle vulnerabilità vengono aggiornati e assemblati regolarmente. Per supportare le vulnerabilità più recenti divulgate, mantieni aggiornati i tuoi database locali di vulnerabilità.
Per aggiornare automaticamente i database, imposta i permessi di esecuzione al file update.sh ed eseguilo:
chmod 744 update.sh
./update.sh
Se desideri aggiornare manualmente i tuoi database, visita il seguente sito web e scarica questi file:
Copia i file nella tua cartella vulscan:
/vulscan/
Se il rilevamento della versione è riuscito a identificare la versione del software e il database delle vulnerabilità fornisce tali dettagli, anche questi dati vengono confrontati.
La disattivazione di questa funzione potrebbe introdurre falsi positivi ma potrebbe anche eliminare falsi negativi e aumentare leggermente le prestazioni. Se desideri disabilitare il matching aggiuntivo della versione, utilizza il seguente argomento:
--script-args vulscanversiondetection=0
Il rilevamento della versione di vulscan è valido tanto quanto lo sono il rilevamento della versione di Nmap e le voci del database delle vulnerabilità. Alcuni database non forniscono informazioni di versione conclusive, il che può portare a molti falsi positivi (come si può vedere per i server Apache).
Lo script cerca di identificare solo le migliori corrispondenze. Se non è stato possibile trovare una corrispondenza positiva, viene visualizzata la migliore corrispondenza possibile (che potrebbe essere un falso positivo).
Se vuoi mostrare tutte le corrispondenze, che potrebbero introdurre molti falsi positivi ma potrebbero essere utili per ulteriori indagini, utilizza il seguente argomento:
--script-args vulscanshowall=1
La modalità interattiva ti aiuta a sovrascrivere i risultati del rilevamento della versione per ogni porta. Utilizza il seguente argomento per abilitare la modalità interattiva:
--script-args vulscaninteractive=1
Tutti i risultati corrispondenti vengono stampati uno per riga. Il layout predefinito è:
[{id}] {title}\n
È possibile utilizzare un'altra struttura di report predefinita con il seguente argomento:
--script-args vulscanoutput=details
--script-args vulscanoutput=listid
--script-args vulscanoutput=listlink
--script-args vulscanoutput=listtitle
Puoi imporre la tua struttura di report utilizzando il seguente argomento (alcuni esempi):
--script-args vulscanoutput='{link}\n{title}\n\n'
--script-args vulscanoutput='ID: {id} - Title: {title} ({matches})\n'
--script-args vulscanoutput='{id} | {product} | {version}\n'
I seguenti elementi sono supportati per un template di report dinamico:
Ogni database predefinito viene fornito con un url e un link, utilizzati durante la scansione e accessibili come {link} all'interno del template di report personalizzato. Per utilizzare link di database personalizzati, utilizza il seguente argomento:
--script-args "vulscandblink=http://example.org/{id}"
Tieni presente che questo tipo di scansione derivata delle vulnerabilità dipende fortemente dall'affidabilità del rilevamento della versione di nmap, dalla quantità di vulnerabilità documentate e dall'accuratezza del pattern matching. L'esistenza di potenziali falle non viene verificata con scansioni aggiuntive né con tecniche di sfruttamento.