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

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

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

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

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

Категории

Все категории
Loading categories
EternalBlueC — Набор EternalBlue, переписанный на C/C++, который включает: эксплойт MS17-010, детектор уязвимости EternalBlue, детектор DoublePulsar и загрузчик Shellcode и DLL для DoublePulsar | Kitploit
Инструменты/GitHubGitHub/bhassani/eternalbluec
Фреймворки для эксплойтовАнализ уязвимостейЭксплуатацияШелл-кодАнализ вредоносных программТестирование на ПроникновениеОбучение и ОбразованиеГенерация ШеллкодаРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHub
613138951 месяц назадПроверено Kitploit
bhassani/eternalbluec

EternalBlueC

Набор EternalBlue, переписанный на C/C++, который включает: эксплойт MS17-010, детектор уязвимости EternalBlue, детектор DoublePulsar и загрузчик Shellcode и DLL для DoublePulsar

Репозиторий

Популярное

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

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

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

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

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

License: GPL v3

EternalBlueC

Набор инструментов EternalBlue, переписанный на C/C++, включающий:

  • Эксплойт MS17-010 (содержит DoublePulsar)
  • Детектор уязвимости EternalBlue/MS17-010
  • Детектор DoublePulsar
  • Загрузка DLL через DoublePulsar
  • Загрузка шеллкода через DoublePulsar
  • Загрузка DLL через DoublePulsar с SMB-структурой
  • Загрузка шеллкода через DoublePulsar с SMB-структурой
  • Загрузка EXE внутри DLL через DoublePulsar

Достижения проекта

  • Загрузка шеллкода — выполнено и работает, внедряйте свой шеллкод в любой процесс по желанию
  • Загрузка DLL — выполнено и работает, внедряйте свою DLL в любой процесс по желанию
  • Загрузка DLL со встроенным exe — выполнено, внедряйте свою DLL в любой процесс по желанию, исполняемый файл сохраняется как "mssecsvc.exe"

Цели проекта

  • Обеспечить динамическую генерацию пакетов DoublePulsar для согласования, установки сессии, подключения к дереву, TransNamedPipe и Transaction2 с использованием SMB-структур и hex-захватов
  • Разрешить редактирование полезной нагрузки эксплойта EternalBlue для удаления импланта DoublePulsar и отправки вместо него пользовательских шеллкодов
  • Обеспечить динамическую генерацию пакетов EternalBlue
  • Запрашивать ввод пользователя для всех IP-адресов, полезных нагрузок (шеллкод или пути к файлам) и подтверждение для продолжения
  • Сделать вывод более подробным
  • Добавить отображение версии Windows из SMB-ответа на экране
  • Добавить поддержку параметров командной строки (DoublepulsarExecute.exe -h 192.168.0.8 -f PopCalculatorShellcode.bin)
  • Добавить больше проверок ошибок, например, тайм-аут сокета

Набор EternalBlue и DoublePulsar

  • ms17_vuln_status.cpp — Эта программа отправляет 4 SMB-пакета: 1 согласование, 1 установка сессии, 1 подключение к дереву и 1 запрос TransNamedPipe. Затем программа читает NT_STATUS из ответа TransNamedPipeRequest (запрос PeekNamedPipe) и определяет, равен ли NT_STATUS в SMB-пакете 0xC0000205 (STATUS_INSUFF_SERVER_RESOURCES). Если это так, цель уязвима для MS17-010. Протестировано на непропатченной Windows 7 x64.

ms17vulnstatus

  • doublepulsar_check.cpp — Эта программа отправляет 4 SMB-пакета: 1 согласование, 1 установка сессии, 1 подключение к дереву и пакет Trans2 SESSION_SETUP. Отправляя пакет Trans2 SESSION_SETUP, можно сравнить отправленный мультиплексный ID с мультиплексным ID в ответном пакете Trans2: 0x51 или 81. DoublePulsar считывает отправленный мультиплексный ID, и после успешной команды ping возвращает +10 в шестнадцатеричном виде для мультиплексного ID в ответе Trans2 SESSION_SETUP. После этого отправляются команды для сжигания бэкдора DoublePulsar. Команда сжигания DoublePulsar находится в параметрах тайм-аута SMB-пакета. После этого DoublePulsar переходит в спящий режим и не удаляется из системы. Протестировано на Windows 7 x64.

doublepulsar_check

  • DoublePulsarXORKeyCalculator.cpp — Эта программа отправляет 4 SMB-пакета: 1 пакет согласования и 3 запроса. Последний запрос — это запрос Trans2 SESSION_SETUP. Получается ответ Trans2 SESSION_SETUP, и извлекается SMB-подпись в диапазоне Recvbuff[18] -> Recvbuff[22]. Recvbuff[22] указывает на тип архитектуры: если 1 — цель x64, если 0 — x86/32 бита. SMB-подпись преобразуется из беззнаковых символов в беззнаковое целое число.

SMBSignatureWireshark

Затем эти значения (Recvbuff[18] -> Recvbuff[22]) передаются через функцию калькулятора XOR-ключа DoublePulsar, которая генерирует беззнаковый целочисленный XOR-ключ, используемый для шифрования шеллкода или DLL-нагрузки, которая будет загружена в DoublePulsar. Протестировано на Windows 7 x64.

Пример скриншота:

XORCalculator

Тот же ключ из оригинального бинарника АНБ в FUZZBUNCH XORCalculatorFromNSAbinary

  • DoublePulsar_structure_ping.cpp — Эта программа отправляет 4 SMB-пакета: 1 согласование, 1 установка сессии, 1 подключение к дереву и пакет Trans2 SESSION_SETUP. Отличие от doublepulsar_check.cpp в том, что здесь пакет Ping DoublePulsar Trans2 генерируется с использованием структуры, а не жёстко заданной SMB-шестнадцатеричной строки, взятой из образца WannaCry. Ещё одно отличие: эта программа динамически генерирует пакет TreeConnect, а не использует жёстко заданный из образца WannaCry. Сгенерированный пакет ping сообщит, установлен ли DoublePulsar на удалённой машине.

  • DoublePulsar_structure_exec.cpp — Эта программа отправляет 5 SMB-пакетов: 1 согласование SMB, 1 установка сессии, 1 подключение к дереву, 1 пакет Ping DoublePulsar Trans2 SESSION_SETUP и 1 пакет выполнения DoublePulsar Trans2 SESSION_SETUP. Отличие от Doublepulsar_UploadShellcode.cpp в том, что здесь пакет выполнения DoublePulsar Trans2 генерируется с использованием структуры, а не жёстко заданной SMB-шестнадцатеричной строки из образца WannaCry.

  • Doublepulsar_UploadDLL.cpp — Эта программа предназначена для DLL. Она отправляет 4 SMB-пакета вместе с данными DLL в пакетах SMB Trans2: 1 согласование, 1 установка сессии, 1 подключение к дереву, 1 запрос Ping Trans2 SESSION_SETUP и пакет выполнения Trans2 SESSION_SETUP. Пакет запроса Ping Trans2 SESSION_SETUP отправляется для получения SMB-подписи в ответном пакете Trans2 SESSION_SETUP. Эта подпись обрабатывается через калькулятор XOR-ключа DoublePulsar. Затем программа читает DLL-файл и объединяет его с 64-битным шеллкодом ядра и пользовательского пространства для запуска DLL, а затем выполняет XOR буфера с вычисленным XOR-ключом DoublePulsar. Пакет генерируется путём выделения памяти, копирования пакета Trans2, редактирования значений, необходимых для работы SMB-транзакции (UserID, TreeID, TotalDataCount, DataCount, ByteCount), затем копирования XOR-данных (шеллкод ядра + DLL) в конец и циклической отправки частями по 4096 байт за раз в DoublePulsar. Общая длина пакета = 4178; 4096 байт — это XOR-зашифрованные данные. В будущих версиях будет реализовано использование структур SMB и TRANSACTION2.

  • Doublepulsar_UploadShellcode.cpp — Эта программа отправляет 5 SMB-пакетов: 1 согласование, 1 установка сессии, 1 подключение к дереву, 1 пакет Ping Trans2 SESSION_SETUP и 1 пакет выполнения Trans2 SESSION_SETUP. Пакет запроса Trans2 SESSION_SETUP отправляется для получения SMB-подписи в ответном пакете TRANS2 SESSION_SETUP. Эта подпись обрабатывается через калькулятор XOR-ключа DoublePulsar. Затем программа копирует шеллкод ядра и пример шеллкода из буфера, выполняет XOR буфера с вычисленным XOR-ключом DoublePulsar. Пакет генерируется путём выделения памяти, копирования пакета выполнения Trans2, редактирования значений, необходимых для работы SMB-транзакции (UserID, TreeID, TotalDataCount, DataCount, ByteCount), затем копирования параметров SESSION_SETUP и 4096 байт XOR-шеллкода в конец и отправки в DoublePulsar общей длиной 4178 байт. Длина NetBIOS будет 4174, поскольку заголовок NetBIOS не учитывает себя. 12 байт этого пакета — параметры SESSION_SETUP DoublePulsar; 4096 байт — XOR-зашифрованные данные. В будущем релизе будут использоваться структуры SMB и TRANSACTION2.

UploadShellcode

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