Se lavoriamo nel campo della sicurezza informatica, o comunque abbiamo da svolgere dei test di questo tipo pur non appartenendo all’ambito specifico, uno strumento come Kali Linux non può mancare all’interno della nostra lista di security tool. La distribuzione di cui andiamo a parlare è infatti il successore spirituale di Backtrack, portata avanti dallo stesso team ma con linee guida più stringenti, una coerenza di fondo all’interno del sistema operativo che mancava al predecessore, e ovviamente tutti gli ultimi ritrovati per un vulnerability assessment di tutto rispetto (e non solo) costantemente aggiornati.
Installare Kali Linux
L’ultima release di Kali al momento della scrittura è la 1.0.6, datata gennaio 2014, e sul sito ufficiale possiamo scaricare dalla pagina di download le immagini per VMWare Player e una vasta lista di chipset ARM per ognuno dei quali abbiamo un’immagine flashabile. Questo ci dà l’ispirazione per la costruzione di una board ARM che sia dedicata, nella nostra azienda, ad eseguire dei vulnerability assessment in maniera quasi automatica, magari su trigger temporali o causali.
Possiamo anche costruirci le nostre immagini ISO per avviare la distribuzione in modalità live: questo ci servirà in particolare per tutti quei compiti che concernono l’analisi forense, di cui abbiamo già parlato e per cui abbiamo mostrato Kali come uno degli esempi di toolkit per questo tipo di attività.
Il desktop di Kali Linux
Kali al primo impatto ci presenta un desktop abbastanza particolare: non essendo pensata per un uso di tutti i giorni, dove la user experience deve in qualche modo frustrare poco l’utente abbinando alle funzionalità anche un minimo di eyecandy per appagare l’occhio, l’ambiente grafico è una sessione di GNOME Shell in modalità fallback, con un menu in alto molto tradizionale dove possiamo trovare tutti i tool inclusi nella distribuzione, sia in modalità testuale che (ove possibile grafica). Nonostante questa facilitazione, parecchio del software incluso in Kali è accessibile da riga di comando e completamente fruibile dal terminale. Come detto precedentemente quindi si tratta di una distribuzione perfetta da far girare su degli embedded per poi contattare l’host in SSH quando è il momento. Stesso ragionamento può essere applicato ad una macchina virtuale.
All’interno di Kali troviamo moltissimi software che ci permettono di indagare sulle falle di sicurezza che ci affliggono: tra questi chiaramente abbiamo Nmap, Zenmap come interfaccia grafica di Nmap, poi ancora OpenVAS e per il penetration testing il sempre verde Metasploit Framework, che ci permette di sfruttare le nostre vulnerabilità acclarate precedentemente per cercare di ottenere accessi abusivi alle macchine che stiamo analizzando, in modo da poter verificare se la falla esiste, e se il nostro lavoro di hardening riesce ad aggiustare le cose.
Insieme a questi programmi, chiaramente ne troviamo altri che servono in maggior numero per il penetration testing, mentre alcuni possono essere utilizzati per il recupero di dati da hard disk danneggiati o semplicemente che hanno perso del contenuto informativo.
Penetration testing con Kali e Metasploit
Come abbiamo detto precedentemente, Kali Linux è una distribuzione eccellente per condurre il proprio penetration test in azienda, a casa e persino per i propri server in cloud. Uno dei migliori tool che possiamo utilizzare per l’assessment delle vulnerabilità è OpenVAS; avviandolo e affidandogli degli indirizzi IP si occuperà in un tempo congruo di stimare eventuali falle di sicurezza presenti nella rete. Successivamente, possiamo utilizzare il Metasploit Framework per assicurarci che effettivamente le vulnerabilità siano quelle che ci segnala OpenVAS, con lo stesso grado di rischio e le stesse conseguenze che abbiamo certificate su carta.
Prima di tutto dobbiamo far partire il database PostgreSQL che contiene alcune informazioni importanti per Metasploit:
# service postgresql start
Dopodiché, possiamo lanciare il demone relativo a Metasploit, in modo da eseguire successivamente la console:
# service metasploit start
Possiamo quindi avviare Metasploit, che si occuperà di interpretare il database e fornirci un punto d’accesso facile al panorama di exploit attualmente disponibili.
$ msfconsole
msf > db_status
[*] postgresql connected to msf3
msf >
Per andare avanti ci basta conoscere la sintassi di Metasploit. Una volta acclarata la vulnerabilità e l’exploit che la sfrutta, possiamo effettuare una verifica manuale con un payload a piacere; chiaramente tutto questo viene reso molto più semplice dal fatto che la distribuzione include tutto il toolkit di cui abbiamo bisogno (PostgresSQL già installato, Metasploit già popolato e aggiornabile con pochi comandi).
Analisi forense con Kali Linux
Grazie a Kali Linux abbiamo anche un notevole strumento di analisi forense a disposizione per ogni nostro bisogno. Se abbiamo masterizzato una delle immagini ISO personalizzate per il nostro hardware e le nostre esigenze, possiamo scegliere di fare il boot in una modalità particolare, già presente in Backtrack, chiamata Forensics Mode. Dal bootloader della distribuzione, una volta caricata la schermata di boot, scegliamo di procedere in questo modo, e Kali eseguirà il boot in modo particolare, montando l’hard disk principale in sola lettura, e non eseguendo alcuna azione sulle memorie di massa che collegheremo alla macchina in un secondo momento.
In questo modo, eviteremo che le pendrive USB (ad esempio) che andiamo a collegare non siano compromesse dalle azioni di mount eseguite in maniera automatica dal sistema operativo. Lo slogan che guida lo sviluppo della Forensics Mode di Kali Linux è proprio, infatti, “non vogliamo che ad alcuna memoria venga fatto nulla che non decida l’utente stesso".