Chiunque conosca Linux e voglia avvicinarsi al mondo dell’hacking potrà scegliere la sua preferita tra le distribuzioni come Kali, Backbox, BlackArch e alcune altre. Queste distro però sono perlopiù dedicate ad un target di utenti piuttosto avanzato: buona parte delle operazioni, anche basilari, vengono effettuate esclusivamente da linea di comando, spesso la documentazione è insufficiente per i neofiti e le communities di supporto non sono così estese come quelle delle loro cugine più famose.
Guardando di recente una classifica delle distribuzioni Linux più scaricate negli ultimi dodici mesi su distrowatch.com, sono stato colpito in particolare dalle prime tre posizioni:
- Linux Mint
- Ubuntu
- Debian
Partendo dal gradino più basso del podio, Debian è il più longevo fra i tre, anzi è proprio una delle prime distro Linux, il Debian Project mantiene oltre 56000 pacchetti software, che rendono questo sistema operativo la distribuzione Linux più grande in assoluto, forse uno dei progetti software più grandi di sempre. In seconda posizione troviamo Ubuntu, sicuramente la più famosa tra tutte le distribuzioni Linux, gli si può dare il merito di aver fatto conoscere Linux al grande pubblico, vanta una community gigantesca ed è semplice da utilizzare, quindi adatto anche agli utenti meno istruiti informaticamente. La medaglia d’oro per i download nel 2016 viene conquistata da Linux Mint, è la più giovane delle tre ed è derivata da Ubuntu. Insomma la cosa che che mi ha colpito di questo podio è il punto in comune che hanno queste tre distribuzioni: Debian.
Data la grande diffusione di questi sistemi operativi ho deciso che fosse opportuno scrivere una guida su come installare Metasploit su di essi.
Per testare la guida, evitando di dare informazioni errate, ho effettuato un’installazione del Framework su una macchina Debian 8.7.1 Jessie, ma sono sicuro che il procedimento sia molto simile se non addirittura identico anche per Ubuntu e le altre derivate. A differenza degli ultimi tutorial pubblicati, questo non presenterà immagini, in quanto l’installazione di Metasploit comporta di impartire una serie di comandi da terminale che non necessitano di un raffronto visivo. Tutti i comandi vengono eseguiti da una shell con privilegi di root. Partiamo!
Installare le dipendenze
Cominciamo installando i pacchetti e le librerie necessarie a Metasploit. Per essere sicuri di scaricare le ultime versioni dei pacchetti aggiorniamo prima la lista dalle repository.
apt-get update apt-get install build-essential libreadline-dev libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-7-jre subversion git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev vncviewer libyaml-dev ruby ruby-dev nmap -y
Installare le gemme di Ruby
Essendo sviluppato in Ruby, Metasploit ha bisogno di alcune gemme per funzionare correttamente.
gem install --verbose --debug pcaprub wirble pg sqlite3 msgpack activerecord redcarpet rspec simplecov yard bundler
Effettuare il download di Metasploit
Sebbene possiamo installare Metasploit più o meno in qualsiasi punto del nostro filesystem, esiste una directory dedicata alle applicazioni opzionali, chiamata appunto /opt
. Quindi ci spostiamo in /opt
e scarichiamo il software.
cd /opt git clone https://github.com/rapid7/metasploit-framework.git
Creare i comandi per Metasploit e installare il software
Ci spostiamo nella directory appena creata durante il download, creiamo i symlink ai comandi di Metasploit e installiamo il bundle.
cd metasploit-framework bash -c 'for MSF in $ (ls msf*); do ln -s /opt/metasploit-framework/$ MSF /usr/local/bin/$ MSF;done' bundle install
Impostare il database
Metasploit si appoggia ad un database Postgresql. Tramite i comandi seguenti, impostiamo il database ricordandoci di fornire una password per l’utente del database nel momento in cui ci viene richiesta.
su postgres createuser msf -P -S -R -D createdb -O msf msf exit
Creare il file di configurazione di Metasploit per il database
Creiamo il file di configurazione.
nano /opt/metasploit-framework/database.yml
Scriviamo i seguenti parametri all’interno del file appena creato.
production: adapter: postgresql database: msf username: msf password: msf host: 127.0.0.1 port: 5432 pool: 75 timeout: 5
Creare una variabile d’ambiente per il file di configurazione del database
sh -c "echo export MSF_DATABASE_CONFIG=/opt/metasploit-framework/database.yml >> ~/.bashrc"
Avviare postgresql e msfconsole
service postgresql start msfconsole
Connettere il database a Metasploit
db_connect -y /opt/metasploit-framework/database.yml
Metasploit Framework è installato!
Siamo pronti ad utilizzare Metasploit. Nel caso durante la ricerca di un modulo si presentasse il messaggio [!] Module database cache not built yet, using slow search
, possiamo correggere l’errore e beneficiare della ricerca veloce eseguendo i seguenti passaggi.
msfconsole db_rebuild_cache quit service postgresql restart msfconsole