
Vba2Graph - Erzeuge Aufrufgraphen aus VBA-Code zur einfacheren Analyse bösartiger Dokumente.
Ein Werkzeug für Sicherheitsforscher, die ihre Zeit mit der Analyse bösartiger Office-Makros verschwenden.
Erzeugt einen VBA-Aufrufgraph mit hervorgehobenen potenziell bösartigen Schlüsselwörtern.
Ermöglicht die schnelle Analyse bösartiger Makros und das einfache Verständnis des Ausführungsflusses.
✓ Ziemlich schnell
✓ Funktioniert gut bei den meisten in freier Wildbahn beobachteten bösartigen Makros
✗ Statisch (dynamisch aufgelöste Aufrufe werden nicht erkannt)
Beispiel 1:
Trickbot-Downloader – verwendet das Resize-Ereignis des Objekts als ersten Auslöser, gefolgt von TextBox_Change-Auslösern.

Beispiel 2:

Weitere Beispiele finden Sie im Ordner Examples.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
Graphviz installieren:
https://graphviz.gitlab.io/download/#windows
Fügen Sie "dot.exe" zur PATH-Umgebungsvariable hinzu oder einfach:
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
Bitte beachten Sie, dass eine Python-2-Version im Abschnitt Releases verfügbar ist, aber nicht mehr unterstützt wird.
# Generate call graph directly from an Office file with macros [tnx @doomedraven]
python3 vba2graph.py -f malicious.doc -c 2
# Generate vba code using olevba then pipe it to vba2graph
olevba3 malicious.doc | python3 vba2graph.py -c 1
# Generate call graph from VBA code
python3 vba2graph.py -i vba_code.bas -o output_folder
Sie erhalten 4 Ordner in Ihrem Ausgabeordner:
Die Skriptdatei batch.sh ist enthalten, um olevba und vba2graph auf einem Eingabeordner mit bösartigen Dokumenten auszuführen.
Löscht das Verzeichnis output. Mit Vorsicht verwenden.
Der Code in diesem Projekt ist lizenziert unter der EPL-2.0-Lizenz.
Dieses Projekt verwendet die folgenden Open-Source-Tools und -Bibliotheken von Drittanbietern. Bitte beachten Sie die jeweiligen Lizenzen.