
Vba2Graph - Génère des graphes d'appels à partir de code VBA, pour faciliter l'analyse de documents malveillants.
Un outil pour les chercheurs en sécurité, qui perdent leur temps à analyser des macros Office malveillantes.
Génère un graphe d'appels VBA, avec les mots-clés potentiellement malveillants mis en évidence.
Permet une analyse rapide des macros malveillantes et une compréhension facile du flux d'exécution.
✓ Assez rapide
✓ Fonctionne bien sur la plupart des macros malveillantes observées dans la nature
✗ Statique (les appels résolus dynamiquement ne seraient pas reconnus)
Exemple 1 :
Téléchargeur Trickbot - utilise l'événement Resize de l'objet comme déclencheur initial, suivi des déclencheurs TextBox_Change.

Exemple 2 :

Consultez le dossier Exemples pour plus de cas.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
Installer Graphviz :
https://graphviz.gitlab.io/download/#windows
Ajoutez "dot.exe" à la variable d'environnement PATH ou simplement :
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
Veuillez noter qu'une version Python 2 est disponible dans la section Releases, mais n'est plus prise en charge.
# 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
Vous obtiendrez 4 dossiers dans votre dossier de sortie :
Le fichier de script batch.sh est fourni pour exécuter olevba et vba2graph sur un dossier d'entrée de documents malveillants.
Supprime le répertoire output. Utilisez avec précaution.
Le code de ce projet est sous licence EPL-2.0.
Ce projet utilise les outils et bibliothèques open-source tiers suivants. Veuillez noter leurs licences respectives.