Certighost: рядовой пользователь AD может выдать себя за контроллер домена

· Безопасность
Исследователи опубликовали рабочий эксплойт для AD CS, позволяющий обычной учётной записи получить сертификат контроллера домена и через DCSync добраться до секрета krbtgt. Microsoft закрыла уязвимость обновлением от 14 июля.

cover.svg

24 июля исследователи H0j3n и Aniq Fakhrul обнародовали рабочий эксплойт, который позволяет непривилегированному пользователю Active Directory получить сертификат контроллера домена и пройти аутентификацию от имени этой машины. Поскольку учётные записи контроллеров домена наделены правами репликации каталога, полученные учётные данные Kerberos дают возможность извлечь секрет krbtgt через DCSync — а это фактически ключи от всего домена.

Уязвимость, названную Certighost, Microsoft закрыла ещё десятью днями ранее — 14 июля — под идентификатором CVE-2026-54121. Компания квалифицировала её как некорректную авторизацию и присвоила оценку CVSS 8.8. Для эксплуатации нужны сетевой доступ и доменная учётная запись, но не требуются права администратора или участие пользователя.

Где кроется ошибка

Проблема живёт в механизме резервного получения данных при выдаче сертификатов AD CS, который называется chase. Когда центр сертификации не может сам получить сведения о запрашивающей стороне, протокол позволяет запросу указать, к какому серверу Active Directory обращаться и какой объект-машину разрешать. Исследователи выяснили, что ЦС послушно шёл по указанному в запросе адресу через SMB и LDAP, не проверив предварительно, действительно ли перед ним настоящий контроллер домена.

Атакующий поднимает поддельные службы LSA и LDAP, перенаправляет запрос аутентификации от ЦС к реальному контроллеру домена через Netlogon и возвращает нужные атрибуты цели. Подконтрольная учётная запись машины при этом поставляет валидную доменную идентичность, необходимую центру сертификации, чтобы продолжить работу. В итоге ЦС вписывает в сертификат идентичность контроллера домена. По умолчанию квота на создание машинных учётных записей (ms-DS-MachineAccountQuota) равна десяти, так что обычному пользователю ничто не мешает создать нужную запись самому.

Масштаб и меры

Публичный эксплойт полностью автоматизирует цепочку: создаёт или переиспользует учётную запись компьютера, запускает слушатели на портах 445 и 389, ретранслирует запрос и на выходе пишет файл PFX и кеш учётных данных Kerberos, используя PKINIT. Тестирование проводилось в лесу на базе Windows Server 2016 и новее с корпоративным ЦС и шаблоном сертификата Machine по умолчанию. Запись в NVD дополнительно перечисляет версии от Windows Server 2012 до Windows Server 2025, а также Windows 10 сборок 1607 и 1809.

Организациям с развёрнутым корпоративным ЦС рекомендуется установить июльские обновления на узлах AD CS. Патч добавляет проверку CRequestInstance::_ValidateChaseTargetIsDC, которая отвергает IP-адреса, чрезмерно длинные имена и метасимволы LDAP, а также требует наличия ровно одного объекта-компьютера с флагом SERVER_TRUST_ACCOUNT и последующего сравнения SID.

На 24 июля ни один проверенный первоисточник не сообщал об атаках в дикой природе, а уязвимость отсутствовала в каталоге KEV агентства CISA. Однако полноценный proof-of-concept уже опубликован, и отсутствие сообщений не доказывает, что эксплуатации не было. Тем, кто не может обновиться немедленно, авторы описали способ отключить механизм chase, оговорившись, что тестировали его только в лаборатории и что он может сломать легитимную выдачу сертификатов.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.