Дослідники безпеки H0j3n та Aniq Fakhrul опублікували робочий експлойт під кодовою назвою Certighost. Ця атака дозволяє будь-кому з користувачів Active Directory з найнижчими привілеями отримати цифровий сертифікат контролера домену (Domain Controller) та пройти автентифікацію від його імені. Оскільки облікові записи контролерів домену мають права на реплікацію каталогу, це відкриває зловмисникам шлях до повного захоплення домену за допомогою техніки DCSync.
Вразливість безпосередньо пов'язана з функціонуванням служби сертифікації Active Directory Certificate Services (AD CS). Цей компонент часто розгортається у великих корпоративних мережах для автоматизації управління відкритими ключами та видачі сертифікатів користувачам і пристроям для внутрішньої автентифікації. Однак гнучкість налаштувань AD CS часто стає її головною слабкістю, якщо шаблони сертифікатів сконфігуровані неналежним чином.
Основна проблема полягає в шаблонах, які дозволяють запитувачу самостійно визначати альтернативне ім'я суб'єкта (Subject Alternative Name, SAN). Якщо шаблон має таке налаштування і при цьому доступний для використання звичайними користувачами домену, зловмисник може подати запит на сертифікат, вписавши в поле SAN ім'я будь-кого контролера домену або адміністратора мережі. Сервер сертифікації (CA) без додаткових перевірок підпише цей сертифікат, фактично легітимізуючи підроблену ідентичність.
Технічна суть атаки Certighost полягає в автоматизації процесу експлуатації цієї слабкості. Експлойт дозволяє обійти перевірки підписування під час запиту сертифіката, згенерувати дійсний закритий ключ та отримати підписаний сертифікат від імені облікового запису контролера домену (комп'ютерного акаунту виду DC_Name$). Отримавши такий сертифікат, атакуючий використовує протокол Kerberos (а саме розширення PKINIT) для автентифікації у системі та отримує квиток TGT (Ticket Granting Ticket) для цього контролера домену.
Головна небезпека цього сценарію полягає в подальших кроках компрометації. Оскільки контролери домену мають легітимні права на реплікацію даних між собою, автентифікована сесія контролера домену може виконувати запити реплікації. Використовуючи техніку DCSync (за допомогою таких інструментів, як Mimikatz або Impacket), атакуючий може звернутися до іншого контролера домену та запитати конфіденційні дані, включаючи хеші паролів усіх користувачів домену. Зокрема, це дозволяє витягти секретний хеш облікового запису krbtgt.
Володіння хешем krbtgt дає зловмиснику повний і практично безстроковий контроль над усім доменом Active Directory. Завдяки цьому можна створювати «Золоті квитки» (Golden Tickets), які дозволяють маскуватися під будь-кого з користувачів (навіть адміністратора домену) з будь-яким часом життя сесії. Це робить виявлення зловмисника в мережі надзвичайно складним завданням, оскільки його дії виглядають як повністю легітимна активність адміністратора.
Що це означає на практиці
Для захисту доменної інфраструктури від експлуатації Certighost пентест-команда рекомендує негайно виконати такі кроки:
- Аудит шаблонів сертифікатів AD CS: Проведіть ретельну інвентаризацію всіх опублікованих шаблонів сертифікатів у вашій службі AD CS. Зверніть увагу на шаблони, які дозволяють запитувачам самостійно визначати SAN (налаштування
CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT), та закрийте можливість їх запиту для звичайних користувачів (Domain Users). - Моніторинг подій автентифікації Kerberos: Налаштуйте виявлення подій автентифікації за сертифікатами (Event ID 4768 в журналах безпеки Windows). Особливо підозрілими є випадки, коли запит квитка TGT за допомогою сертифіката виконується для комп'ютерного облікового запису контролера домену (
$), але джерелом запиту є звичайна робоча станція користувача. - Виявлення запитів DCSync: Налаштуйте систему виявлення вторгнень (IDS/SIEM) на моніторинг специфічних викликів реплікації Active Directory. Використання функцій
DS-Replication-Get-ChangesтаDS-Replication-Get-Changes-Allз хостів, які не є легітимними контролерами домену, є прямою ознакою проведення атаки DCSync. - Обмеження прав доступу до служби сертифікації: Переконайтеся, що права на реєстрацію (Enrollment) у критичних шаблонах сертифікатів надано виключно тим групам користувачів та комп'ютерів, яким це дійсно необхідно для роботи. Звичайні користувачі не повинні мати можливості запитувати сертифікати комп'ютерів або контролерів домену.
- Регулярна зміна пароля krbtgt: У рамках загальної гігієни безпеки домену Active Directory налаштуйте регулярну дворазову зміну пароля облікового запису
krbtgt. Це допоможе анулювати будь-які раніше створені зловмисниками «Золоті квитки» у разі, якщо компрометація вже відбулася.
