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

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

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

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

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

Категории

Все категории
Loading categories
blenny — Система доставки полезной нагрузки, которая внедряет полезную нагрузку в файл значка исполняемого файла! | Kitploit
Инструменты/GitHubGitHub/frank2/blenny
Генерация полезной нагрузкиСтеганографияRed TeamingРазработка Полезной НагрузкиСостязательная Атака
GitHubfrank2/blenny

blenny

Система доставки полезной нагрузки, которая внедряет полезную нагрузку в файл значка исполняемого файла!

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

Популярное

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

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

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

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

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

BLENNY!

Blenny — это инструмент обфускации полезной нагрузки уровня proof-of-concept для Windows, который скрывает данные исполняемой полезной нагрузки внутри значка исполняемого файла. Он назван в честь саблезубой собачки, которая подражает поведению и внешнему виду рыбы-чистильщика, чтобы охотиться на ничего не подозревающих рыб.

Зачем?

Я уже не вспомню точно, как развивалась эта история, но хакер по имени retr0id (@DavidBuchanan314) предложил идею прятать полезную нагрузку внутри значка исполняемого файла. Из-за различных особенностей PNG-файлов — а также потому, что файлы значков Windows могут содержать внутри данные PNG — я понял, что смогу реализовать эту идею довольно легко, просто потребуется немного усилий. Именно для этого я создал библиотеку Facade — библиотеку, предназначенную специально для генерации полезных нагрузок в PNG-файлах.

Конечный результат — это компактный файл полезной нагрузки и система сборки, которые можно использовать для настройки базовой полезной нагрузки дроппера/исполнителя для Windows.

Получение

Blenny использует библиотеку Facade для создания полезных нагрузок из файлов значков, поэтому при получении репозитория необходимо инициализировать подмодуль (и его подмодули):

root@kitploit:~
$ git clone https://github.com/frank2/blenny.git
$ cd blenny
$ git submodule update --init --recursive

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

Сборка

Этот проект буквально создавался с расчётом на CMake, поэтому перед сборкой этого проекта абсолютно необходимо установить CMake. Скорее всего, без него ничего не заработает (если только вы действительно не настроены вручную задавать все определения CMake самостоятельно). Также вам понадобится копия Visual Studio для компиляции проекта.

Этот проект использует множество переменных CMake для настройки процесса сборки. Чтобы получить базовую демонстрационную полезную нагрузку, в результате которой на вашем рабочем столе появится милый друг-овечка, выполните следующее в главном каталоге проекта:

root@kitploit:~
$ mkdir build
$ cd build
$ cmake -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release
$ ./Release/blenny.exe

По умолчанию этот процесс извлекает исполняемый файл с именем «blenny.exe» из значка исполняемого файла во временный каталог текущего пользователя, а затем запускает его. Полезная нагрузка по умолчанию — это DesktopPet от @AdrianoTiger, специальная пересборка классического esheep.exe из 90-х.

Все переменные, которые обеспечивают это, настраиваются! Должна быть задана одна переменная полезной нагрузки (BLENNY_TRAILING_PAYLOAD, BLENNY_TEXT_PAYLOAD, BLENNY_ZTEXT_PAYLOAD или BLENNY_STEGO_PAYLOAD). Она управляет тем, как полезная нагрузка в конечном итоге помещается в значок. Подробнее об этих методах см. в библиотеке Facade. Например, чтобы использовать собственную полезную нагрузку, сделайте следующее:

root@kitploit:~
$ cmake -D BLENNY_PAYLOAD_FILE="path/to/your/payload.exe" -D BLENNY_ZTEXT_PAYLOAD=ON ../
$ cmake --build ./ --config Release

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

Скачать инструмент
ФлагТипЗначение по умолчаниюНазначение
BLENNY_PAYLOAD_FILEString"${PROJECT_SOURCE_DIR}/res/defaultpayload.exe"Полезная нагрузка для встраивания в файл значка. Примечание: поскольку итоговый метод запуска — ShellExecuteA, это может быть любой файл, который можно запустить из Проводника, например пакетный сценарий!
BLENNY_ICON_FILEString"${PROJECT_SOURCE_DIR}/res/defaulticon.ico"Значок для исполняемого файла, в который также встраивается полезная нагрузка. Примечание: подойдут не все значки! В файле значка должен присутствовать раздел PNG. Проверьте данные целевого значка в шестнадцатеричном редакторе, чтобы убедиться, что изображение PNG включено!
BLENNY_TRAILING_PAYLOADBooleanOFFВключить полезную нагрузку в виде завершающих данных в PNG-файле значка.
BLENNY_TEXT_PAYLOADBooleanOFFВключить полезную нагрузку в разделе tEXt в PNG-файле значка.
BLENNY_ZTEXT_PAYLOADBooleanOFFВключить полезную нагрузку в разделе zTXt в PNG-файле значка; это сжатая полезная нагрузка tEXt.
BLENNY_STEGO_PAYLOADBooleanOFFВключить стеганографическую полезную нагрузку в PNG-файле значка. Примечание: из-за того, что размер изображения большинства значков ограничен 256x256, не все полезные нагрузки поместятся в этом варианте!
BLENNY_PAYLOAD_KEYWORDString"blenny"Для полезных нагрузок text/ztext задаёт ключевое слово, помечающее данные полезной нагрузки.
BLENNY_ADMINBooleanOFFВключает ключевое слово runas для запуска полезной нагрузки от имени администратора.
BLENNY_PATHString"%TEMP%"Путь для сохранения полезной нагрузки перед запуском. Переменные среды раскрываются во время выполнения.
BLENNY_FILENAMEString"blenny"Имя файла, присваиваемое полезной нагрузке при извлечении.
BLENNY_RANDOM_FILENAMEBooleanOFFВключить генерацию случайного имени файла для полезной нагрузки при извлечении.
BLENNY_RANDOM_FILENAME_LENGTHInteger8Настраивает длину случайного имени файла.
BLENNY_RANDOM_FILENAME_RANDOM_LENGTHBooleanOFFЗадаёт случайную длину имени файла при извлечении.
BLENNY_PAYLOAD_ARGSString""Аргументы, передаваемые файлу полезной нагрузки при запуске.
BLENNY_FILE_ATTRIBUTESInteger0x80 (aka FILE_ATTRIBUTE_NORMAL)Атрибуты файла, присваиваемые файлу при создании.
BLENNY_CMD_SHOWInteger5 (aka SW_SHOW)Визуальное состояние файла полезной нагрузки при запуске. Другой пример — SW_HIDE, равный 0.