
Vba2Graph - Genera grafici delle chiamate dal codice VBA, per un'analisi più semplice dei documenti malevoli.
Uno strumento per ricercatori di sicurezza, che perdono tempo ad analizzare macro Office malevole.
Genera un grafico delle chiamate VBA, con evidenziate le parole chiave potenzialmente dannose.
Consente un'analisi rapida delle macro malevole e una facile comprensione del flusso di esecuzione.
✓ Abbastanza veloce
✓ Funziona bene sulla maggior parte delle macro malevole osservate in natura
✗ Statico (le chiamate risolte dinamicamente non verrebbero riconosciute)
Esempio 1:
Downloader Trickbot - utilizza l'evento Resize dell'oggetto come trigger iniziale, seguito dai trigger TextBox_Change.

Esempio 2:

Dai un'occhiata alla cartella Examples per altri casi.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
Installa Graphviz:
https://graphviz.gitlab.io/download/#windows
Aggiungi "dot.exe" alla variabile d'ambiente PATH oppure:
set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin
brew install graphviz
sudo apt-get install graphviz
sudo pacman -S graphviz
usage: vba2graph.py [-h] [-o OUTPUT] [-c {0,1,2,3}] (-i INPUT | -f FILE)
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
output folder (default: "output")
-c {0,1,2,3}, --colors {0,1,2,3}
color scheme number [0, 1, 2, 3] (default: 0 - B&W)
-i INPUT, --input INPUT
olevba generated file or .bas file
-f FILE, --file FILE Office file with macros
Si noti che una release per Python 2 è disponibile nella sezione Releases, ma non è più supportata.
# Genera il grafico delle chiamate direttamente da un file Office con macro [grazie @doomedraven]
python3 vba2graph.py -f malicious.doc -c 2
# Genera il codice VBA usando olevba e poi passalo a vba2graph
olevba3 malicious.doc | python3 vba2graph.py -c 1
# Genera il grafico delle chiamate dal codice VBA
python3 vba2graph.py -i vba_code.bas -o output_folder
Otterrai 4 cartelle nella tua cartella di output:
Il file script batch.sh è allegato per eseguire olevba e vba2graph su una cartella di input di documenti malevoli.
Elimina la directory output. usare con cautela.
Il codice in questo progetto è concesso in licenza con EPL-2.0 License.
Questo progetto utilizza i seguenti strumenti e librerie open source di terze parti. Si prega di notare le rispettive licenze.