Криминалистический стол с разобранной серверной сетевой картой и ноутбуком, отображающим вывод атаки PetitPotam. Резкий верхний свет, десатурированная палитра с красным светодиодом ошибки.


Depth Security в отчётах за 2026 год продолжают находить хосты, уязвимые к CVE-2025-33073 (CVSS 8.8), - включая контроллеры домена и Tier-0 серверы. Дословно: «Whether its enterprise domain controllers, tier-zero servers, or random workstations, we are consistently finding hosts still affected by this issue on nearly every engagement». И вот что забавно: даже включённый SMB signing не спасает - NTLM Reflection позволяет cross-protocol relay на LDAP и AD CS мимо всех подписей.

NTLM coercion атаки в Active Directory не просто живы. Они мутируют быстрее, чем корпоративные команды успевают закрывать бреши. Здесь - полная картина: механика, выбор вектора, практическая эксплуатация и реальные слепые зоны SOC, которые мы видим на проектах раз за разом.

Место coercion в kill chain атаки на Active Directory

Принудительная аутентификация NTLM - не самостоятельная атака, а усилитель. Между «есть доменная учётка» и «есть Domain Admin» coercion - то самое недостающее звено. В терминах MITRE ATT&CK цепочка выглядит так:
  1. Initial Access - фишинг, эксплуатация внешнего сервиса, купленные или выданные credentials
  2. Credential Access - coercion заставляет целевую машину аутентифицироваться на подконтрольном сервере. Adversary-in-the-Middle (T1557)
  3. Privilege Escalation - relay захваченной аутентификации на AD CS, LDAP или SMB. Получение сертификата или привилегированного доступа
  4. Lateral Movement - Pass the Hash (T1550.002), Remote Services (T1021)
  5. Credential Dumping - DCSync через secretsdump.py (T1003, OS Credential Dumping)
И вот что стоит запомнить: для coercion достаточно любой доменной учётной записи. Не административной. Не сервисной. Обычный corp\testuser вправе вызывать RPC-функции на любом доменном хосте - это by design. Microsoft отказалась признать это уязвимостью. По документам - всё штатно. На практике - вектор до DA за 15 минут.

Контекст применения - исключительно внутренний пентест или red team-кампания с уже полученным плацдармом в сети. На внешнем периметре coercion через RPC нерелевантен: нужен прямой сетевой доступ к RPC-портам целевого хоста.

Как работает принудительная аутентификация NTLM​

RPC-функции под капотом coercion-атак​

RPC (Remote Procedure Call) - фундаментальный механизм межпроцессного взаимодействия в Windows. Куча протоколов используют RPC как транспорт: MS-EFSRPC (шифрование файлов), MS-RPRN (печать), MS-DFSNM (распределённая файловая система), MS-EVEN (журнал событий).

Проблема в том, что ряд RPC-функций принимают UNC-путь (формат \\IP\Share\path) в качестве параметра. Когда сервер обрабатывает такой вызов, он инициирует обратное подключение к указанному адресу - с автоматической аутентификацией от учётной записи компьютера. Атакующий подставляет свой IP вместо легитимного ресурса и получает аутентификацию на блюдечке.

По данным Unit 42 (Palo Alto Networks), задокументировано 16 работающих функций в пяти протоколах, пригодных для authentication coercion. При этом исследователи прямо говорят: более 240 функций ещё не протестированы и потенциально эксплуатируются тем же способом. Двести сорок. Непротестированных. Это не теоретическая проблема - это арсенал, который раскрывается по мере блокировки стандартных векторов.

Три режима принудительной аутентификации NTLM​

Поведение при coercion зависит от формата адреса, который подставляет атакующий. Для выбора стратегии relay это критически важно:

Формат адресаПротоколТип аутентификацииВозможности relay
IP-адрес (\\10.0.0.5\share)SMBNTLMSMB, HTTP, LDAP, MSSQL (с ограничениями по signing)
FQDN (\\dc01.corp.local\share)SMBKerberosЗахват TGT при unconstrained delegation (T1558)
Короткое имя (\\attacker\share)HTTP (WebDAV)NTLMLDAP, HTTP, AD CS - самый гибкий вариант

Третий режим - через WebDAV - на внутреннем пентесте особенно интересен. HTTP-аутентификация не защищена SMB signing и спокойно перенаправляется на LDAP или веб-интерфейс AD CS. Условие: на целевой машине должна работать служба WebClient. На рабочих станциях она часто включена; на серверах - по умолчанию нет. Проверяется наличием пайпа DAVRpcServicePipe: ls \\target\pipe\DAVRpcServicePipe.

Техники coercion и их статус в 2026​

PetitPotam - MS-EFSRPC​

CVE-2021-36942 - Windows LSA Spoofing Vulnerability, CVSS 7.5 (HIGH), вектор AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Включена в CISA KEV с пометкой ransomware-связанная. Описание CISA: «уязвимость позволяет неаутентифицированному атакующему вызвать метод на интерфейсе LSARPC и принудить контроллер домена аутентифицироваться на другом сервере через NTLM».

Автор - исследователь Gilles Lionel (topotam), PoC опубликован в июле 2021 года. Эксплуатирует функции MS-EFSRPC (EfsRpcOpenFileRaw и аналоги) через named pipe \pipe\efsrpc или \pipe\lsarpc поверх SMB (445/TCP).

Статус в 2026: Microsoft патчем KB5005033 заблокировала часть методов через интерфейс LSARPC без аутентификации. Но аутентифицированный coercion через интерфейс EFSRPC (named pipe \pipe\efsrpc) по-прежнему работает с любой доменной учёткой. На практике: есть low-priv credentials - PetitPotam остаётся рабочим вектором в большинстве сред.

Инструмент: petitpotam.py (активно поддерживается сообществом).

PrinterBug / SpoolSample - MS-RPRN​

Эксплуатирует функцию RpcRemoteFindFirstPrinterChangeNotificationEx службы Print Spooler. Описана Lee Christensen (SpecterOps) в 2018 году; Microsoft не присвоила CVE, считая поведение by design. Не путать с PrintNightmare (CVE-2021-34527, CVSS 8.8, HIGH, CISA KEV) - это отдельная RCE-уязвимость через RpcAddPrinterDriverEx того же сервиса.

Статус в 2026: Print Spooler всё чаще отключён на серверах по рекомендациям Microsoft. На рабочих станциях - обычно включён. Проверяется через ls \\target\pipe\spoolss.

Ограничение: отключение Spooler блокирует только этот вектор. Все остальные coercion-техники продолжают работать - это как заколотить одно окно в доме с двадцатью.

DFSCoerce - MS-DFSNM​

Опубликована исследователем Filip Dragović (Wh04m1001) как ответ на блокировку PetitPotam и отключение Print Spooler. Использует протокол распределённой файловой системы.

По данным CERT/CC: «Передавая запрос NTLM-аутентификации с контроллера домена на веб-службу Certificate Authority Web Enrollment, злоумышленник может получить сертификат, который используется для получения TGT».

Статус в 2026: работает при включённой службе DFS. На контроллерах домена DFS включена часто - что логично, но неприятно для защитников.

Редкие RPC-интерфейсы: тренд, которого нет в русскоязычных источниках​

По данным Unit 42, в марте 2025 года зафиксирована реальная атака на организацию в сфере здравоохранения: злоумышленники использовали интерфейс MS-EVEN (remote event logging) для authentication coercion. Этот интерфейс не мониторится стандартными средствами - за 30 дней до инцидента ни одна машина в сети организации не использовала данный протокол. Cortex XDR (Palo Alto Networks) сгенерировал алерт «Possible authentication coercion» именно на этом нетипичном RPC-вызове.

Unit 42 формулирует тренд прямо: «Attackers are now leaning towards exploiting rare, unseen RPC functions to avoid detection by traditional defense mechanisms». Защитники пишут правила под PetitPotam и PrinterBug - атакующие переключаются на менее известные opnum. Классика кошки-мышки.

Инструмент: Coercer (активно поддерживается) автоматизирует перебор всех известных coercion-функций во всех протоколах.

Когда что применять: decision tree для пентестера​

Условие средыРекомендуемая техникаИнструмент
Print Spooler включёнPrinterBugSpoolSample.exe, printerbug.py
Spooler выключен, DFS доступнаDFSCoercedfscoerce.py
Spooler и DFS недоступныPetitPotam (auth)petitpotam.py
Стандартные вектора заблокированы RPC-фильтрамиРедкие RPC (MS-EVEN и др.)Coercer
WebClient запущен на целиЛюбая техника + HTTP listenerntlmrelayx.py на HTTP
Нужен Kerberos TGT (unconstrained delegation)Указать FQDN вместо IPkrbrelayx.py

Алгоритм на реальном проекте (grey box, есть low-priv creds):
  1. Проверить Spooler: ls \\target\pipe\spoolss - если доступен, начать с PrinterBug
  2. Нет Spooler - проверить DFS: rpcdump.py @target | grep DFSNM
  3. Нет DFS - PetitPotam с аутентификацией
  4. PetitPotam заблокирован - запустить Coercer для перебора всех интерфейсов
  5. Параллельно проверить WebClient: ls \\target\pipe\DAVRpcServicePipe
  6. Найти AD CS с web enrollment: nxc ldap dc01.corp.local -u user -p pass -M adcs
  7. Сформировать relay-list хостов без SMB signing: nxc smb 10.0.0.0/24 -u user -p pass --gen-relay-list targets.txt
На большинстве проектов хватает первых трёх шагов. Если дошёл до Coercer - значит, у заказчика неплохой hardening. Но «неплохой» и «достаточный» - разные вещи.

CVE-2025-33073: NTLM Reflection меняет правила​

CVE-2025-33073 - Improper Access Control в Windows SMB, CVSS 8.8 (HIGH), вектор AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, CWE-284 (Improper Access Control). Описание CISA: «злоумышленник может выполнить специально сформированный скрипт, чтобы принудить машину жертвы подключиться к атакующей системе по SMB и аутентифицироваться».

Суть: при NTLM-аутентификации на локальной машине сервер сообщает клиенту через флаг «Negotiate Local Call», что полноценный challenge-response не нужен. Клиент (lsass.exe, работающий как SYSTEM) копирует свой токен в серверный контекст. Атакующий регистрирует DNS-запись специфического формата в AD DNS - это доступно всем Authenticated Users по умолчанию - и через coercion заставляет LsapCheckMarshalledTargetInfo считать подключение локальным. Результат: SYSTEM-токен на целевой машине.

Cross-protocol relay: обход SMB signing​

Классическая мантра «включите SMB signing - и relay не работает» здесь не срабатывает.

Это отдельный примитив от классического cross-protocol relay (например, SMB→AD CS web enrollment / ESC8), который работает и без этого CVE. Оба вектора могут комбинироваться в одной цепочке атаки.

При reflection-атаке флаг «Negotiate Local Call» позволяет обойти стандартный challenge-response, что отличает её от классического relay. На Exploit-DB опубликован PoC: EDB-52330 (автор Mohammed Idrees Banyamer, remote/windows, «Windows 11 SMB Client - Privilege Escalation & Remote Code Execution»).

Предпосылки:
  1. Возможность добавить DNS-запись в AD DNS (по умолчанию - все Authenticated Users) или LLMNR/NBNS poisoning в broadcast-домене
  2. Возможность выполнить coercion (любая из техник выше)
  3. Отсутствие патча CVE-2025-33073 на целевом хосте
Применимость: внутренний пентест, grey box. Modern-инфраструктура с включённым SMB signing - всё равно уязвима при отсутствии патча. Именно поэтому эта CVE так опасна: она ломает модель, на которую все привыкли полагаться.

CVE-2025-24054: утечка хешей NTLM через файловую систему​

CVE-2025-24054 - External Control of File Name or Path, CVSS 6.5 (MEDIUM), вектор AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N, CWE-73. Добавлена в CISA KEV 17 апреля 2025 года.

В отличие от RPC coercion, эта уязвимость эксплуатируется через специально сформированные файлы .library-ms. При минимальном взаимодействии пользователя - предпросмотр файла в проводнике, переход по ссылке - Windows автоматически инициирует NTLM-аутентификацию к серверу, указанному в файле. Пользователь даже не открывал файл, а хеш уже улетел.

CVE-2025-24054 продолжает тренд, заданный предшествующей CVE-2024-43451 (NTLM Hash Disclosure Spoofing, CVSS 6.5), которая тоже эксплуатировалась в реальных атаках. На Exploit-DB опубликовано три PoC: EDB-52280 (hyp3rlinx, local), EDB-52480 (дата публикации в Exploit-DB: 2026-02-11) и EDB-52478 (дата публикации в Exploit-DB: 2026-02-04) (beatrizfn, remote) - даты указаны по источнику как есть.

Отличие от RPC coercion: не требует сетевого доступа к портам цели. Работает через фишинговый вектор - применимо как для внутреннего, так и для внешнего пентеста. Это единственная техника в обзоре, которая бьёт через периметр.

Практика: coercion → relay → захват домена​

Требования к окружению​

  • ОС атакующего: Kali Linux 2025.x+ (или любой Linux с Python 3.10+)
  • Инструменты: Impacket (ntlmrelayx.py, secretsdump.py, rpcdump.py), petitpotam.py, Coercer, NetExec (nxc)
  • Сетевые условия: доступ к целевой подсети (порты 135, 445, 389, 80/443 для AD CS)
  • Credentials: любая доменная учётка (low-priv)
  • Сценарий: grey box - заказчик выдал corp\testuser:Password123

Шаг за шагом: от разведки до DA​

Шаг 1. Разведка. Определить AD CS с web enrollment и сформировать список целей без SMB signing:
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше
Получить доступ просто — достаточно зарегистрироваться и проявить активность на форуме

Что засветится в SIEM и где слепые зоны детекта​

Coercion-атаки оставляют следы, но не там, где SOC привык смотреть.

Что детектируется стандартными средствами:
  • Event ID 4624 (Logon Type 3) от машинной учётки DC на нехарактерный хост - аномалия, но в крупных доменах Logon Type 3 генерирует такой объём событий, что без baseline фильтрация превращается в пытку
  • Sigma-правила для T1550.002: win_susp_ntlm_auth.yml (подозрительная NTLM-аутентификация), win_security_potential_pass_the_hash.yml. Для T1557: zeek_dns_kerberos_coercion_via_dns_object_spn_spoofing.yml (детекция coercion через DNS-манипуляции)
  • NTLMv1 downgrade: правило win_system_lsasrv_ntlmv1.yml ловит использование устаревшего NTLMv1, которое часто сопровождает relay
  • Cortex XDR (Palo Alto Networks) - встроенный алерт «Possible authentication coercion», сработавший в кейсе Unit 42 с MS-EVEN
Что НЕ детектируется:
  • Редкие RPC-вызовы (MS-EVEN и аналоги) - правила заточены под MS-EFSRPC и MS-RPRN. Unit 42 подтверждает: стандартные средства пропускают вызовы через нетипичные opnum
  • Регистрация DNS-записей для NTLM Reflection - легитимное действие для Authenticated Users. Мониторинг всех DNS-обновлений в AD DNS настроен у единиц
  • Certificate enrollment на AD CS - по данным Cayosoft, «standard security tools miss the authentication and certificate enrollment patterns that indicate an active PetitPotam identity attack». Запрос сертификата от машинной учётки через web enrollment выглядит штатно
  • Cross-protocol relay - SOC мониторит SMB-аутентификацию, а relay уходит на HTTP/LDAP. Разные протоколы, разные логи, разные команды - и между ними пробел, в который влезает вся атака
Рекомендация для blue team: аудит NTLM-трафика через GPO (Network Security → Restrict NTLM → Audit All), мониторинг всех RPC-подключений к DC (не только известных UUID), алерт на DNS-записи со специфическим padding в имени (характерный маркер NTLM Reflection).

Защитные меры: что работает, а что - театр безопасности​

МераЭффективностьКомментарий
SMB signing на всех хостахЧастичноБлокирует классический SMB relay. Не защищает от NTLM Reflection (CVE-2025-33073) и cross-protocol relay через HTTP
Extended Protection for Authentication (EPA)ВысокаяПривязка аутентификации к каналу. Критично для LDAP и AD CS
Отключение NTLM (Kerberos-only)МаксимальнаяУбирает проблему в корне. Microsoft ограничила поддержку NTLMv1 в Windows 11 24H2 и Server 2025 (NTLMv1 отключён по умолчанию, NTLM в целом задепрекейтен). NTLMv2 пока поддерживается, но курс на постепенный отказ от NTLM объявлен
NETSH RPC filterВысокая для coercionБлокирует вызов опасных RPC-функций по UUID на уровне ОС
Отключение Print SpoolerНизкая (изолированно)Закрывает только PrinterBug. Десятки других векторов остаются
Блокировка портов 445/139/135НизкаяОбходится через DCERPC на динамических портах
Патчи CVE-2025-33073, CVE-2025-24054ОбязательноНе заменяет архитектурные меры, но закрывает конкретные reflection-примитивы
Отключение HTTP на AD CSВысокая для ESC8Устраняет самый опасный relay-target, но не все

NETSH RPC filter заслуживает отдельного разговора. Все coercion-техники объединяет общий набор UUID RPC-интерфейсов. Фильтр блокирует вызов функций по UUID на уровне RPC runtime Windows - без нарушения работы легитимных сервисов, если список UUID корректен. Подробный разбор с конкретными UUID и тестированием опубликован в статье USSC на Хабре. Ключевое требование: список UUID необходимо поддерживать в актуальном состоянии, добавляя новые интерфейсы по мере их обнаружения. Забросил обновление - получил новый вектор через полгода.

По данным Verizon 2025 DBIR (ссылка от SentinelOne), 31% всех утечек за последнее десятилетие связаны с кражей учётных данных. NTLM coercion - один из самых эффективных методов такой кражи в корпоративных Windows-средах. И пока NTLM жив - а он будет жив в гибридных инфраструктурах ещё годы - coercion остаётся стандартным шагом на каждом внутреннем пентесте.

Формула на бумаге понятна - coercion + relay = DA. Но по-настоящему механика ощущается только когда сам прогоняешь цепочку на стенде. Готовый сценарий с coercion и relay можно отработать на HackerLab.pro - там есть лабы по AD-атакам в нескольких категориях (web, crypto, pwn, forensics и другие), нужна регистрация, после неё доступны задачи всех уровней.

По опыту, NTLM relay стабильно встречается в отчётах по внутренним пентестам AD-инфраструктур. И почти каждый раз заказчик удивляется: «мы же включили SMB signing». Включили - на серверах. А на рабочих станциях нет. Или включили signing, но не настроили EPA на AD CS. Или закрыли всё, но не накатили патч CVE-2025-33073 - и Reflection проходит мимо всех подписей.

Проблема не в отсутствии защитных механизмов. Microsoft дала всё необходимое. Проблема в том, что coercion требует от защитников одновременного закрытия десятков RPC-интерфейсов, нескольких протоколов и всех уровней аутентификации. Пропустил один - модель рассыпается. Атакующему достаточно одного работающего вектора из десятков.

240+ непротестированных RPC-функций, о которых говорит Unit 42, - это арсенал, который будет раскрываться по мере блокировки стандартных векторов. Для пентестера это значит одно: инструменты-перебиратели вроде Coercer станут нормой, а ручной запуск одного PetitPotam уйдёт в прошлое. Кто до сих пор ограничивается только им - оставляет деньги на столе.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab