
Vba2Graph - إنشاء رسوم بيانية للاستدعاءات من كود VBA، لتسهيل تحليل المستندات الضارة.
أداة لباحثي الأمن السيبراني، الذين يضيعون وقتهم في تحليل ماكرو أوفيس الضار.
يقوم بتوليد رسم بياني لاستدعاءات VBA، مع إبراز الكلمات المفتاحية الضارة المحتملة.
يسمح بالتحليل السريع لوحدات الماكرو الضارة، والفهم السهل لسير التنفيذ.
✓ سريع جداً
✓ يعمل جيداً على معظم وحدات الماكرو الضارة المرصودة في البرية
✗ ثابت (لن يتم التعرف على الاستدعاءات التي تم حلها ديناميكياً)
مثال 1:
مُحمل Trickbot - يستخدم حدث Resize للكائن كمشغل أولي، يليه مشغلات TextBox_Change.

مثال 2:

تفقد مجلد أمثلة لمزيد من الحالات.
https://github.com/decalage2/oletools/wiki/Install
pip3 install -r requirements.txt
تثبيت Graphviz:
https://graphviz.gitlab.io/download/#windows
أضف "dot.exe" إلى متغير البيئة PATH أو فقط:
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
يرجى ملاحظة أن إصدار Python 2 متاح في قسم الإصدارات، لكنه لم يعد مدعوماً.
# 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
ستحصل على 4 مجلدات في مجلد المخرجات:
ملف السكريبت batch.sh مرفق لتشغيل olevba و vba2graph على مجلد إدخال من المستندات الضارة.
يحذف مجلد output. استخدم بحذر.
كود هذا المشروع مرخص بموجب ترخيص EPL-2.0.
يستخدم هذا المشروع الأدوات والمكتبات مفتوحة المصدر التالية من أطراف ثالثة. يرجى ملاحظة تراخيص كل منها.