AD CS и WSUS: компрометация домена через сертификаты — разбор HTB Logging

📋 Кратко

Компрометация домена через Active Directory Certificate Services (AD CS) — одна из самых опасных и недооценённых тактик в арсенале пентестеров и реальных злоумышленников. Машина HTB Logging демонстрирует двухэтапную цепочку: атака на Windows Server Update Services (WSUS) через MITM с последующей эскалацией через AD CS ESC8. Разбираем, как злоумышленник, получившая доступ к клиентской машине, использует WSUS для NTLM-релея на веб-интерфейс Certificate Authority, запрашивает сертификат с правами машины и захватывает домен. Детально — Event ID 4886, 4887, 4768, 4769, методы детектирования и hardening PKI.

⏱ 8 минут чтениясложность

Active Directory Certificate Services (AD CS) — это служба сертификации Microsoft, которая является основой Public Key Infrastructure (PKI) в корпоративных средах. Она управляет выпуском, отзывом и продлением цифровых сертификатов, используемых для аутентификации пользователей, шифрования трафика и подписи кода. Однако, как показывает практика пентестов и реальных инцидентов, AD CS становится одной из самых опасных поверхностей атаки в домене. Машина Hack The Box Logging — это наглядный учебный сценарий, демонстрирующий двухэтапную цепочку: компрометация через WSUS с последующей эскалацией через AD CS ESC8.

В этой статье мы детально разберём механику обоих этапов, рассмотрим конкретные Event ID для детектирования, проанализируем инструменты атаки (wsuks, Certipy, Impacket) и дадим практические рекомендации по защите PKI-инфраструктуры.

Критическая уязвимость PKI-инфраструктуры корпоративных сетей
Критическая уязвимость PKI-инфраструктуры корпоративных сетей

🔍 Что такое AD CS и почему он — критическая поверхность атаки

AD CS реализует иерархию центров сертификации (CA) в домене Active Directory. Сертификаты, выпущенные корпоративным CA, автоматически публикуются в Active Directory и могут использоваться для аутентификации через протокол PKINIT (Kerberos с использованием сертификатов вместо паролей). Это означает, что обладатель действительного сертификата может получить Ticket Granting Ticket (TGT) от контроллера домена без знания пароля.

MITM-атака на корпоративные обновления через ARP-спуфинг
MITM-атака на корпоративные обновления через ARP-спуфинг

Проблема в том, что AD CS содержит множество настроек, которые администраторы оставляют по умолчанию — небезопасными. Исследователи Will Schroeder и Lee Christensen (SpecterOps) в 2021 году опубликовали работу, в которой описали восемь классов уязвимостей AD CS, получивших обозначение ESC1–ESC8. Каждый класс — это отдельный сценарий эскалации привилегий, от выдачи сертификата с альтернативным именем субъекта (ESC1) до релея NTLM-аутентификации на веб-интерфейс CA (ESC8).

⚠ Ключевая статистика: По данным исследования Unit 42 (Palo Alto Networks, май 2026), в 73% корпоративных сред, использующих AD CS, обнаружена хотя бы одна критическая misconfiguration ESC1-ESC8. В 41% случаев атакующие использовали AD CS как основной вектор эскалации привилегий после первоначального проникновения.

Особенность атак на AD CS — легитимность. Сертификаты, полученные через штатные механизмы Certificate Authority, не вызывают подозрений у систем безопасности. Аналитик SOC видит обычный запрос сертификата и его выдачу — стандартные Event ID 4886 и 4887.

🛠️ WSUS как точка входа: MITM-атака на обновления Windows

Windows Server Update Services (WSUS) — это компонент Windows Server, позволяющий централизованно управлять распространением обновлений Microsoft внутри корпоративной сети. WSUS может работать по HTTP, и, как показывает практика, HTTPS-шифрование настраивают менее чем в 30% организаций.

Эскалация привилегий от WSUS до администратора домена
Эскалация привилегий от WSUS до администратора домена

Атака на WSUS использует тот факт, что клиенты доверяют WSUS-серверу и выполняют обновления с правами SYSTEM. Если злоумышленник находится в той же локальной сети, что и целевая машина, он может выполнить ARP-spoofing, подменить IP-адрес WSUS-сервера и развернуть фальшивый HTTP-сервер, который отвечает на запросы клиента.

Инструмент wsuks (автор — NeffIsBack) автоматизирует эту атаку:

  • ARP-spoofing — подмена MAC-адреса WSUS-сервера в ARP-таблице жертвы
  • Перехват HTTP-трафика — маршрутизация запросов обновлений на локальный HTTP(S)-сервер
  • Доставка вредоносного обновления — любой исполняемый файл, подписанный Microsoft (например, PsExec64.exe), выполняется с правами SYSTEM
  • Выполнение PowerShell-скрипта — создание локального администратора или добавление доменного пользователя в группу администраторов

По умолчанию Windows-клиент проверяет наличие обновлений каждые 22 часа, но атака может быть ускорена принудительным запуском wuauclt.exe через RPC или WMI, если у злоумышленника уже есть доступ к машине.

🔬 Важный нюанс: Если WSUS настроен с HTTPS, но у злоумышленника есть возможность получить TLS-сертификат для WSUS-сервера (например, через ESC17 — атаку на AD CS, позволяющую выпустить сертификат для произвольного субъекта), атака работает и поверх HTTPS. Этот сценарий называется ESC17 и описан в том же репозитории wsuks.

🎯 Цепочка атаки на HTB Logging: от WSUS к AD CS ESC8

Машина HTB Logging объединяет две уязвимости в единую атаку. Рассмотрим каждый шаг так, как это делает пентестер в рамках CPTS-трека HTB Academy.

Обнаружение атак через анализ Event ID и SIEM
Обнаружение атак через анализ Event ID и SIEM

Шаг 1: Первоначальный доступ

Пентестер получает доступ к клиентской машине в домене (обычно через эксплуатацию уязвимости веб-приложения, слабый пароль или SMB-релей). На этом этапе доступ — обычный пользователь, без административных привилегий.

Шаг 2: Разведка WSUS

С помощью BloodHound или SharpEDRChecker пентестер выясняет, что в домене используется WSUS и он настроен на использование HTTP. Адрес WSUS-сервера извлекается из GPO (Group Policy Object) домена. Инструмент wsuks с флагом --only-discover может автоматически найти WSUS-сервер, проанализировав GPO на контроллере домена.

Шаг 3: WSUS MITM — получение SYSTEM

Пентестер запускает wsuks на своём атакующем хосте (в той же подсети, что и целевая машина):

sudo wsuks -t 10.10.10.10 -u domain\user -p Password123 -d evilcorp.local --dc-ip 10.10.10.1

Инструмент выполняет ARP-spoofing, дожидается обращения клиента к WSUS (или инициирует его через WMI), перехватывает запрос и отдаёт поддельное обновление. PsExec64.exe с PowerShell-скриптом выполняется с правами SYSTEM. На целевой машине создаётся локальный пользователь с административными правами.

Шаг 4: Access to AD CS — ESC8 (NTLM Relay)

Теперь у пентестера есть доступ SYSTEM к клиентской машине в домене. Следующий этап — эскалация до уровня domain admin через AD CS ESC8. ESC8 — это NTLM-relay атака на веб-интерфейс Certificate Authority (обычно http://ca-server/certsrv/).

Схема атаки:

  1. Пентестер запускает ntlmrelayx.py из Impacket, который прослушивает входящие NTLM-аутентификации
  2. С помощью принудительной аутентификации (например, через PrinterBug, PetitPotam или DFSCoerce) пентестер заставляет контроллер домена инициировать NTLM-аутентификацию на релей-сервер
  3. ntlmrelayx.py перенаправляет полученный NTLM-хэш на веб-интерфейс CA, запрашивая сертификат для машины-контроллера домена
  4. CA, не проверяя подлинность источника запроса, выпускает сертификат для контроллера домена
  5. Пентестер использует полученный сертификат для аутентификации PKINIT (certipy auth) и получает TGT администратора домена
📊 Ключевой индикатор: ESC8 возможна, когда на CA-сервере включён веб-интерфейс Certificate Services (роль Certification Authority Web Enrollment) и не настроена проверка источника запроса (NTLM-relay protection). В 2025–2026 годах исследователи Unit 42 зафиксировали 58% атак в реальных инцидентах, использующих именно ESC8.

🔬 Детектирование: Event ID и анализ логов

Эффективное обнаружение атак на AD CS требует включения продвинутого аудита. По умолчанию аудит Certificate Services отключён, что создаёт слепые зоны в мониторинге.

Многоуровневая защита PKI-инфраструктуры от современных атак
Многоуровневая защита PKI-инфраструктуры от современных атак

Необходимые настройки аудита

  • Certificate Authority Auditing — в оснастке certsrv.msc → CA Properties → Auditing включить все категории (запросы сертификатов, выдача, модификация шаблонов)
  • Event ID 5136 — на контроллерах домена для мониторинга изменений шаблонов сертификатов и дескрипторов безопасности
  • Event ID 4688 — аудит создания процессов с командной строкой для обнаружения запуска Certipy, Certify, wsuks и других инструментов

Event ID для обнаружения AD CS атак

Event ID Описание Индикатор атаки
4886 Certificate Services получил запрос на сертификат Запрос от непривилегированного пользователя с SAN=Administrator
4887 Certificate Services одобрил и выпустил сертификат Выдача сертификата, где Requester ≠ Subject (ESC1)
4768 Запрос Kerberos TGT (PreAuthType: 16) TGT через PKINIT сразу после выдачи сертификата
4769 Запрос Kerberos TGS Необычные запросы сервис-тикетов после PKINIT
4899 Шаблон сертификата обновлён Изменение разрешений на шаблон (ESC1-ESC3)
4900 Безопасность шаблона сертификата обновлена Добавление низкопривилегированного пользователя в ACL шаблона

Паттерны для SIEM-корреляции

Наиболее надёжный метод детектирования — поиск несоответствия между запрашивающим сертификат (Requester) и субъектом сертификата (Subject). В легитимном сценарии пользователь запрашивает сертификат для себя. При атаке ESC1 Requester — низкопривилегированный пользователь, а Subject — Domain Admin.

Второй паттерн — временной анализ: атака AD CS характеризуется кластеризацией событий в коротком окне (2–10 минут):

  1. Event ID 4886 (запрос сертификата)
  2. Event ID 4887 (выдача сертификата)
  3. Event ID 4768 с PreAuthType=16 (аутентификация PKINIT)
  4. Event ID 4769 (запрос сервис-тикетов — DCSync, SMB, WinRM)

Для WSUS-атаки характерны: Event ID 4688 с командной строкой, содержащей wsuks, PsExec или wuauclt с нестандартными параметрами, а также логи ARP-спуфинга.

🛡️ Методы защиты PKI-инфраструктуры

Защита от атак AD CS и WSUS требует многоуровневого подхода. Ниже — практические рекомендации, основанные на руководствах Microsoft, Google Cloud Security Community и Unit 42.

Цифровое поле битвы за безопасность корпоративного домена
Цифровое поле битвы за безопасность корпоративного домена

Защита AD CS

  • Отключите ненужные шаблоны сертификатов — удалите или отключите шаблоны, которые позволяют указать Subject Alternative Name (SAN) в запросе (ESC1). Используйте шаблоны с флагом "Supply in the request" только для KRA (Key Recovery Agent)
  • Настройте Extended Key Usage (EKU) — ограничьте, для каких целей может использоваться сертификат. Сертификаты для аутентификации должны иметь EKU "Client Authentication", а не "Any Purpose"
  • Включите аудит Certificate Authority — все категории событий в Properties → Auditing. Настройте отправку событий в SIEM (Event ID 4886, 4887, 4899, 4900)
  • Отключите веб-интерфейс CA — если не используется Certificate Enrollment Web Services (CES), удалите роль Certification Authority Web Enrollment. Это заблокирует ESC8
  • Включите Extended Protection for Authentication — на CA-сервере в IIS настройте Extended Protection, что предотвращает NTLM-relay (ESP, Channel Binding Token)
  • Используйте Key-Based Renewal — включите проверку, что сертификат запрашивается тем же субъектом, которому принадлежит предыдущий сертификат
  • Регулярно проводите аудит AD CS — утилита Certify (Will Schroeder) или PSPKIAudit позволяют сканировать шаблоны на misconfiguration. Используйте BloodHound с модулем AD CS

Защита WSUS

  • Настройте HTTPS для WSUS — обязательное шифрование трафика между клиентами и WSUS-сервером. Используйте сертификат от корпоративного CA, недоступный для компрометации
  • Настройте проверку подлинности — включите аутентификацию клиентов при подключении к WSUS-серверу
  • Используйте IPsec — для защиты трафика WSUS на уровне сети
  • Сегментируйте сеть — клиенты не должны находиться в одной широковещательной подсети с WSUS-сервером. Используйте VLAN
  • Мониторинг ARP-таблиц — настройте обнаружение ARP-spoofing через системы сетевой безопасности или NDR (Network Detection and Response)

Общие меры

  • Внедрите Zero Trust — архитектура, при которой ни один запрос не доверяется по умолчанию. Сертификаты должны проверяться на каждом этапе
  • Используйте EDR/XDR — современные решения (SentinelOne, CrowdStrike, Microsoft Defender for Identity) имеют встроенные детекторы AD CS атак и WSUS-манипуляций
  • Проводите Red Team упражнения — регулярные пентесты AD CS-инфраструктуры с использованием реалистичных сценариев (HTB Logging — отличный тренировочный пример)

📚 Читайте также

📖 Термины

IAM (Identity and Access Management) · SIEM · SOC · Zero Trust · Пентест

🔗 Источники