[MALDOC] Emulare Macro Excel con Cerbero Suite

[MALDOC] Emulare Macro Excel con Cerbero Suite

Ciao, oggi volevo fare un post molto veloce per parlare di un prodotto che ho scoperto recentemente chiamato Cerbero Suite che permette di ridurre drasticamente il tempo per l’analisi di Macro Excel offuscate, analizzando un sample ottenuto durante il corso che sto seguendo chiamato Zero2Auto.

Cerbero Suite

Cerbero Suite è un prodotto molto completo, non solo per l’analisi di Excel, ma anche PDF, Word, VBA, Javascript, Shellcode e ha un proprio decompiler, quindi può essere usato anche per analizzare codice nativo. Come per Ghidra e IDA, ha un proprio SDK che permette di realizzare degli script Python per velocizzare l’analisi statica e ha un proprio Excel Emulator chiamato Silicon che permette di velocizzare molto l’analisi.

Proviamolo subito analizzando il file Maria Martinez.xls che distribuirà successiva Zloader.

Output di OleID
Schermata Hierarchy di Cerbero Suite

Possiamo vedere come il file sia stato decifrato in automatico e inoltre viene rilevata la presenza di un sheet nascosto e delle formule che analizzeremo a breve. A tale proposito vi consiglio di seguire Alexey Kleymenov che approfondisce e da un sacco di tips per analizzare macro Word/Excel malevole.

Schermata Summary

Il documento offusca il flow attraverso RUN e questo rende difficoltoso trovare l’esecuzione del codice malevolo; Cerbero le filtra in automatico e possiamo rilevare diverse chiamate CALL in basso nella finestra Formula.

Il malware usa le formule per effettuare le chiamate CALL

Ora la funzione più utile: possiamo emulare le macro cliccando tasto destro ed “Emulate Formula”.

Output dell’emulation delle tre formule

Possiamo vedere come viene scaricata una DLL in “C:\ProgramData\BysKIez.dll” ed eseguita tramite rundll32.exe.

Vediamo l’analisi di un altro sample, questa volta un file word che è stato scoperto recentemente e appartenente al gruppo Gamaderon.

Aprendo il file possiamo vedere che ci sono diverse file XML e in particolare in word/_rels/settings.xml.rels c’è una External Resources.

Rilevazione External Resources in settings.xml.rels
Il link esterno che permette di scaricare il secondo payload

Questo file XML infatti contiene un URL da dove viene scaricato un file chiamato DCiB1GD.dot, che contiene le macro da eseguire; questa tecnica, chiamata Template Injection funziona in questo modo:

  • Creare un .dotm template con una macro che esegue il payload ed hostarlo sul proprio server.
  • Creare un documento word con il template di default, rinominarlo come zip ed estrarlo.
  • Rinominare il file word in zip e inserire l’url URL che contiene il template in Target nel file ./word_rels/settings.xml.rels.

Finish! Molto semplice vero? 🙂 A breve mi piacerebbe anche provare ViperMonkey che permette di emulare VBA Macro e può essere molto utile quando ci troviamo di fronte a codice VBA offuscato.

Una alterativa, visto che in realtà la tecnica di obfuscation non è complessa, sarebbe quella di sfruttare l’SDK di CerberoSuite, per rimuovere le variabili non utilizzate e trasformare in automatico l’Array in stringhe.

Esempio di codice VBA Offuscato

Share this content:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *