
Vba2Graph - Genera grafos de llamadas a partir de código VBA, para facilitar el análisis de documentos maliciosos.
Una herramienta para investigadores de seguridad, que pierden su tiempo analizando macros maliciosas de Office.
Genera un grafo de llamadas VBA, con palabras clave potencialmente maliciosas resaltadas.
Permite un análisis rápido de macros maliciosas y una fácil comprensión del flujo de ejecución.
✓ Bastante rápido
✓ Funciona bien en la mayoría de macros maliciosas observadas en la naturaleza
✗ Estático (las llamadas resueltas dinámicamente no se reconocerían)
Ejemplo 1:
Descargador Trickbot: utiliza el evento Resize del objeto como disparador inicial, seguido de disparadores TextBox_Change.

Ejemplo 2:

Consulte la carpeta Examples para más casos.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
Instalar Graphviz:
https://graphviz.gitlab.io/download/#windows
Agregue "dot.exe" a la variable de entorno PATH o simplemente:
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
Tenga en cuenta que hay una versión de Python 2 disponible en la sección de Releases, pero ya no tiene soporte.
# Generar grafo de llamadas directamente desde un archivo de Office con macros [gracias @doomedraven]
python3 vba2graph.py -f malicious.doc -c 2
# Generar código VBA usando olevba y luego pasarlo a vba2graph
olevba3 malicious.doc | python3 vba2graph.py -c 1
# Generar grafo de llamadas desde código VBA
python3 vba2graph.py -i vba_code.bas -o output_folder
Obtendrá 4 carpetas en su carpeta de salida:
El archivo de script batch.sh está adjunto para ejecutar olevba y vba2graph en una carpeta de entrada de documentos maliciosos.
Elimina el directorio output. Úselo con precaución.
El código de este proyecto está licenciado bajo la Licencia EPL-2.0.
Este proyecto utiliza las siguientes herramientas y bibliotecas de código abierto de terceros. Tenga en cuenta sus respectivas licencias.