Metasploit è uno dei software più utilizzati e utili per effettuare exploit e trovare vulnerabilità in un dispositivo. Dopo che il tool è stato aquisito dalla Rapid7 è stato diviso in diversi software, che sono:
Visto che il tool è, oltre che complesso, ampiamente documentato cercherò di inserire link alle guide ufficiale per alcuni passaggi in modo da non dover scrivere passo per passo certi comandi. Trovate la documentazione ufficiale (con installazione, manuale d’uso, utilizzo di alcuni comandi) a questo indirizzo. Un’altra risorsa utile è questa, contiene video e guide per molti comandi. Saranno presenti alcuni termini in inglese, poiché non sono riuscito a tradurre in italiano. I principali sono:
Metasploit Framework è un software a riga di comando, contiene centinaia di exploits nel proprio database ed è aggiornato settimanalmente con le più recenti vulnerabilità per ogni tipo di sistema operativo, piattaforma e applicazioni trovate dalla comunità. Dopo averlo installato, digito
root@kali:~# msfconsole
e controllo se il database è connesso
Se il database non è connesso, uscite da metasploit (digitando exit) e nel terminale:
sudo service postgresql start
Riprovate ad avviarlo, se da ancora errore, uscite e digitate nel terminale
msfdb reinit
In questo modo dovrebbe re-inizializzare il database e vi permetterà di utilizzarlo. Avere un database è importante, poiché ogni scansione che fare Metasploit salverà gli host, le vulnerabilità e descrizioni. Quando vorrete eliminare tutto basterà digitare “msfdb reinit” il database tornerà come nuovo.
Per visualizzare tutti i comandi disponibili basta digitare help e verrà visualizzato l’elenco di aiuto.
Metasploit permette effettuare tutte le fasi che un penetration tester (o hacker) deve compiere. Si può utilizzare nmap direttamente dal software, digitando
db_nmap comando IP
Esempio:
nmap -sn 192.168.1.1/24
oppure si può effettuare una scanning utilizzando i moduli che ci fornisce il software. Per sapere quali sono i moduli presenti (per scansionare) che ci interessano, basta digitare
search scanner
Se invece, dopo aver effettuato una scansione (con nmap, ad esempio) vedo che l’obbiettivo ha la porta FTP attiva, basta che digito
info auxiliary/scanner/ftp/
e poi clicco il tasto TAB della tastiera. Ecco che mi visualizza tutti i moduli disponibili per le mie necessità
Seleziono auxiliary/scanner/ftp/ftp_version per poter visualizzare la versione che utilizza il mio obbiettivo. I passaggi che ora effettuerò sono praticamente gli stessi per ogni modulo, l’importante è capire come funziona.
Digito
use auxiliary/scanner/ftp/ftp_version
in modo da selezionare il modulo scelto e poi visualizzo le informazioni che necessita per poter essere eseguito con il comando
info
Ora abbiamo un elenco di stringhe che dobbiamo impostare, la schermata che si presenta davanti è composta da:
Per impostare un parametro, basta che digito (lo potete vedere nell’immagine)
SET nome parametro
Ad esempio:
set RHOSTS 192.168.1.1
Dopo aver inserito tutti i parametri di cui abbiamo bisogno, si può digitare ancora info per vedere se abbiamo inserito tutto correttamente, oppure facciamo partire il software, digitando
run
oppure
exploit
Esistono tantissimi moduli per effettuare scansioni, sta solo a noi trovare quello che più ci serve.
Riuscire ad evadere un sistema senza averne le credenziali o l’accesso fisico è uno degli obbiettivi principali in questo campo, ed anche una bella sensazione. Dopo aver effettuato la fase dello scanning, abbiamo a disposizione diverse porte e servizi da testare, ecco alcuni esempi.
Ricorco che evadere un sistema senza le dovute autorizzazioni è illegale e punibile penalmente.
Dopo aver fatto una scansione veloce della rete di casa mia, mi incuriosisce il fatto che ci sia la porta 21 del modem sia aperta. Che non siano state modificate le password di default?
Cerco quindi, con il comando
search ftp
un modulo che mi può esser utile, e seleziono fpt_login
Ora imposto il file della lista degli utenti e delle password (che ricordo, si trova qui)
Faccio partire l’attacco e dopo poco ecco che viene trovata la password e lo username (e quando ho comprato il modem, davvero erano queste, l’ho scoperto per caso tempo fa!).
Per questo esempio utilizzerò Metasploitable, è una macchina virtuale per definizione stessa vulnerabile. Ha decine di porte aperte e servizi vulnerabili, potete trovarla a questo indirizzo.
Effettuo una scanione con nmap per vedere quali porte ha aperte il mio obbiettivo
Vedo che c’è irc è attivo, e andando a cercare irc, l’unico modulo in unix è “unreal_ircd_3281_backdoor”. Lo seleziono, imposto RHOST e faccio partire l’attacco
Come potete vedere sono riuscito ad entrare nel sistema, e digitando whoami scopro di essere root
Questo articolo vuole essere solo un’introduzione al software, riuscire a spiegarlo in maniera completa probabilmente ne verrebe fuori un libro. Per imparare ad utilizzarlo al meglio bisogna sperimentare al massimo, utilizzando metasploitable, macchine virtuali con Windows XP o anche versioni più recenti. Se pensate che manchi qualcosa di essenziale, segnalate pure che provvederò ad aggiungerlo.