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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/outflanknl/evilclippy
Анализ уязвимостейЭксплуатацияАнализ вредоносных программТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingРазработка Полезной Нагрузки
GitHuboutflanknl/evilclippy

EvilClippy

Кросс-платформенный помощник для создания вредоносных документов MS Office. Может скрывать макросы VBA, подавлять код VBA (через P-Code) и сбивать с толку инструменты анализа макросов. Работает на Linux, OSX и Windows.

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

Популярное

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

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

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

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

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

Этот инструмент был выпущен во время нашего выступления на BlackHat Asia (28 марта 2019 года). Видеозапись этого выступления доступна по адресу https://www.youtube.com/watch?v=9ULzZA70Dzg.

Evil Clippy

Кроссплатформенный помощник для создания вредоносных документов MS Office. Умеет скрывать макросы VBA, подменять код VBA (через P-Code) и запутывать инструменты анализа макросов. Работает на Linux, OSX и Windows.

Если вы новичок в этом инструменте, возможно, вам стоит начать с чтения нашей статьи в блоге об Evil Clippy: https://outflank.nl/blog/2019/05/05/evil-clippy-ms-office-maldoc-assistant/

Этот проект следует использовать только для авторизованного тестирования или образовательных целей.

Текущие возможности

  • Скрытие макросов VBA из редактора GUI
  • Подмена VBA (злоупотребление P-code)
  • Обман инструментов аналитика
  • Раздача шаблонов с подменой VBA через HTTP
  • Установка/снятие защиты VBA Project Locked/Unviewable

Если вы понятия не имеете, что всё это значит, сначала ознакомьтесь со следующими ресурсами:

  • Наша презентация MS Office Magic Show на Derbycon 2018
  • Ресурсы по подмене VBA от команды безопасности Walmart
  • Pcodedmp от доктора Бончева

Насколько это эффективно?

На момент написания этот инструмент способен заставить стандартный макрос Cobalt Strike обходить большинство основных антивирусных продуктов и различные инструменты анализа вредоносных документов (используя подмену VBA в сочетании со случайными именами модулей).

Технология

Evil Clippy использует библиотеку OpenMCDF для манипуляции файлами в формате Compound File Binary Format (CFBF) MS Office, и злоупотребляет спецификациями MS-OVBA и их функциями. В нём используется код из Kavod.VBA.Compression для реализации алгоритма сжатия, применяемого в потоках dir и module (см. MS-OVBA для соответствующих спецификаций).

Evil Clippy отлично компилируется с компилятором Mono C# и был протестирован на Linux, OSX и Windows.

Компиляция

Мы не предоставляем готовые бинарные сборки для EvilClippy. Пожалуйста, скомпилируйте исполняемые файлы самостоятельно:

OSX и Linux

Убедитесь, что у вас установлен Mono. Затем выполните следующую команду из командной строки:

mcs /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs

Теперь запустите Evil Clippy из командной строки:

mono EvilClippy.exe -h

Windows

Убедитесь, что у вас установлена Visual Studio. Затем выполните следующую команду из командной строки разработчика Visual Studio:

csc /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs

Теперь запустите Evil Clippy из командной строки:

EvilClippy.exe -h

Примеры использования

Вывод справки

EvilClippy.exe -h

Скрытие/отображение макросов из GUI

Скрывает все модули макросов (кроме стандартного модуля "ThisDocument") из редактора GUI VBA. Это достигается удалением строк модулей из потока проекта [MS-OVBA 2.3.1].

EvilClippy.exe -g macrofile.doc

Отменяет изменения, выполненные опцией скрытия (-g), чтобы можно было отлаживать макрос в среде VBA IDE.

EvilClippy.exe -gg macrofile.doc

Подмена VBA (злоупотребление P-code)

Помещает поддельный код VBA из текстового файла fakecode.vba во все модули, оставляя P-code нетронутым. Это злоупотребляет недокументированной функцией потоков модулей [MS-OVBA 2.3.4.3]. Обратите внимание, что версия проекта VBA должна совпадать с версией хост-программы, чтобы P-code выполнялся (см. следующий пример для сопоставления версий).

EvilClippy.exe -s fakecode.vba macrofile.doc

Примечание: Подмена VBA не работает для файлов, сохранённых в формате Excel 97-2003 Workbook (.xls)

Установка целевой версии Office для подмены VBA

То же, что и выше, но теперь явно ориентируется на Word 2016 на x86. Это означает, что Word 2016 на x86 будет выполнять P-code, в то время как другие версии Word будут выполнять код из fakecode.vba. Достигается установкой соответствующих байтов версии в потоке _VBA_PROJECT [MS-OVBA 2.3.4.1].

EvilClippy.exe -s fakecode.vba -t 2016x86 macrofile.doc

Установка/сброс случайных имён модулей (обман инструментов аналитика)

Устанавливает случайные имена модулей в потоке dir [MS-OVBA 2.3.4.2]. Это злоупотребляет неоднозначностью в записях MODULESTREAMNAME [MS-OVBA 2.3.4.2.3.2.3] — большинство инструментов аналитика используют указанные здесь ASCII-имена модулей, в то время как MS Office использует вариант Unicode. Устанавливая случайное ASCII-имя модуля, большинство инструментов анализа P-code и VBA вылетают, в то время как настоящий P-code и VBA продолжают нормально работать в Word и Excel.

EvilClippy.exe -r macrofile.doc

Примечание: известно, что это эффективно для обмана pcodedmp и VirusTotal

Устанавливает ASCII-имена модулей в потоке dir, соответствующие их Unicode-аналогам. Это отменяет изменения, сделанные с помощью опции (-r) EvilClippy.

EvilClippy.exe -rr macrofile.doc

Раздача шаблона с подменой VBA через HTTP

Обслуживает macrofile.dot через HTTP-порт 8080 после выполнения подмены VBA. Если этот файл загружается, он автоматически подстраивается под версию Office цели (используя её HTTP-заголовки и устанавливая соответствующие байты _VBA_PROJECT).

EvilClippy.exe -s fakecode.vba -w 8080 macrofile.dot

Примечание: Раздаваемый файл должен быть шаблоном (.dot, а не .doc). Вы можете установить шаблон через URL (расширение .dot не обязательно!) из панели разработчика в Word. Кроме того, в fakecode.vba должен быть установлен атрибут VB_Base для макроса из шаблона (это означает, что ваш fakecode.vba должен начинаться со строки вида Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}").

Установка/снятие защиты VBA Project Locked/Unviewable

Для установки атрибутов Locked/Unviewable используйте опцию '-u':

EvilClippy.exe -u macrofile.doc

Для снятия атрибутов Locked/Unviewable используйте опцию '-uu':

EvilClippy.exe -uu macrofile.doc

Примечание: Вы также можете снять атрибуты Locked/Unviewable в файлах, которые не были заблокированы с помощью EvilClippy.

Ограничения

Разработан для манипуляции документами Microsoft Word и Excel.

Как отмечалось выше, подмена VBA неэффективна для формата Excel 97-2003 Workbook (.xls).

Авторы

Stan Hegt (@StanHacked) / Outflank

Со значительным вкладом Carrie Roberts (@OrOneEqualsOne / Walmart).

Особая благодарность Nick Landers (@monoxgas / Silent Break Security) за указание на OpenMCDF.

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