Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Vba2Graph — Vba2Graph - Создание графов вызовов из кода VBA для упрощения анализа вредоносных документов. | Kitploit
Инструменты/GitHubGitHub/malwarecantfly/vba2graph
Статический анализАнализ КодаОбратная инженерияАнализ вредоносных программ
GitHubmalwarecantfly/vba2graph

Vba2Graph

Vba2Graph - Создание графов вызовов из кода VBA для упрощения анализа вредоносных документов.

Репозиторий
283455 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Vba2Graph

Инструмент для исследователей безопасности, которые тратят своё время на анализ вредоносных макросов Office.

Генерирует граф вызовов VBA с подсветкой потенциально вредоносных ключевых слов.

Позволяет быстро анализировать вредоносные макросы и легко понимать поток выполнения.

@MalwareCantFly

Возможности

  • Подсветка ключевых слов
  • Поддержка свойств VBA
  • Поддержка объявлений внешних функций
  • Хитрые макросы с триггерами выполнения "_Change"
  • Яркие цветовые схемы!

Плюсы

    ✓ Довольно быстро

    ✓ Хорошо работает с большинством вредоносных макросов, встречающихся в реальных условиях

Минусы

    ✗ Статический (динамически разрешаемые вызовы не распознаются)

Примеры

Пример 1:

Trickbot downloader — использует событие изменения размера объекта (Resize) в качестве начального триггера, за которым следуют триггеры TextBox_Change.

Example 1

Пример 2:

Example2

Подробнее см. в папке Examples.

Установка

Установка oletools:

root@kitploit:~
https://github.com/decalage2/oletools/wiki/Install

Установка зависимостей Python

root@kitploit:~
pip3 install -r requirements.txt

Установка Graphviz

Windows

Установка Graphviz:

root@kitploit:~
https://graphviz.gitlab.io/download/#windows

Добавьте "dot.exe" в переменную среды PATH или просто:

root@kitploit:~
set PATH=%PATH%;C:\Program Files (x86)\Graphviz2.38\bin

Mac

root@kitploit:~
brew install graphviz

Ubuntu

root@kitploit:~
sudo apt-get install graphviz

Arch

root@kitploit:~
sudo pacman -S graphviz

Использование

root@kitploit:~
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 доступна в разделе Releases, но больше не поддерживается.

root@kitploit:~
# 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 папки:

  • png: собственно изображение графа, которое вы ищете
  • svg: то же изображение графа, но в векторной графике
  • dot: DOT-файл, использованный для создания изображения графа
  • bas: код функций VBA, распознанный скриптом (для отладки)

Пакетная обработка

Mac/Linux:

Скрипт batch.sh прилагается для запуска olevba и vba2graph на папке с вредоносными документами.

Удаляет директорию output. Используйте с осторожностью.

Лицензия

Код этого проекта распространяется по лицензии EPL-2.0.

Этот проект использует следующие сторонние инструменты и библиотеки с открытым исходным кодом. Обратите внимание на соответствующие лицензии.

  • oletools (Лицензия)
  • networkx (Лицензия)
  • pydot (Лицензия)
  • graphviz (Лицензия)
Скачать инструмент