In questo articolo parleremo delle basi di Metasploit e dei comandi Metasploit usati nell’interfaccia della linea di comando. All’inizio la linea di comando della console MSF e il numero di comandi disponibili potrebbe sembrare molto e difficile da capire e utilizzare, ma non lasciatevi intimidire. Una volta che avrete capito il concetto e la chiara struttura sarà molto facile. Se mettiamo tutto insieme, il framework Metasploit consiste nel nucleo e nella base, un sacco di exploit, payloads, moduli (classi Ruby), plugin, script e molteplici interfacce utente. Il framework Metasploit contiene anche alcuni grandi strumenti di raccolta delle informazioni chiamati moduli ausiliari. I moduli ausiliari possono essere utilizzati per la scansione delle porte, l’identificazione dei servizi, lo sniffing delle password e l’enumerazione delle patch di Windows. Metasploit è altamente personalizzabile per gli utenti avanzati e può essere personalizzato per soddisfare le proprie esigenze scrivendo i propri exploit, moduli, plugin e script. Se Metasploit non fornisce il modulo di raccolta delle informazioni di cui avete bisogno per impostazione predefinita, allora potete semplicemente scriverlo voi stessi.

La msfconsole è l’interfaccia utente nota per essere la più stabile e quella con cui lavoreremo durante i tutorial di Metasploit su Hacking Tutorials. A parte la stabilità, un altro vantaggio della msfconsole è la possibilità di eseguire comandi esterni come il comando ping e il completamento automatico della scheda. C’è anche un’interfaccia grafica disponibile per Metasploit chiamata Armitage. Vedremo Armitage e come usarlo al posto di msfconsole in un tutorial successivo. Continuiamo questo tutorial sui comandi di Metasploit con l’aggiornamento del Metasploit Framework se necessario e poi passiamo alla msfconsole per vedere quali comandi sono disponibili per noi.

Comandi base di Msfconsole

Assumendo che siate su Kali Linux 2016 rolling edition possiamo avviare il Metasploit framework e msfconsole cliccando sull’icona Metasploit nel dock. Questo avvierà il servizio PostgreSQL e il servizio Metasploit automaticamente.

Aggiornare Metasploit con msfupdate

Iniziamo ad aggiornare Metasploit utilizzando il seguente comando in una sessione terminale (non in msfconsole):

msfupdate

Questo comando dovrebbe aggiornare il framework Metasploit all’ultima versione. Gli aggiornamenti dicono che dovremmo aspettarci aggiornamenti settimanali (circa). Attenzione: L’esecuzione di msfupdate potrebbe rompere la vostra installazione di Metasploit. Dopo aver eseguito questo comando per questo tutorial ci siamo imbattuti in errori come:

Questo errore ha qualcosa a che fare con PostgreSQL e per risolvere questo problema prova prima ad eseguire i seguenti comandi:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Questo ha risolto il problema da parte nostra, probabilmente aveva qualcosa a che fare con una versione non aggiornata di un pacchetto. La vostra installazione di Metasploit è rotta dopo aver eseguito un aggiornamento e avete bisogno di aiuto per risolverla? Usate la funzione di commento qui sotto e cercheremo di aiutarvi nel miglior modo possibile. Continuiamo con la msfconsole.

Metasploit msfconsole

Quando Metasploit si è avviato e la msfconsole è disponibile possiamo digitare ‘help’ per avere una panoramica dei comandi del core e del backend di Metasploit con una descrizione:

Comandi Metasploit

Sarebbe una perdita di tempo e fuori dallo scopo di questo tutorial spiegare ogni singolo comando Metasploit in questo tutorial. Vogliamo solo che tu sia operativo il prima possibile in Metasploit e quindi una conoscenza di base dei comandi di base dovrebbe essere sufficiente per il momento. Imparerete molto di più sulle opzioni avanzate lungo la strada. Inoltre, la maggior parte delle descrizioni dei comandi dovrebbe essere molto chiara su cosa fa esattamente il comando e come usarlo. Per ora guarderemo i comandi di base di Metasploit più usati in questo tutorial come:

  • Comandi di base: search, use, back, help, info e exit.
  • Comandi di exploit: set per impostare le variabili e show per mostrare le opzioni di exploit, target, payloads, encoders, nops e le opzioni avanzate e di evasione.
  • Comandi di esecuzione exploit: run ed exploit per eseguire exploit contro un target.

C’è anche una completa documentazione Metasploit inclusa con Metasploit che può essere utilizzata per chiarire qualsiasi cosa. Diamo un’occhiata ai comandi di Metasploit.

Comandi di Metasploit

Passeremo rapidamente attraverso i comandi di base di Metasploit in modo da poter iniziare con la parte divertente e imparare come usare gli exploit su una macchina vulnerabile come Metasploit 2. I comandi base consistono in help, back, exit e info.

Comandi use, back e exit

Il comando use in Metasploit è usato per attivare un particolare modulo e cambia il contesto della msfconsole a quel particolare modulo. Il nome dell’exploit sarà indicato in rosso sulla linea di comando come segue:

In questo esempio abbiamo cambiato il contesto della linea di comando all’exploit chiamato realvnc_client. Da qui in poi possiamo recuperare informazioni su questo exploit, impostare i parametri dell’exploit richiesti ed eseguirlo contro un obiettivo.

Se vogliamo lasciare il contesto dell’exploit e tornare alla msfconsole dobbiamo usare il comando back. Il comando back ci riporterà alla msfconsole nel contesto generale. Da qui in poi possiamo lanciare nuovamente il comando use per passare ad un altro modulo Metasploit.

Il comando exit chiuderà la msfconsole e ci riporterà al terminale di Kali Linux.

Comando help

Come abbiamo visto prima in questo tutorial il comando help restituirà una lista di possibili comandi insieme ad una descrizione quando digitato nella msfconsole. Quando c’è un exploit attivo selezionato possiamo usare il comando help per ottenere una lista di comandi di exploit:

Comando info

Quando un exploit è selezionato con il comando use possiamo recuperare informazioni come il nome, la piattaforma, l’autore, gli obiettivi disponibili e molto altro usando il comando info. Nel seguente screenshot abbiamo usato il comando info su un exploit chiamato ie_execcommand_uaf:

Comando di ricerca

In questo momento Metasploit contiene oltre 1.500 exploit diversi e ne vengono aggiunti regolarmente di nuovi. Con questo numero di exploit la funzione di ricerca, e sapere come usarla, diventa molto importante. Il modo più semplice di utilizzare la funzione di ricerca è quello di emettere il comando search seguito da un termine di ricerca, per esempio flash per cercare gli exploit relativi a Flash player. Usando il comando search Metasploit cercherà il termine di ricerca dato nei nomi e nelle descrizioni dei moduli come segue:

Come previsto ci sono un sacco di exploit legati al software Flash player, spesso vulnerabile. La lista include anche CVE-2015-5122 Adobe Flash opaqueBackground Use After Free zero-day che è stato scoperto nella violazione dei dati di Hacking Team l’anno scorso.

Ricerca di exploit con parole chiave

Puoi anche usare il comando di ricerca con una parola chiave per cercare un autore specifico, un ID OSVDB o una piattaforma. Il comando ‘help search’ mostra le parole chiave disponibili nella msfconsole come segue:

L’uso del comando di ricerca con una parola chiave è piuttosto semplice e viene visualizzato in fondo al testo di aiuto. Il seguente comando è usato per cercare moduli con un CVE ID dal 2016:

msf > search cve:2016

Questo ci restituisce tutti gli exploit con un CVE ID dal 2016, compreso uno scanner di moduli ausiliari per la recentissima backdoor SSH del firewall Fortinet:

Comandi Metasploit per exploit

Nel capitolo precedente abbiamo imparato i comandi Metasploit per attivare un exploit sulla msfconsole e cambiare il contesto della linea di comando all’exploit con il comando use. Ora vedremo come mostrare i parametri dell’exploit e come cambiarli con il comando set. Vedremo anche come mostrare i carichi utili, gli obiettivi, le opzioni avanzate e di evasione. Il comando help show mostrerà i parametri disponibili per il comando show:

Show options

Il comando show options vi mostrerà i parametri disponibili per un exploit se usato quando la linea di comando è in contesto exploit. Usiamo l’exploit adobe_flash_shader_drawing_fill e diamo un’occhiata alle opzioni con il seguente comando:

msf > Use exploit/multi/browser/ adobe_flash_shader_drawing_fill

Seguito dal comando show options:

msf > show options

L’exploit Flash contiene un totale di 6 opzioni di cui solo 2 sono richieste:

  • Retries
  • SRVHOST (Required)
  • SRVPORT (Required)
  • SSL
  • SSLCert
  • URLPath

Nota che il comando show options restituisce l’attuale obiettivo selezionato sotto le opzioni del modulo. L’obiettivo predefinito è 0 che è Windows per l’exploit selezionato.

Utilizza il comando set seguito dal nome dell’opzione e dal nuovo valore per cambiare i valori predefiniti:

Set SRVHOST 192.168.0.100 per cambiare il valore SRVHOST a 192.168.0.100

Set SRVPORT 80 per cambiare la porta da 8080 a 80

Utilizzando nuovamente il comando show options puoi verificare che i valori SRVHOST e SRVPORT sono stati cambiati. Potete cambiare i valori booleani usando il comando set con il nome dell’opzione e true o false.

Show payloads

Quando usiamo il comando show payloads la msfconsole restituirà una lista di payloads compatibili per questo exploit. Nel nostro esempio di flash player exploit restituirà parecchi payload compatibili:

Una panoramica degli exploit compatibili

Per usare un certo payload è necessario usare il comando set seguito dal nome del payload:

Set payload linux/x86/exec

Show targets

Il comando show targets restituisce una lista di sistemi operativi che sono vulnerabili all’exploit selezionato. Quando eseguiamo il comando otteniamo il seguente output per l’exploit adobe_flash_shader_drawing_fill:

Una panoramica degli obiettivi disponibili per l’exploit selezionato.

Questo exploit mira sia ai sistemi operativi Windows che Linux. Si noti che possiamo usare il comando info per ottenere ulteriori informazioni su questo exploit e sugli obiettivi.

Per impostare un obiettivo possiamo usare il comando set seguito dall’ID dell’obiettivo:

set target 1

Impostare l’obiettivo ridurrà molto la lista dei payloads perché verranno mostrati solo i payloads compatibili con l’obiettivo:

Show advanced

Utilizzando il comando show advanced possiamo dare uno sguardo alle opzioni avanzate dell’exploit.

Utilizza il comando set seguito dal parametro advanced e dal nuovo valore per cambiare le impostazioni avanzate:

Set displayablepayloadhandler true

Show encoders

Il comando show encoders restituirà gli encoder compatibili. Gli encoder sono usati per eludere le semplici firme IDS/IPS che cercano certi byte del vostro payload. Vedremo gli encoder in dettaglio in un capitolo successivo dei tutorial di Metasploit.

Per usare un encoder usate il comando set seguito dal nome dell’encoder.

Show nops

Il comando show nops restituirà una lista di generatori NOP. Un NOP è l’abbreviazione di No Operation ed è usato per cambiare il modello di una slitta NOP al fine di bypassare semplici firme IDS/IPS delle comuni slitte NOP. I generatori NOP iniziano con l’architettura della CPU nel nome. Vedremo i NOPS in un capitolo successivo di questo tutorial.

Per usare un generatore NOP usate il comando set seguito dal nome del generatore NOP. Quando l’exploit viene lanciato le slitte NOP saranno prese dal generatore NOP.

Show evasion

Il comando show evasion restituisce una lista delle tecniche di evasione disponibili.

Per cambiare le impostazioni di evasione usate il comando set seguito dal parametro evasione e dal nuovo valore.

Comandi di Metasploit per l’esecuzione dell’exploit

Quando tutte le opzioni richieste sono state impostate per l’exploit, incluso un payload e impostazioni avanzate come un generatore NOP, opzioni di evasione e codifica, l’exploit è pronto per essere eseguito. L’exploit può essere eseguito utilizzando due comandi: run e exploit. Basta digitare run o exploit nella msfconsole e l’exploit verrà eseguito.

Questo conclude il tutorial sui comandi di Metasploit per ora. Se avete domande su uno qualsiasi dei comandi menzionati o non menzionati, vi preghiamo di farle utilizzando la funzionalità di commento sotto questo post. Nel prossimo tutorial di Metasploit enumereremo la macchina Metasploit 2. Dopo di che faremo una valutazione delle vulnerabilità con le informazioni raccolte. Se non avete ancora installato Metasploitable 2, potete seguire prima il tutorial di installazione di Metasploitable 2.

Condividi su: