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

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

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

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

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

Категории

Все категории
Loading categories
Blackash-CVE-2017-0144 — CVE-2017-0144 | Kitploit
Инструменты/GitHubGitHub/firetemple/blackash-cve-2017-0144
Анализ уязвимостейЭксплуатацияФорензикаАнализ вредоносных программТестирование на ПроникновениеРазведка угрозОбнаружение ВторженийОбучение и ОбразованиеПодобранные Ресурсы
GitHubfiretemple/blackash-cve-2017-0144

Blackash-CVE-2017-0144

CVE-2017-0144

18411 месяцев назадЕщё не проверено
Репозиторий

Популярное

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

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

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

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

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

🌐 CVE-2017-0144 — EternalBlue: уязвимость удалённого выполнения кода в Microsoft Windows SMBv1

EternalBlue

«Один эксплойт. Десятки семейств вредоносных программ. Ущерб в миллиарды долларов.»


🔍 Суть в одной строке

CVE-2017-0144 — это критическая уязвимость удалённого выполнения кода в реализации сервера SMBv1 в Microsoft Windows. Эксплойт, известный как EternalBlue, использовал эту брешь и применялся в атаках с высоким ущербом (в частности, WannaCry).


🔥 Топ-10 вредоносных программ, использующих EternalBlue (подробно)

#Вредоносная программаТипПервое появлениеОператорУщербПримечания
1WannaCryПрограмма-вымогатель12 мая 2017Lazarus Group (КНДР)4–8 млрд долл.Killswitch: iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
2NotPetyaВайпер (маскировался под программу-вымогатель)27 июня 2017Sandworm (Россия)10+ млрд долл.Использовал Mimikatz + EternalBlue + PSEXEC
3Bad RabbitПрограмма-вымогатель24 октября 2017Indrik SpiderРегиональныйПоддельное обновление Flash (drive-by)
4UiwixПрограмма-вымогательмай 2017НеизвестенНизкийНет killswitch, скрытнее WannaCry
5EternalRocksЧервьмай 2017НеизвестенСредний7 инструментов АНБ (вкл. DoublePulsar)
6AdylkuzzКриптомайнермай 2017НеизвестенВысокий (скрытый)Добывал Monero до WannaCry
7RetefeБанковский троян2017–2018НеизвестенБанки ЕСИспользовал EternalBlue для горизонтального перемещения
8TrickBotМодульное ВПО2017–2021Wizard SpiderГлобальныйДоставлял Ryuk через EternalBlue
9EmotetЗагрузчик2017–2021TA542ГлобальныйИспользовался как точка входа для Cobalt Strike
10Clop / DridexПрограмма-вымогатель2019–2025TA505Здравоохранение, госсекторВсё ещё активны в 2025 году

🧨 Эволюция эксплойта EternalBlue

eternelblue1
ИнструментДата выходаВозможности
EternalBlue (оригинал)апр. 2017 (Shadow Brokers)RCE через SMBv1
DoublePulsarапр. 2017Имплант-бэкдор (ring0)
EternalRomanceапр. 2017Вариант для SMBv3
EternalChampionапр. 2017Альтернативный путь SMB
Модуль Metasploitмай 2017exploit/windows/smb/ms17_010_eternalblue
FuzzBunchапр. 2017Фреймворк эксплойтов АНБ
Impacket + PSEXEC2017–2025Эксплуатация SMB на Python
eternelblue2

🔍 Как был эксплуатирован CVE-2017-0144 (EternalBlue)

Пошаговое техническое погружение в RCE через SMBv1

«Один повреждённый пакет. Полный доступ SYSTEM. Без входа в систему. Без единого клика.»


🎯 Краткая схема эксплуатации (TL;DR)

[Attacker] 
   │
   ├──▶ Sends crafted SMBv1 **Trans2** request
   │       → Triggers **heap overflow** in `srv!SrvOS2FeaListSizeToNt`
   │
   ├──▶ Overwrites function pointers → **kernel shellcode**
   │
   └──▶ Executes **DoublePulsar** backdoor → **Ring-0 payload**
           (e.g., WannaCry `mssecsvc.exe`)

🛠️ Предварительные условия для эксплуатации

ТребованиеДетали
ЦельWindows со включённым SMBv1 (по умолчанию до Windows 10)
Открытый порт445/TCP (или 139/TCP через NetBIOS)
АутентификацияНе требуется — имя пользователя и пароль не нужны
Архитектураx86 или x64 (обе поддерживаются)
Статус обновленияБез обновлений (до MS17-010)

🚀 Фазы эксплуатации (7 шагов)

Фаза 1: согласование протокола SMB

SMB_COM_NEGOTIATE → Client sends dialect list
Server responds: SMBv1 supported → Proceed

Зачем? Подтверждает, что SMBv1 активен.


Фаза 2: Tree Connect к IPC$

eternelblue3
\\TARGET\IPC$ → Anonymous share for SMB pipes

Назначение: устанавливает сеанс для отправки транзакционных запросов.


Фаза 3: настройка сеанса Trans2 (основная)

  • Использует SMB_COM_TRANSACTION2 (0x32)
  • Подкоманда: SESSION_SETUP
  • Формирует структуру FEALIST с повреждённым размером
FEALIST {
    SizeOfListInBytes = 0xFFFF (or large value)
    ...
}

Триггер ошибки: SrvOS2FeaListSizeToNt() доверяет этому размеру без проверки границ.


Фаза 4: вторичный запрос Trans2 (переполнение)

  • Отправляет несколько вторичных пакетов
  • Каждый содержит увеличенный FEALIST + FEA (расширенные атрибуты файлов)
eternelblue4
FEA {
    AttributeNameLength = 0x00
    AttributeName = "A" * 0x1000  → Overflow buffer
}

Heap Spray: выделяет крупные блоки для управления раскладкой памяти.


Фаза 5: переполнение буфера в ядре

srv!SrvOS2FeaListSizeToNt(
    PFEALIST FeaList,      // attacker-controlled
    PULONG pNtFeaListSize  // output pointer
)
{
    // No validation of FeaList->SizeOfListInBytes
    memcpy(dest, src, FeaList->SizeOfListInBytes);  // BOOM
}

Результат:

  • Переполнение кучи → перезапись соседних объектов ядра
  • Цель: SRVNET_BUFFER или POOL_HEADER
  • Перезапись указателей на функции (например, процедуры Free)

Фаза 6: выполнение шелл-кода в ядре

  • Атакующий управляет RIP/EIP через перезаписанный указатель на функцию
  • Переход к шелл-коду в невыгружаемом пуле

Что делает шелл-код:

  1. Переход Ring-0 → Ring-3 (через KeUserModeCallback)
  2. Выделяет память в пользовательском режиме
  3. Загружает/разворачивает полезную нагрузку (например, mssecsvc.exe)
  4. Устанавливает бэкдор DoublePulsar

Фаза 7: внедрение бэкдора DoublePulsar

eternelblue6
  • Внедряет драйвер ядра (XOR-ключ 0x00120034)
  • Прослушивает «магические» SMB-пакеты:
    • Ping: 0x0002C001
    • Exec: 0x0002C002 + полезная нагрузка

Пример WannaCry:

EternalBlue → DoublePulsar → mssecsvc.exe → tasksche.exe → Encrypts files

🧨 Структура пакета эксплойта (упрощённо)

SMB Header
└── Command: 0x32 (TRANSACTION2)
    └── Setup: 0x000E (SESSION_SETUP)
        └── Parameter: TotalDataCount = 0x1000
            └── Data: 
                [FEALIST]
                  SizeOfListInBytes = 0x1100
                  [FEA #1] NameLen=0, Name="A"*0x1000
                  [FEA #2] ...
                [GROOM x100] → Spray heap
                [OVERFLOW] → Overwrite pool
                [SHELLCODE] → x64 ring0

🛠️ Реальные инструменты эксплуатации

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