ESC12. Секретный ключ, который открывает все двери
ESC12 — это атака на инфраструктуру Active Directory Certificate Services (AD CS), при которой злоумышленник получает возможность использовать закрытый ключ центра сертификации (CA), хранящийся во внешнем аппаратном модуле безопасности — YubiHSM 2. Особенность техники в том, что получить ключ можно за счет хранения пароля (AuthKeysetPassword), обеспечивающего доступ к HSM, в открытом виде в реестре Windows по пути HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword:

YubiHSM 2 обычно подключается к серверу CA через USB или через USB‑over‑IP в случае виртуализированных сред. При этом, если у злоумышленника есть административный доступ к серверу или USB‑интерфейсу, он может получить доступ к паролю, сконфигурировать аналогичный доступ у себя и использовать ключ CA для выпуска фальшивых сертификатов.
Для успешной атаки ESC12 необходимы следующие условия:
- YubiHSM 2 используется как внешнее хранилище ключей для CA.
- YubiHSM 2 подключается к CA через доступный (локально или по сети) USB‑интерфейс.
- Пароль для аутентификации
AuthKeysetPasswordхранится в открытом виде в веткеHKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword. - У злоумышленника есть доступ к серверу CA (локальный, сетевой или удаленный).
Если все эти условия выполнены, атакующий может использовать скомпрометированный закрытый ключ CA для выпуска поддельных сертификатов, включая сертификаты на имена любых пользователей вплоть до доменных администраторов.
В ходе атаки злоумышленник выполняет следующие шаги:
- Получает административный или иной привилегированный доступ к серверу CA.
- Извлекает открытый текст пароля
AuthKeysetPasswordиз ветки реестраHKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword. - Разворачивает на своей машине (или выделенном сервере) YubiHSM 2, подключает его и конфигурирует аналогично целевой инфраструктуре.
- Использует утилиту yubihsm‑shell или иные API для подключения к HSM и выпуска сертификатов с нужными атрибутами.
- Применяет выпущенные сертификаты для аутентификации в инфраструктуре, например Kerberos или TLS, тем самым обеспечивая полный контроль над доменом.
Фиксировать атаку ESC12 можно с помощью событий, основанных на корреляции, ошибок конфигураций или EDR‑решений.
Вот что вы можете делать:
- Отслеживать получение доступа к ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPasswordиз нестандартных процессов (например, PowerShell,reg.exe). - Мониторить использование утилит управления HSM (например, yubihsm‑shell) с рабочих станций или неавторизованных серверов.Пример правила для SIEM:
registry.path:"HKEY_LOCAL_MACHINE\\SOFTWARE\\Yubico\\YubiHSM\\AuthKeysetPassword" AND (process.name:("reg.exe" OR "powershell.exe" OR "cmd.exe") OR user.name NOT IN authorized_admins_group) - Включить аудит этой ветки реестра. Для этого в разделе аудита укажите пользователя и параметры:
На скриншоте выбраны наиболее важные события, которые стоит отслеживать. Это минимальный список:Права Что отслеживает Почему важно это отслеживать Query Value Попытки чтения значения, в том числе пароля
Признак попытки получить
AuthKeysetPasswordSet Value Изменение содержимого параметра
Признак изменения или подмены ключа
Delete Удаление параметра
Потенциальный признак сокрытия следов
Write DAC Изменение ACL (прав доступа)
Возможность злоумышленника открыть себе доступ. Критическое событие
Write Owner Захват владения объектом
Признак последующего изменения прав
Эти изменения не появятся в журнале безопасности, пока вы не включите событие 4907. Для этого:- Откройте
gpedit.msc→ Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policy. - Включите параметр Audit object access → Success и Failure.

Тогда при изменении ACL можно будет увидеть следующее:
Обратите внимание, что пользователюhackerбыли явно назначены права на ключ реестра. - Откройте
Событие 4663
Чтобы фиксировались события 4663 (доступ к объекту), необходимо, чтобы для самого объекта был назначен SACL — список системного контроля доступа. Только при наличии SACL, указывающего, какие действия отслеживать (например, изменение атрибутов), система будет генерировать событие 4663 в журнале безопасности. Это особенно важно при мониторинге чувствительных атрибутов, таких как userPrincipalName или dNSHostName.
Анализ событий безопасности не всегда позволяет с самого начала точно определить, какие именно права были у пользователя до изменения, — только сам факт изменения. Поэтому важно не просто фиксировать изменения ACL, но и выявлять пользователей, получивших права на чтение или модификацию. В частности, если пользователь имеет права Query Value, он может прочитать AuthKeysetPassword.
Корреляционные правила не способны заранее обнаружить уязвимости, поэтому они полезны только во время или после атаки, когда уже зафиксированы действия по чтению или использованию ключа. Для эффективной защиты мало полагаться только на детект, нужно проактивно устранять ошибочные конфигурации до их возможной эксплуатации — такой подход позволяет предупреждать инциденты заранее.
Требуется ручная проверка прав доступа к ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPassword. Важно точно установить, у кого есть права чтения или модификации и соответствуют ли эти права ожидаемым требованиям безопасности.
Кроме того, часто недооцениваются риски, связанные с отсутствием изоляции USB‑интерфейса. Виртуализированные CA, использующие YubiHSM 2 через USB, могут быть уязвимы к подмене устройства или перехвату, особенно если сервер доступен злоумышленнику напрямую или через скомпрометированное ПО.
Также часто неполноценно настроен аудит действий с HSM и отсутствуют журналы выдачи сертификатов. Убедитесь, что включен сбор событий 4907 (реестр: изменение ACL), а также событий 4886 и 4887, фиксирующих выпуск сертификатов. Если ключ уже скомпрометирован, именно эти события помогут выявить факт его использования и выпуск поддельных сертификатов.
Дополнительно для защиты ключа AuthKeysetPassword отключите наследование прав на ветку HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM, так как через унаследованные ACL могут получить доступ нежелательные пользователи. Только разрешения, вручную заданные администратором, обеспечат надежную изоляцию и исключат скрытые уязвимости:

Наконец, проверки необходимо автоматизировать. Без централизованного механизма мониторинга ошибки в конфигурации останутся незамеченными. Например, в BI.ZONE EDR реализован механизм автоматического реагирования на изменение прав доступа. При любом изменении ACL в реестре агент немедленно инициирует сбор свежих данных и передает их для анализа. Именно такой подход и должен стать стандартом при защите от атак типа ESC12.
BI.ZONE EDR реализует проактивный контроль за безопасностью конфигурации хранилища аутентификационного ключа YubiHSM 2. Решение отслеживает не только наличие уязвимости, но и изменение прав доступа в режиме реального времени.
Механизм работы
На защищаемых хостах агент EDR выполняет:
- Сканирование текущих ACL на ветку реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM\AuthKeysetPasswordс привязкой прав к конкретным SID, группам и пользователям. - Постоянный мониторинг изменений в правах доступа в случаях, когда:
- добавляются новые пользователи или группы;
- изменяются разрешения (например, Full Control или Query Value для неконтролируемых пользователей);
- включено наследование или появляются подозрительные записи вроде Everyone, Authenticated Users, Domain Users, Remote Desktop Users и т. д.
- Автоматическую генерацию события при нарушении модели безопасности. Агент немедленно формирует детализированный отчет, где указано: кто изменил права, какие разрешения были добавлены или удалены, когда и с какого хоста это произошло.
Что считается нарушением
При первичном аудите агент EDR собирает информацию обо всех субъектах, имеющих хотя бы минимальные права на чтение ветки реестра HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM, включая доступ к параметру AuthKeysetPassword. Исключение составляют только стандартные административные группы: Administrators, SYSTEM и Enterprise Admins. Дополнительно анализируется наличие включенного наследования прав — это также считается риском, если используется некорректно.
После первичной инвентаризации создается отчет с рекомендациями по исправлению конфигурации. Далее агент переходит в режим постоянного мониторинга. При любом изменении прав доступа к ветке реестра автоматически запускается повторная проверка и анализ — особенно если зафиксированы действия с типами доступа Query Value, Set Value, Delete, Write DAC, Write Owner или Full Control.
На основе обновленных данных, если среди новых субъектов обнаруживаются аккаунты вне доверенных групп, создается отчет с детальным описанием инцидента и рекомендациями по устранению нарушений. Все это реализовано в рамках единой архитектуры проактивного контроля BI.ZONE EDR. Таким образом, права доступа контролируются как в реальном времени, так и ретроспективно.

HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM в BI.ZONE EDR
Основная угроза в контексте ESC12 заключается в несанкционированном доступе к паролю AuthKeysetPassword, что дает злоумышленнику возможность использовать ключ CA. Вот как выглядит раздел с правами на соответствующую ветку реестра и пароль в открытом виде:

Суть защиты — не давать слишком много прав пользователям, которым этого не требуется. Для этого реализуйте комплекс мер на нескольких уровнях.
Ограничение доступа к ветке реестра
- Назначайте ACL только для доверенных субъектов: PKI‑администраторов или локальных администраторов CA.
- Отключите наследование прав и удалите все лишние группы из списка доступа.
- Верифицируйте участников всех административных групп, получивших доступ.
Изоляция аппаратного модуля (HSM)
- Используйте специализированные USB‑контроллеры с ограничением физического и логического доступа.
- При виртуализации CA применяйте полноценную изоляцию от USB‑устройств: либо отключите USB‑поддержку, либо работайте через сертифицированные интерфейсы удаленного подключения.
Защищенное хранение пароля
- Используйте DPAPI, TPM или встроенные механизмы шифрования YubiHSM.
- По возможности полностью откажитесь от хранения
AuthKeysetPasswordв реестре.
Аудит и мониторинг
- Включите отслеживание доступа к ветке
HKEY_LOCAL_MACHINE\SOFTWARE\Yubico\YubiHSM, особенно событий типа Read, Write и изменений ACL. - Настройте аудит HSM‑операций и выпусков сертификатов с детализацией: кто, когда и с какой целью инициировал операцию.
- Внедрите автоматическое оповещение при изменении прав на чувствительные ветки или при появлении нестандартных учетных записей.
ESC12 использует не просто ошибку конфигурации, а стратегическую уязвимость, подрывающую доверие ко всей инфраструктуре сертификации Active Directory. Открытое хранение пароля AuthKeysetPassword к ключу CA приравнивается к прямому доступу к самому центру доверия в домене. Это означает, что любой, получивший доступ к этому паролю, способен выпускать любые сертификаты от имени CA, включая те, что позволяют выполнить аутентификацию в домене.
Защита от ESC12 требует комплексного подхода:
- строгой настройки ACL на ветку реестра YubiHSM;
- полной изоляции аппаратного модуля от неавторизованного доступа;
- исключения хранения пароля в открытом виде;
- и главное — внедрения систем постоянного мониторинга, способных выявлять несанкционированные действия до их эксплуатации.
Лишь соблюдение всех этих принципов позволяет предотвратить захват контроля над инфраструктурой и обеспечить устойчивость корпоративной PKI к атакам подобного уровня.