In questa lezione osserveremo da vicino OpenVas (Open Vulnerability Assessment System),
un framework completamente gratuito per l'analisi e la gestione delle vulnerabilità.
OpenVas, ad oggi giunto alla versione 9, automatizza oltre 50000 differenti test di vulnerabilità, detti in gergo NVT (Network Vulnerability Test).
Tali test vengono aggiornati con cadenza giornaliera dalla comunità, con priorità massima data alle vulnerabilità gravi.
L'interfaccia grafica è offerta gratuitamente da
Greenbone Networks, una soluzione commerciale per l'analisi delle vulnerabilità. La stessa azienda fornisce inoltre il supporto per l'aggiornamento incrementale della base di dati relativa agli NVT.
Architettura
L'architettura di OpenVas è mostrata nella figura seguente:
L'architettura è suddivisa in tre livelli: services, data, clients.
Il cuore vero e proprio è costituito dal livello dei servizi, composto da:
- scanner: si occupa di eseguire i test di vulnerabilità verso i cosiddetti "target" (host su internet);
- manager: la parte "intelligente" del sistema che si occupa di interloquire con i client di OpenVas, memorizzare i dati e gestire gli utenti del sistema (divisi in gruppi e ruoli).
Il livello clients consente di interagire con il manager, mettendo a disposizione:
- Greenbone Security Assistant: una comoda interfaccia grafica che consentirà di configurare il sistema nella sua interezza;
- CLI: l'interfaccia a riga di comando, meno intuitiva e quindi sconsigliata per chi è alle prime armi con OpenVas.
Infine il livello data consiste in un database SQLite, contenente:
- NVT: la lista dei test effettuabili dallo scanner;
- Configs, Results: la configurazione del sistema, i dati sui risultati delle scansioni, e i dati degli utenti del sistema.
Configurazione
OpenVas è preinstallato nelle ultime versioni di Kali Linux. Tuttavia, è sempre bene effettuare l'aggiornamento del database degli NVT prima di avviarlo. Per fare ciò, utilizziamo il comando seguente:
apt-get update
apt-get dist-upgrade
openvas-setup
A questo punto, prima di avviare OpenVas, è preferibile effettuare un test di verifica con lo script fornito dalla casa produttrice. Scarichiamo il codice (script bash), copiamolo su un file check-openvas.sh ed eseguiamolo da linea di comando:
sudo sh check-openvas.sh
Dovremmo quindi visualizzare un messaggio che ci avvisa che OpenVas funziona correttamente. In caso contrario, lo script stesso suggerirà come correggere gli errori di installazione.
Avvio di OpenVas
Avviamo OpenVas dalla shell:
openvas-start
Apriamo quindi il browser all'indirizzo https://127.0.0.1:9392. Dovremmo visualizzare la seguente interfaccia di login:
Inseriamo le credenziali "admin" (username) e "admin" (password) per visualizzare l'interfaccia grafica:
Utilizzo dell'interfaccia grafica
L'interfaccia mette a disposizione diversi comandi di configurazione. Potremo comunque utilizzare immediatamente lo strumento di vulnerability analysis, digitando l'indirizzo dell'host che vogliamo controllare all'interno dell'apposita casella di testo, e cliccando sul pulsante Start scan:
Come si vede nella figura precedente, l'utilizzo di questo strumento effettuerà in modo automatico:
- la creazione di un nuovo target, con una lista di porte di default da verificare;
- la creazione di un task di esecuzione dei test, con la configurazione di default;
- l'avvio automatico dei test;
- l'aggiornamento dello stato di esecuzione dei test, mostrato come in figura:
Terminata la scansione, verrà generato un report contenente i risultati degli NVT. Cliccando sul numero del report, apriremo una vista dettagliata che indica il numero di vulnerabilità scoperte:
Cliccando infine sull'icona viola (lente di ingrandimento), il report elencherà le vulnerabilità individuate, il rischio e l'affidabilità del risultato sulla vulnerabilità (QoD, Quality of Detection):
Cliccando su ciascune delle vulnerabilità, avremo accesso alla relativa descrizione CVE, acronimo che sta per Common Vulnerabilities and Exposures.
Avremo inoltre libertà di scegliere in quale formato esportare il report, potendo scegliere tra PDF, XML o testo semplice.
Approfondimenti
Le funzionalità di OpenVas non si limitano alla sola scansione degli host ed al mero report delle vulnerabilità scoperte. La documentazione completa delle caratteristiche di OpenVas 9 (che corrisponde
a GreenBone OS 4) è disponibile in forma di manuale per gli utenti, e spiega passo dopo passo come:
- utilizzare l'interfaccia;
- amministrare gli utenti del sistema;
- gestire le vulnerabilità;
- personalizzare la reportistica;
- migliorare le performance.