STATO MAGGIORE DELLA DIFESA II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio CERT Difesa CC BOLLETTINO DI SICUREZZA INFORMATICA N. 5/2008 Il bollettino può essere visionato on-line su: Internet: www.cert.difesa.it Intranet: www.riscert.difesa.it
Metodologie e tecniche di Footprinting Metodologie e Tecniche di Footprinting Il Probing - Parte III Introduzione... 3 Metodologie e Strumenti... 3 Nikto... 4 Nessus... 5 Conclusioni... 7 Difficoltà: Medio - Alta A cura di: SMD II Reparto Informazioni e Sicurezza Ufficio Sicurezza Difesa Sezione Gestione del Rischio - CERT Difesa Coordination Centre
Introduzione Il presente bollettino chiude il ciclo informativo, iniziato nei bollettini precedenti, relativo alla descrizione delle tecniche di scansione perimetrale. Nei due bollettini precedenti si è parlato di scanning, analizzando anche gli strumenti con il quale esso viene attuato e di fingerprint, esaminando lo stack TCP/IP. Ora, sempre relativamente al tema della scansione perimetrale, parleremo di probing quale tecnica di rilevazione delle vulnerabilità di cui sono affetti gli applicativi oggetto di scansioni e, nello specifico, analizzeremo alcuni strumenti denomiati vulnerability scanner. Anche tale tecnica costituisce parte delle azioni preliminari intraprese da malintenzionati, la cui finalità è quella di individuare l anello debole di un sistema che consenta di portare ulteriori e più dannosi attacchi informatici al sistema bersaglio. Metodologie e Strumenti Una volta analizzata l intera infrastruttura, l attaccante può passare, attraverso alcuni strumenti automatici, ad effettuare una scansione che rileva i software installati su
una macchina, identificandone la versione e cercando nel proprio database eventuali vulnerabilità note. I prodotti più importanti per l esecuzione della citata tecnica sono di seguito elencati. Nikto Nikto è uno dei tool (open source) di vulnerability assessment più usati per l'auditing di server web. Nikto verifica le vulnerabilità che affliggono i prodotti oggetto di scansione sulla base di un set di regole contenute in un database, aggiornato più o meno mensilmente con gli ultimi exploit pubblicati. E' un tool open source, rilasciato con licenza GPL (Gnu Public License) di facile utilizzo che può essere utilizzato anche come penetration tester. Nikto è sicuramente uno dei tool più "rumorosi", cioè esegue traffico di alto livello (get post head http/https) facilmente individuabile dai sistemi IDS/IPS e quindi dall'amministratore. Nikto non funziona solo provando gli exploit disponibili all'interno del proprio database, ma anche andando a cercare tutti quei file e quelle mis-configurazioni note che possono causare possibili vulnerabilità o punti di accesso su di un server web. Dunque Nikto è un tool di security auditing che si limita ad eseguire semplici safe check, ossia prove a salve, sull'host analizzato senza iniezione di alcun payload dannoso.
Tuttora è uno degli strumenti più usati in fase di assessment di siti di e-commerce o home-banking. Nessus Nessus è un programma open source rilasciato in licenza GPL di tipo client-server che tramite l esecuzione di check verso gli host vittima, rileva le vulnerabilità presenti e conseguentemente suggerisce le possibili soluzioni presentandole, peraltro, sotto forma di report in vari formati di facile analisi (HTML, pdf, etc etc). Tutt'ora Nessus per le sue tante opzioni per la scansione, la possibilità di customizzare i plugin (e quindi personalizzare le modalità di esecuzione dei check effettuati) e il tipo di reportistica prodotta, rimane uno dei migliori strumenti di vulnerability assessment. La versione 3 di Nessus è disponibile per diverse piattaforme.
La sua architettura software è costituita da nessusd, il demone, che effettua la scansione, e da nessus, il client, il quale fornisce all'utente i risultati della scansione. Inizialmente Nessus effettua una scansione delle porte con il suo portscanner interno (talvolta utilizzando Nmap) per determinare quali sono i socket aperti sul sistema target per poi eseguire la fase di vulnerability assessment propriamente detta. I test di vulnerabilità, sono scritti in NASL (Nessus Attack Scripting Language), un linguaggio di programmazione ottimizzato per l'interazione tra reti differenti. I risultati della scansione possono essere forniti in diversi formati, quali plain text, XML, HTML, e possono anche essere salvati in un database di riferimento. Nessus può essere lanciato sia attraverso la CLI (Command Line interface) sia attraverso la GUI (Graphic User Interface). Nessus, a differenta di Nikto, prevede l opzione di disabilitazione dei 'safe checks' che, se deselezionata (per default detta opzione è abilitata), lancia la serie di plugin che potrebbe impattare negativamente sulle performance e sull erogazione del servizio dell host vittima o, addirittura, determinare il crash del prodotto oggetto dei check. Ciò rende Nessus
uno dei migliori prodotti per stare i prodotti in uso nella pria infrastruttura informatica. Infine, Nessus può essere usato sia come strumento di analisi del patch level di vari prodotti software, sia come strumento di test della resistenza delle password. Conclusioni Per concludere, in questa serie di bollettini si sono analizzate tutta una serie di metodologie, tecniche e strumenti che, seppur implementati/implementabili ai fini di una corretta gestione e manutenzione di una rete, possono essere utilizzati anche per scopi malevoli al fine ultimo di danneggiare sistemi o trarre illecito profitto da informazioni carpite ingannevolmente. Si è voluto, in questa sede, sensibilizzare l utente a considerare la realtà della minaccia che non è rappresentata solo da hacker esperti. Infatti, la diffusa disponibilità, la facile reperibilità e l elementare impiego di prodotti informatici dedicati allo studio preventivo dei sistemi designati quali vittima, consente praticamente a chiunque di reperire informazioni sulla configurazione e sulla architettura dei sistemi informatici al fine di portare a compimento con la maggiore probabilità di successo possibile le attività malevole.