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

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

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

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

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

Категории

Все категории
Loading categories
Macrome — Excel Macro Document Reader/Writer для специалистов по красным командам и аналитиков | Kitploit
Инструменты/GitHubGitHub/michaelweber/macrome
Генерация полезной нагрузкиЭксплуатацияФишингАнализ вредоносных программТестирование на ПроникновениеСоциальная инженерияАнализ Бинарных ФайловRed Teaming
GitHubmichaelweber/macrome

Macrome

Excel Macro Document Reader/Writer для специалистов по красным командам и аналитиков

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

Популярное

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

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

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

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

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

Macrome

Инструмент для чтения/записи Excel-документов с макросами для специалистов по Red Teaming и аналитиков. Посты в блоге, описывающие, что на самом деле делает этот инструмент, можно найти здесь и здесь.

Пример созданного документа с использованием шаблона по умолчанию.

Установка / Сборка

Клонируйте или скачайте этот репозиторий, затем инструмент можно запустить с помощью dotnet — например:

dotnet run -- build --decoy-document Docs\decoy_document.xls --payload Docs\popcalc.bin 

или

dotnet build
cd bin/Debug/netcoreapp2.0
dotnet Macrome.dll deobfuscate --path obfuscated_document.xls

Обратите внимание, что для работы требуется сборка dotnet версии 5.0+ — её можно скачать с https://dotnet.microsoft.com/download/dotnet/5.0.

Бинарные релизы инструмента, не требующие dotnet и содержащие исполняемый файл, можно найти в разделе Release для Windows, OSX и Linux.

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

Запускайте Macrome, используя dotnet run из каталога решения или dotnet для собранного бинарного файла Macrome. У Macrome есть три режима работы: режим сборки, режим дампа и режим деобфускации.

Режим сборки

Запустите Macrome с командой build, чтобы сгенерировать документ Excel, содержащий обфусцированный лист макросов, используя предоставленный документ-приманку и полезную нагрузку макроса. dotnet Macrome.dll build -h выведет полные инструкции по использованию.

Например, чтобы собрать документ, используя документ-приманку path/to/decoy_document.xls и бинарный x86 шеллкод из path/to/shellcode.bin, выполните dotnet Macrome.dll build --decoy-document path/to/decoy_document.xls --payload /path/to/shellcode.bin. Будет сгенерирован документ XLS 2003, который после открытия и нажатия кнопки "Включить содержимое" выполнит шеллкод из shellcode.bin.

Как мне это запускать?

Остальная документация подробно объяснит каждый флаг/функцию, но прямо сейчас "последние и лучшие" возможности Macrome можно получить, выполнив:

Macrome build --decoy-document decoy_document.xls --payload beacon.bin --payload64-bit beacon64.bin --payload-method Base64 --method ArgumentSubroutines --password VelvetSweatshop --preamble preamble.txt --output-file-name ReadyToPhish.xls

Использование бинарной полезной нагрузки

Сначала создайте базовый "приманочный" документ Excel, который будет содержать контент, который увидят пользователи. Это должна быть некая приманка, убеждающая пользователей нажать кнопку "Включить макросы", отображаемую в Excel. Некоторые примеры создания "последних и лучших" приманок можно найти на https://inquest.net/blog/2020/05/06/ZLoader-4.0-Macrosheets-. После создания этого листа сохраните документ как Excel 97-2003 Workbook (*.xls), а не в более новом формате Excel Workbook (*.xlsx). Пример документа-приманки включён в /Docs/decoy_document.xls. Обратите внимание: если вы используете XOR-обфускацию для защиты документа, вы НЕ МОЖЕТЕ добавлять изображение в приманку.

Затем сгенерируйте полезную нагрузку шеллкода для передачи инструменту. Пример бинарной полезной нагрузки (которая запускает калькулятор) был сгенерирован с помощью msfvenom со следующими параметрами:

 msfvenom -a x86 -b '\x00' --platform windows -p windows/exec cmd=calc.exe -e x86/alpha_mixed -f raw EXITFUNC=thread > popcalc.bin

Также поддерживаются 64-битные полезные нагрузки. Пример 64-битной полезной нагрузки, popcalc64.bin, был сгенерирован с помощью команды:

msfvenom -a x64 -b '\x00' --platform windows -p windows/x64/exec cmd=calc.exe -e x64/xor -f raw EXITFUNC=thread > popcalc64.bin

Эту полезную нагрузку можно встроить, выполнив команду:

dotnet Macrome.dll build --decoy-document decoy_document.xls --payload popcalc.bin --payload64-bit popcalc64.bin

В настоящее время для 64-битных полезных нагрузок требуется также указать x86-полезную нагрузку. Если это не проблема, вы можете просто указать мусор для флага x86.

Существует возможность встраивать .NET-сборки непосредственно в документ, но если вы хотите сделать это сейчас, я рекомендую использовать EXCELntDonut.

Начиная с Macrome 0.5.0 и выше, все полезные нагрузки кодируются в base64, поэтому ваша полезная нагрузка может содержать любую последовательность байтов (включая нулевые байты).

Встраивание исполняемых файлов

Если вы хотите встроить .NET-исполняемый файл с помощью Macrome, я рекомендую использовать Donut с командой donut.exe -a 3 -b 1 -z 1 executableToEmbed.exe, а затем встроить полученную полезную нагрузку как для 32-битной, так и для 64-битной версий.

Ещё один хороший вариант — Amber, который отлично работает для встраивания довольно больших Go-бинарников.

Устаревшее кодирование полезной нагрузки

Если по какой-то причине вы хотите использовать устаревший режим кодирования полезной нагрузки из версий до Macrome 0.5.0, используйте флаг --payload-method со значением SheetPackingMethod. Обратите внимание, что в устаревшем режиме использование преимущественно буквенно-цифровой полезной нагрузки уменьшит размер генерируемого файла макроса, поскольку буквы и числа проще выразить в виде макроса, чем постоянно добавлять вызовы функции CHAR вроде =CHAR(123)&CHAR(124)&CHAR(125)... и т.д. Но инструмент должен справляться и с полностью непечатаемой бинарной полезной нагрузкой.

Использование макроса в качестве полезной нагрузки

Как и в случае с бинарной полезной нагрузкой, сначала необходимо создать документ-приманку. Затем создайте текстовый файл, содержащий макросы для выполнения. Макросы должны быть с столбцами, разделёнными символами ;, и строками, разделёнными переводами строк. В настоящее время содержимое указанных макросов будет записано и выполнено, начиная с A1 — в будущем будет добавлена поддержка указания начального расположения. Примеры макросов можно найти в /Docs/macro_example.txt и /Docs/multi_column_macro_example.txt.

Наконец, выполните команду:

dotnet Macrome.dll build --decoy-document decoy_document.xls --payload macro-example.txt --payload-type Macro

Обратите внимание на использование флага payload-type со значением Macro.

Вы можете сгенерировать макрос самостоятельно или воспользоваться замечательным инструментом EXCELntDonut для создания макроса.

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