KNOWLEDGE BASE

Knowledge Base
1Backup
Acronis
Antivirus
Email
Firewall
GFI Software
Mail
Monitoring
N-Able
Sicurezza
TSPlus

Vai al Video

Vulnerability Assessment: teoria e pratica

Al giorno d’oggi la protezione dalle minacce che arrivano più o meno indisturbate dalla Rete è qualcosa di irrinunciabile ed il primo passo per alzare delle difese è conoscere le vulnerabilità del proprio sistema, ossia dei computer e della rete locale; solo in un secondo momento sarà possibile adottare le opportune strategie sia di difesa, sia di eliminazione delle vulnerabilità. 

In questo contesto si colloca il Vulnerability Assessment (abbreviato in VA) che è il processo di identificazione e classificazione delle vulnerabilità presenti all'interno di uno specifico contesto di rete e ovviamente identificazione e classificazione non sono evidenziate a caso ma sono il punto cardine della sicurezza informatica odierna.

Al Vulnerability Assessment è dedicato questo tutorial, dove verrà spiegato a che cosa serve e come metterlo in pratica utilizzando strumenti ad hoc disponibili anche sul web.

Vulnerability Assessment: che cos’è?

Possiamo definire tale pratica come un test di sicurezza a 360 gradi, ossia che non si limita ad analizzare solo un aspetto da un particolare punto di vista della nostra rete, ma che cerca una visione completa di tutta la superficie esposta dell'infrastruttura di rete, perché una rete tra computer è composta da più elementi; pensiamo ad esempio ai dispositivi di rete, alle macchine ospite, ai server oppure alle Web Application.

Prima di entrare nel merito è importante avere una visione chiara e definita di tutte le unità (di tutti gli “asset”) facenti parte della rete che sarà oggetto di questo test di sicurezza, quindi è opportuno effettuare con regolarità l'inventario e poi la classificazione di tutti gli host e dispositivi server all’interno della rete, compresi router, switch, database e via di seguito.

Introduciamo ora un concetto importante, ovvero quello della dinamicità del processo: la questione che le infrastrutture sono in costante cambiamento ed evoluzione e implica che saranno presenti sempre dei rischi e da qui nasce l'esigenza di effettuare il vulnerabile Assessment con regolarità perché se lo eseguiamo una volta l'anno e nel frattempo la nostra rete è cambiata o sono uscite nuove vulnerabilità, è poco utile.

Quindi a prescindere dalla cadenza temporale tipica (mediamente ogni 2-3 mesi) il test va effettuato ogniqualvolta viene aggiunto, cambiato o rimosso un asset nella rete.

Lo scopo del vulnerabile Assessment è fornire a un’organizzazioneun’analisi dettagliata sotto forma di report relativa alle “Security Weaknesses” del contesto preso in esame e di come si fa un mitigare il rischio associato a tali vulnerabilità evidenziate; lo scopo finale è quello di ottenere un’analisi dettagliata delle vulnerabilità che sono presenti all'interno della nostra rete, alcune delle quali saranno meno gravi ed altre, invece, più rilevanti. Sulla base di questo si va a cercare di porre rimedio alle vulnerabilità evidenziate, ossia a migliorare la sicurezza globale della nostra infrastruttura (fase di Remediation”).

Riepilogando, bisogna:

  1. rilevare e identificare ogni vulnerabilità;
  2. valutare il rischio effettivo;
  3. effettuare la fase di “remediation” cioè “rimediare” alla vulnerabilità emersa;
  4. effettuare il Vulnerability Assessment su ogni asset della rete.

Vulnerability Assessment: come si esegue?

Definito lo scopo andiamo a spiegare come si esegue un Vulnerability Assessment, il quale si compone principalmente di due fasi:

  • esecuzione tramite l’utilizzo di un Vulnerability Scanner ed altri strumenti automatici;
  • interpretazione dei risultati forniti da parte di un analista o una figura simile.

Quindi quando si parla di effettuare un Vulnerabile Assessment non bisogna pensare che si tratta di un’esecuzione attraverso un tool automatico (in questo tutorial vedremo come utilizzare kemiri Levi) delle vulnerabilità perché i risultati contenuti nel report corrispondente vanno poi interpretati correttamente.

Quindi si consiglia di:

  • non utilizzare un solo strumento di Vulnerability Assessment;
  • incrociare i dati forniti da più vulnerability scanner;
  • non limitarsi a effettuare la scansione ma cercare di affiancarla a una valida interpretazione dei risultati forniti.

Il consiglio di non utilizzare un solo strumento di VA nasce dal fatto che ciascuno ha dei pro e dei contro, quindi con l’analisi effettuata mediante uno solo non abbiamo una visione completa, mentre avendone a disposizione più d’uno si ha la possibilità di incrociare i report di ciascuno per eliminare falsi positivi e falsi negativi.

Tipologie di Vulnerability Assessment

Adesso vediamo le tipologie di VA, perché siccome prima di effettuare un VA è necessario conoscere ogni aspetto della rete in questione, da ciò deriva che avremo differenti tipologie di Vulnerability Assessment.

  • Scansioni relative al Networking e quindi ai Dispositivi di Rete.
  • Scansioni relative agli Host/Server.
  • scansioni specifiche per le Reti Wireless.
  • Scansioni relative alle Web Application.
  • Scansioni relative ai Database.

In determinate circostanze magari ci possiamo limitare a effettuare una scansione riguardante una sola parte della rete, però dobbiamo esserne consapevoli.

Adesso viene spontanea una domanda: “ che differenza che c’è tra un VA e un Penetration Test?”.

Allora, innanzitutto i due hanno obiettivi finali differenti, perché il Vulnerabile Assessment fornisce un’analisi completa in termini di vulnerabilità, mentre il Penetration Test si focalizza solo su alcune vulnerabilità, provando a sfruttarle per accedere alla rete in oggetto. In altri termini il VA si ferma un passo prima, però fornisce un’analisi completa, mentre il Penetration Testing non fornisce un’analisi completa e soprattutto può diventare fortemente invasivo al punto da creare problemi al sistema sotto test, più di quanto farebbe un VA.

Inoltre gli strumenti di Penetration Testing non vanno a cercare tutte le vulnerabilità ma gli basta cercarne qualcuna ed eseguire l’exploitation sfruttandola.

Banner

Le due attività si dovrebbero utilizzare in maniera congiunta, quindi eseguire il Vulnerability Assessment per stabilire le Weakenesses e poi eseguire il Penetration Testing per verificarne i risultati, ovvero, dopo aver attivato la fase di Remediation, lanciare il Penetration Testing per vedere se i rimedi funzionano, ovvero se le vulnerabilità evidenziate non saranno più presenti.

Nella pratica:

  • si effettua un VA regolarmente;
  • si agisce tempestivamente per porre rimedio alle vulnerabilità riscontrate;
  • si esegue nuovamente il Vulnerability Assessment ;
  • se il report non evidenzia vulnerabilità si avvia un Penetration Test su uno specifico target della rete;
  • se il PT raggiunge lo scopo si agisco per porre rimedio alle vulnerabilità riscontrate;
  • si effettua un nuovo VA e si ricomincia ricomincia.

Questo modo di operare è definito PROCESSO DINAMICO.

Strumenti per eseguire il Vulnerability Assessment

Vediamo adesso come, ossia con quali tool si può effettuare un VA. Gli strumenti per effettuare l’attività di Vulnerability Assessment prendono il nome di “Vulnerability Scanner”.

Esistono sia prodotti commerciali che open source e non esiste lo strumento infallibile, quindi conviene conoscerne e utilizzarne diversi per poi comprendere quale è più adatto a una certa situazione.

Va considerato che molti di questi strumenti hanno sia la versione Free che quella a pagamento (più completa e con più funzionalità) e che spesso nelle versioni Free si dispone di un numero limitato di IP address analizzabili rispetto alla versione a pagamento.

Tuttavia si può utilizzare la versione free prendere confidenza con lo strumento e soprattutto per disporre di più Vulnerability Scanner al fine di poter incrociare i dati ed aver quindi un’analisi più completa.

Un valido esempio di questo tipo di tool è OpenVAS (http://www.openvas.org/); poi abbiamo nexpose (Nexpose Community, www.rapid7.com/info/nexpose-community/#) che offre una versione free del suo scanner.

Banner

Altro tool è Hacker Proof della Comodo (www.comodo.com/hackerproof/) che offre sia la versione Free (ma è una trial ad utilizzo limitato nel tempo) sia quella a pagamento.

Ancora, possiamo citare Retina Scanner (www.beyondtrust.com/tools/vulnerability-scanner). Comunque in questo tutorial ci soffermeremo su Nessus (della Tenable), che è uno dei più utilizzati e diffusi e con esso faremo una dimostrazione pratica di Vulnerability Assessment, fermo restando che per ragioni di spazio spiegheremo l’utilizzo di una sola parte del prodotto.

Per chi volesse approfondire, sul sito http://traincdn.tenable.com è possibile trovare video-lezioni gratuite che coprono moltissimi aspetti di Nessus e del VA in generale.

Nessus: panoramica e installazione

Attualmente esistono tre versioni di questo prodotto e qui vedremo la Free, che si chiama Nessus Essentials ed è la versione gratuita, la quale offre la possibilità di effettuare la scansione di 16 indirizzi IP; poi abbiamo la Nessus Professional in versione trial 7 giorni, con un limite di 32 IP address scansionabili e infine c’è la versione Professional completa. L’immagine seguente riepiloga le caratteristiche di ciascuna.

Possiamo installare Nessus su vari sistemi operativi: dobbiamo solo accedere al sito e registrarci per ottenere un Activation Code che poi inseriremo in fase di installazione.

Vediamo molto brevemente i passi relativi alla configurazione iniziale di Nessus, che sono:

Assicurarsi di rispettare i requisiti hardware e software del prodotto;

  1. ottenere l’Activation Code;
  2. installare Nessus;
  3. installare il NESSUS AGENT;
  4. effettuare la configurazione iniziale;
  5. creare un utente (Nessun consente di creare anche più utenti).

A questo punto si può effettuare la prima scansione della propria rete.

L’installazione può essere effettuata in vari modi: è possibile installare Nessus su un singolo nodo in modo che faccia sia da manager che da scanner, oppure avere una console di gestione centralizzata

cui si possano agganciare degli scanner.

Nel nostro esempio supporremo di aver installato tutto su singolo Host. Una volta installato Nessus effettueremo la configurazione iniziale.

Prima di procedere è il caso di analizzare il logbook che è un’interfaccia utente presente sin dall’installazione, anzi, l’immagine seguente propone proprio il logbook di instllazione di Nessus

Da questa pagina, dobbiamo innanzitutto scaricare la versione corrispondente al sistema operativo utilizzato, altrimenti andiamo sul sito web e ci portiamo nella pagina di download mostrata in precedenza, che riepiloga le versioni disponibili. Scelta la versione ci viene proposta la schermata seguente.

Qui bisognerà inserire nome utente, ossia nome, cognome, indirizzo e-mail, allorché cliccando su Register avvieremo la registrazione ci apparirà una finestra in cui ci viene chiesto di scaricare la versione di Nessus in base al sistema operativo.

Vediamo brevemente i passaggi dell’installazione: accettiamo i termini di licenza, quindi quando ci verrà richiesto, specificheremo il percorso di download nella finestra di dialogo Destination Folder, quindi cliccando su Install prende il via l’installazione, il cui stato ci viene mostrato nell’apposita finestra dalla progression bar verde. Al termine clicchiamo su Next e a un certo punto ci appare la finestra di dialogo mostrata nell’immagine seguente, la quale ci informa che dobbiamo effettuare l'installazione di WinPcap, che è praticamente un insieme di librerie di rete che permettono di settare la scheda di rete in modalità promiscua e comunque anche di eseguire altre operazioni.

Clicchiamo quindi su Next, lasciamo la spunta su “Automatic start the WinPcap….” a meno di non avere esigenze specifiche e clicchiamo su Install; accettiamo tutto e lasciamo procedere l’installazione di WinPcap.

Se l’installazione sarà andata a buon fine apparirà la finestra mostrata nell’immagine seguente, dove clicchiamo su Connect via SSL;  notate che se apparirà un errore di certificato dopo aver cliccato su Connect via SSL, significa che non è stata impostata alcuna Certification Autority, ma ciò non è vincolante. Possiamo procedere ugualmente cliccando su Proceed to localhost quindi procediamo e arriveremo a quella che equivale alla schermata di configurazione di Nessus.

Nella finestra che ci appare (immagine seguente) clicchiamo sulla versione del prodotto che vogliamo configurare e successivamente deployare. Come vedete esiste la possibilità di deployare degli scenari più complessi in base a quella che è la nostra necessità.

Banner

Cliccando su Continue viene richiesto l’activation code; se ci siamo già registrati inserendo nome , cognome e indirizzo e-mail nella fase precedente clicchiamo su Skip, perché avremo già ricevuto l’activation code via posta elettronica e possiamo saltare tale fase. Quindi nella finestra che segue inseriremo tale codice e cliccheremo su Continue.

Andiamo quindi alla finestra per creare lo user account dalla finestra Create User account; per la nostra esercitazione creiamo l’utente “admin” per il quale nell’apposita casella specificheremo la password, proseguendo con un clic sul pulsante Submit.

Si accede così alla finestra di inizializzazione che mostra la scritta Inizializing e un indicatore di progressione. Il completamento del processo richiede un bel po’ di tempo essere completato perché Nessus è uno scanner automatico che per funzionare richiede l’installazione di una serie di plugin, che sono quelle porzioni di codice che andremo a lanciare contro i nostri bersagli durante il Vulnerability Assessment; si tratta di svariati gigabyte di plugin.

Una volta terminata l’inizializzazione ci troveremo sulla schermata proposta dall’immagine seguente.

Questa schermata vuol dire che l’installazione dei plugin è andata a buon fine e quindi saremo pronti ad utilizzare lo strumento; termina qui quindi la fase di installazione.

Configurare Nessus

Adesso andiamo a vedere la configurazione di test, che si basa su un ambiente Cloud Edge  e nello specifico su server Azure con attivato il ruolo Hyper-V, quindi la virtualizzazione su ambiente Windows Server meglio descritta dalla schermata di Hyper-V Manager mostrata nell’immagine seguente.

Ricapitolando, effettueremo il test all’interno di un ambiente chiuso composto da due VM, una con in esecuzione Nessus e l’altra per testarlo; con riferimento alla schermata precedente la macchina bersaglio è quella Windows 7.

Andiamo a vedere la configurazione di rete di queste due macchine, la prima delle quali è riportata nell’immagine seguente ed è proprio quella Windows 7, chiamata WINDOWSVIRTUA.

Questa macchina ha un indirizzo IP pubblico per poter essere raggiunta dall’esterno, altrimenti non sarebbe possibile eseguire su di essa il Vulnerability Assessment perché non potrebbe fare da target.

La seconda macchina virtuale invece non ha un indirizzo IP pubblico, quindi è una macchina non raggiungibile direttamente dall’esterno; nello specifico è una macchina “nattata” ossia sottoposta al NAT (Network Address Translation) perciò in pratica non si può raggiungere dall'esterno ma può accedere all’esterno tramite la rete. Questo serve per poter eseguire da essa (macchina attaccante) il VA sulla macchina target.

Adesso prima di effettuare il VA è opportuno riepilogare alcune best practice da considerare e attuare prima di effettuare la scansione; le riportiamo qui di seguito.

Quindi partiamo dalla prima, che consiste nell’inserire le credenziali, ovvero avere privilegi elevati; è importante perché la scansione riesce ad essere più precisa e più efficace. Questo non è sempre applicabile perché se ad esempio si sta effettuando un Vulnerability Assessment diciamo “blackbox” e quindi non in maniera chiara, ovviamente non si devono inserire queste credenziali.

Il secondo punto è l’accesso diretto senza firewall: normalmente in una qualsiasi infrastruttura di rete di rete abbiamo un firewall perimetrale e questo andrà a creare dei problemi quando andremo a eseguire il VA. Se possibile occorre avere accesso diretto al target, magari impostando delle regole ad hoc all’interno del firewall che permettono il fluire del traffico senza troppi problemi.

In verità la presenza del firewall crea anche qualche altro piccolo problema che al momento è irrilevante perché concerne scenari avanzati e più rari

La terza best-practice è che il cliente deve essere consapevole che l’esecuzione di un Vulnerability Assessment può implicare dei rischi all’interno della rete bersaglio, dal momento che si tratta di un test invasivo. Comunque Nessus fornisce tutta una serie di opzioni per rendere questo test più sicuro e meno invasivo possibile ed allo scopo va ricordato che con un test poco invasivo perderemo in accuratezza dei risultati, viceversa con un test molto aggressivo rischieremo di compromettere la rete bersaglio.

Quanto alla “finestra di scansione” è il momento migliore, concordato col cliente, per effettuare il Vulnerability Assessment; se si opera in ambiente di produzione è buona norma effettuare il test i momenti in cui il carico di lavoro è inferiore.

Effettuare il backup è molto importante per recuperare eventuali danni arrecati dal VA, perché non ci sarà mai un Vulnerability Assessment a rischio zero.

Passiamo all’aggiornamento dei plugin, perché sono questi a fornire a Nessus gli strumenti per conoscere le più recenti vulnerabilità, macchina per macchina, rete per rete.

Andiamo alla best-practice n° 7: il discorso della Policy significa che in generale bisogna sempre partire dalla conoscenza dell'infrastruttura di rete e poi successivamente andare ad adattare il nostro test a questa infrastruttura di rete; quindi non ci dovremo limitare a cliccare lo Start del Vulnerability Scanner e il Lancia scansione senza aver comunque personalizzato la nostra scansione.

Banner

La raccolta delle informazioni si aggancia al discorso sulla Policy.

Banda sufficiente: è abbastanza evidente che per effettuare la scansione è richiesta una certa quantità di banda disponibile, che può essere anche molta; quindi è importante valutare la disponibilità e adattare il test, in termini di orario e momenti in cui eseguire la scansione, nonché in fatto di complessità del test stesso. Si può valutare di eseguire la scansione in più fasi, dividerla in  piccoli passi selezionando i plugin da utilizzare.

L’ultima best-practice è l’appoggio allo staff target; ciò perché durante il VA conviene monitorare ogni singola macchina ed ogni singolo dispositivo della rete bersaglio e questo ovviamente lo dovrà fare il reparto IT, ossia la parte sistemistica dell’organizzazione cliente.

Eseguire il Vulnerability Assessment con Nessus

Iniziamo il test e allo scopo connettiamoci quindi a Nessus, accedendo così alla pagina iniziale del programma (immagine seguente); in essa notate a sinistra il menu, a destra in alto l’utente con cui ci sia è loggati (qui siamo connessi con admin) e la campanella, che indica la presenza di notifiche dal prodotto.

Prima di entrare nel merito delle Policy e delle scansioni (comandi di menu rispettivamente Policies e Scanners) vediamo le impostazioni generali accessibili con il comando Settings, che porta a visualizzare la finestra proposta nell’immagine seguente.

Nelle Settings innanzitutto abbiamo l’overview del motore Nessus, quindi la versione e poi l'aggiornamento dei plugin; possiamo gestire proprio questa parte oltre al discorso di poter effettuare l’upgrade verso Nessus Professional attraverso la tab Software Update.

Passiamo alla voce di menu Advanced che dà accesso alla finestra delle Advanced settings, divisa in due finestre accessibili una con il comando Scans e l’altra con Settings della barra in alto. Restando su quest’ultima, vediamo che è divisa in  tab ciascuna delle quali permette di impostare una funzionalità, come ad esempio la User interface (quindi il fatto di personalizzare l'interfaccia grafica come meglio crediamo) oltre al motore per lo scanning (tab Scanning) nel caso sia necessario personalizzare il test ed altro (immagine seguente).

 

Nella stessa finestra abbiamo la tab Logging che riguarda il log di varie parti dell’analisi: qui è possibile specificare quale ci interessano quali no e quali e quale livello di dettaglio impostare.

La tab Performance consente di definire le prestazioni della scansione e la Security riguarda le  impostazioni di sicurezza legate al fatto di attivare meccanismi di accesso particolari e poi altre opzioni.

La tab Miscellaneous contiene altri tipi di impostazioni che non rientrano in quelle sinora descritte.

Torniamo al menu, per vedere il comando Proxy Server, che apre la finestra proposta nell’immagine seguente, dalla quale c’è la possibilità di settare un eventuale un proxy server, ossia se il traffico deve essere indirizzato attraverso un proxy perché l’organizzazione cui appartiene la rete da sottoporre a VA lo prevede.

Similmente, dal comando di menu SMTP apriamo la finestra dalla quale abbiamo la possibilità di impostare l’SMTP server nel caso vogliamo qualche notifica (immagine seguente); infatti per inviare e ricevere notifiche occorre definire e appoggiarsi a un server SMTP, operando da tale sezione.

Dal comando Password Mgt è possibile accedere all’omonima finestra dalla quale gestire le password di accesso al sistema, mentre con Custom CA apriamo la finestra nella quale è possibile definire un’autorità di certificazione delle password.

Ora concentriamoci sul comando Scanner Health, che apre la finestra proposta dall’immagine seguente, la quale riepiloga lo stato attuale di Nessus, vale a dire la memoria utilizzata e la percentuale di CPU impegnata, gli host sotto scansione ed altro ancora, visualizzati sia mediante grafici circolari, sia tramite grafici convenzionali.

La finestra è divisa nei tre tab Overview (che è appunto la panoramica suddetta) Network (riguardante stato e impostazioni di scansione sulla rete) e Alerts.

Scorrendo in basso in questa finestra otteniamo altri grafici come quelli mostrati nell’immagine seguente, che riportano anche lo storico dei parametri che permette di valutare l’attività nel tempo.

Tali informazioni sono rilevanti quando iniziamo ad effettuare scansioni su target di un certo tipo e u reti complesse.

Passiamo ora alla seconda finestra di Advanced Settings, cliccando sulla voce Scans della barra superiore: qui troviamo nel menu di sinistra altri comandi. Cliccando su Scanners viene mostrato quali e quanti scanner sono stati installati; nel caso dell’immagine seguente abbiamo solo il Local Scanner, quindi non stiamo utilizzando uno scanner remoto ma stiamo utilizzando lo scanner locale.

Impostare le Policy di Nessus

Prima di vedere l’esecuzione della scansione definiamo le Policy in base alle caratteristiche della rete bersaglio; spieghiamo come avviene la creazione di una nuova Policy, cosa che si fa dalla finestra accessibile dal comando di menu Policies presente nella schermata Scans. In tale finestra sono riepilogate le policy esistenti e con il link “Create new policy” si va a creare la nuova Policy del Vulnerability Assessment. Idem si ottiene cliccando sul pulsante blu in alto a destra +New Policy. Il risultato è sempre l’apertura della finestra mostrata nell’immagine seguente, dove sono riepilogate delle Policy preconfigurate.

Alcune delle Policy proposte sono disponibili nella sola versione a pagamento e per evidenziarle gli è apposta l’atichetta Upgrade obliqua sulla destra della rispettiva icona.

Per comodità vediamo alcune funzionalità riguardanti un VA di base, disponibili anche nelle versioni Free; tra queste la Policy Host Discovery che ci permette di raccogliere informazioni sulla rete bersaglio, quindi ad esempio le porte attive, i servizi attivi ecc. Poi in base alle informazioni raccolte in questa fase possiamo andare ad eseguire il VA vero e proprio.

Notate che è possibile eseguire la scansione della rete anche con strumenti esterni come Nmap, perché Nessus può essere integrato e utilizzato insieme ad altri strumenti come quelli che si utilizzano anche per un Penetration Testing classico.

Policy interessanti sono Basic Network Scan, che permette di eseguire una scansione basilare e  Advanced Scan, che prevede un pacchetto di impostazioni avanzate e che esegue una scansione approfondita senza bisogno di definire altro.

Per il nostro esempio carichiamo la Policy Host Discovery e cliccando sulla sua icona accediamo alla finestra proposta dall’immagine seguente, dove abbiamo il pannello composto da quattro voci: BASIC (che è quella che si apre per prima), DISCOVERY, REPORT e ADVANCED.

Supponiamo che il nostro intento sia identificare il sistema operativo dell’host target, quindi per prima cosa diamo un nome alla policy che stiamo costruendo basandoci sul modello Host Discovery: per esempio OS_policy.1.

Clicchiamo quindi sulla voce Discovery del menu e apriamo il pannello da cui abbiamo la possibilità di specificare il tipo di scansione che vogliamo fare, attraverso l’apposito menu a tendina. Qui scegliamo OS Identification (immagine seguente).

Banner

Supponiamo che il nostro intento sia identificare il sistema operativo dell’host target, quindi per prima cosa diamo un nome alla policy che stiamo costruendo basandoci sul modello Host Discovery: per esempio OS_policy.1.

Clicchiamo quindi sulla voce Discovery del menu e apriamo il pannello da cui abbiamo la possibilità di specificare il tipo di scansione che vogliamo fare, attraverso l’apposito menu a tendina. Qui scegliamo OS Identification (immagine seguente).

Vedete comunque che ci sono molte altre funzioni come l’Host Enumeration, la scansione delle porte e via di seguito.

Per fare questo Nexus utilizzerà il protocollo tcp ( o il protocollo ARP qualora ci troviamo all'interno della stessa di rete locale) e poi il protocollo ICMP.

Lasciamo inalterate le altre sezioni, come la parte di reportistica e guardiamo la sezione Plugins, che si presenterà senza alcun plugin, perché ancora non siamo nella fase di Vulnerability Assessment vera e propria.

Con il pulsante blu Save che si trova in basso a sinistra si salva la Policy, che viene così creata e riportata nella finestra di riepilogo (immagine seguente, riga azzurra). Notate l’icona della freccia in basso, cliccando sulla quale è possibile esportare la Policy creata e importarla in altri Nessus Manager.

Adesso il passaggio successivo è applicare la Policy all’interno della scansione, cosa che si effettua cliccando sulla prima voce del menu di sinistra (My Scans) e cliccando sul pulsante blu +NewScan per creare una nuova scansione; si accede così alla relativa finestra, proposta dall’immagine seguente, nella quale la tab Scanner riporta opzioni predefinite e la relativa possibilità di eseguire subito la scansione senza applicare Policy mentre User Defined consente di applicare una Policy eistente e creata da noi.

Andiamo su user-defined e qui abbiamo riepilogate la Policy che abbiamo già creato; cliccando su quella creata, essa automaticamente viene agganciata alla scansione in uso in questo momento e si apre la finestra visibile nell’immagine seguente.

Adesso diamo un nome alla scansione (nel nostro caso scriveremo OS_scan.1 casella Name) e facciamo le altre impostazioni richieste, in particolare dobbiamo specificare il target in termini di singolo indirizzo IP oppure in termini di rete intera, quindi scansionare tutti gli host appartenenti a questa rete. Si può anche definire un nome di dominio.

A questo punto esistono due possibilità: salvare la scansione creata o eseguirla in questo momento; esiste anche una terza possibilità, che è quella di schedulare la scansione, programmandola dal pannello accessibile con il comando del menu Schedule.

Per salvare la scansione creata si clicca sul pulsante blu Save. Notate che cliccando sul pulsantino a freccia accanto a Save è possibile aprire il menu a tendina che permette anche di eseguire immediatamente la scansione.

Salvando la scansione creata, questa apparirà ora nella pagina My Scans tra quelle create (immagine seguente) con le relative caratteristiche, ovvero vedremo scritto On Demand se si tratta di una scansione eseguibile a comando o Scheduled se è una scansione programmata.

Lanciare la scansione con Nessus

Adesso è tutto pronto e si può lanciare la scansione: clicchiamo su quella appena creata, che è OS_scan.1 e più esattamente sul pulsantino a freccia (Launch) che troviamo in essa (simbolo di playback) allorché la scansione partirà e l’indicatore di progressione composto dalle due frecce verdi in circolo ne indica l’esecuzione. Al suo completamento il simbolo delle due frecce circolari verrà sostituito da quello di spunta.

Cliccando sulla riga corrispondente viene visualizzato è il risultato in una finestra chiamata adv_scan composta da tre tab: Hosts, Vulnerabilities e History (immagine seguente). In ciascuna abbiamo un numero, che per Hosts indica su quanti host è stata eseguita la scansione, per Vulnerabilities evidenzia quante vulnerabilità sono state trovate e per History corrisponde allo storico delle scansioni effettuate fino a quel momento, ovvero alle informazioni come ora di inizio e fine.

In Hosts abbiamo il riepilogo della scansione, il livello di vulnerabilità (grafico a torta in basso a destra) e le informazioni sull’host scansionato.

In Vulnerabilities troviamo le vulnerabilità rilevate, che nel caso specifico non esistono in quanto la scansione era mirata all’operating System identification; quindi nella schermata (immagine seguente) clicchiamo sulla riga OS Identification e otteniamo le informazioni sul sistema operativo.

Come mostra l’immagine seguente, Nessus è stato in grado di rilevare con esattezza e precisione il sistema operativo; infatti viene riportato che è un Windows 7 ed anche la versione di questo sistema operativo (Ultimate).

La finestra mostra anche altre operazioni eseguite, come ad esempio il ping al remote host in questo caso ci dice che il remote Host è ti tipo ARP è che l’Host ha replicato all’ARP; in questo caso abbiamo anche il MAC address. Questo perché il test è stato eseguito in un contesto locale; in un contesto remoto utilizzeremo il protocollo IP.

Altre tipologie di scansione Nessus

Detto questo andiamo a vedere le altre tipologie di scansione con Policy predefinite, ossia Basic network scanner e Advanced Scan.

Se dalla finestra Templates scegliamo la Basic network scanner abbiamo la possibilità di inserire, qualora le avessimo, le credenziali e quindi di accedere più facilmente all’host bersaglio o alla rete bersaglio, ottenendo dal test risultati più approfonditi. Le credenziali si introducono nella scheda Credentials della finestra che si apre scegliendo la Policy (immagine seguente).

Come vedete dall’immagine, abbiamo anche altre due schede: Settings e Plugins. A differenza dell’esercitazione precedente, con questa policy entrano in gioco i plugin, quindi cliccando sulla tab corrispondente vedremo una situazione tipo quella proposta dall’immagine seguente, che riporta le famiglie di plugin caricate per questo tipo di scansione.

Con la tab Settings andiamo alle impostazioni, che stavolta ci appariranno specifiche per questo tipo di scansione; qui abbiamo la possibilità di specificare il tipo di scansione (Scan type) nella fase di Discovery e poi nella fase vera e propria di Assessment (immagine seguente).

Se lasciamo quella per default possiamo effettuare una scansione per tutte per le vulnerabilità web più note; una scansione Custom ci permetterebbe di impostare dei parametri legati alla parte ad esempio di attacco bruteforce e via di seguito. Questo si fa con il pannello accessibile dal comando ASSESSMENT.

Il comando REPORT permette di accedere al pannello in cui definire che tipo di rapporto si desidera dopo la scansione (immagine seguente) mentre ADVANCED contiene altri parametri avanzati.

Salviamo con il solito pulsante Save e andiamo a eseguire questa scansione; le modalità sono le stesse già esposte e alla fine come risultato avremo la solita finestra di report adv_scan composta dalle tre tab Hosts, Vulnerabilities e History.

Concludiamo con la scansione Advanced Scan: qui abbiamo la possibilità di impostare, oltre alle cose già viste in precedenza una configurazione più avanti ma è richiesta la conoscenza dell’infrastruttura con relativa definizione nei pannelli dei parametri richiesti, perché se viene lanciata incondizionatamente può essere inutile o deleteria.

Come mostra l’immagine seguente, ora la tab Plugins mostra e permette di selezionare individualmente i plugin utilizzati.

Proviamo quindi a disattivare tutti i plugin ad eccezione di quelli Windows, ovviamente sapendo che l’infrastruttura da testare è composta da soli computer Windows. Oltretutto con questa Policy possiamo, cliccando sulla famiglia di plugin, visualizzare e selezionare nella zona di destra plugin specifici, ovvero scansioni specifiche; da notare che si se selezionano e si convertono da ENABLED a DISABLED dei plugin (basta cliccare sui pulsanti con il mouse: ogni clic inverte la condizione) il pulsante verde ENABLED della famiglia (Windows, in questo caso) cambia colore e diventa viola, riportando la scritta MIXED (immagine seguente).

Ciò significa che la modalità cambia in MIXED e ciò vuol dire che la famiglia Windows non avrà tutti i Plugin attivi ma solo alcuni. Salviamo con il pulsante blu Save questa nuova Policy User Defined come ADV scan1 e lanciamo la scansione.

Quando la scansione è completata vediamo che cosa ha rilevato quindi clicchiamo ecco è qui abbiamo appunto iniziamo a vedere qualcosa abbiamo la classificazione in base al rischio di queste vulnerabilità ovvero su una scala che identifica un rischio low, medium, alto e critico (immagine seguente). Cliccando sulla tab Vulnerabilities abbiamo ora un report delle vulnerabilità riscontrate.

Vediamo che ci sono delle “multiple issues” ossia abbiamo un problema critico (Critical) e un problema medio (Medium) ossia delle vulnerabilità di con un livello di rischio differente; se clicchiamo ad esempio su Critical si apre una pagina che ha prima di tutto un titolo che identifica qual è il problema, ossia la vulnerabilità riscontrata e poi troviamo dei suggerimenti su come porvi rimedio. Nel caso dell’immagine seguente non abbiamo installato delle patch di sicurezza, il che espone ad avere delle grosse problematiche legate a EternalBlue e ad altro.

In essa è esposto qual è il il rischio, la classificazione in base alla nomenclatura CVS e poi abbiamo tutti tutte le informazioni legate a questa vulnerabilità, come la risolviamo, dove cercare le patch di sicurezza che risolvono questo determinato problema ecc.

Abbiamo anche la possibilità di creare un report in HTML o in csv (immagine seguente) personalizzabile e una volta generato (con il pulsante Generate Report) lo possiamo aprire.

Ad esempio in HTML lo possiamo vedere nell’immagine seguente e come possiamo vedere contiene la panoramica delle vulnerabilità rilevate.

Con il pulsante Show Details possiamo anche andare a verificare ulteriori dettagli, se presenti.

Concludiamo osservando che tra le informazioni presenti nella pagina delle criticità, tra le informazioni sulla destra abbiamo anche quella che riguarda la possibilità di fare un exploit con un programma specifico (Exploitable with metasploit) e un modulo metasploit.