Почему 90% компаний до сих пор уязвимы?
Active Directory остаётся "святым Граалем" для хакеров — по данным CrowdStrike, 80% успешных атак на предприятия начинаются с компрометации AD. В этой статье мы не только разберём ТОП-10 методов атак, но и покажем:- Конкретные команды эксплуатации (с примерами кода)
- Интеграцию с Azure AD Protection
- Реальные кейсы из практики пентестов
Если вы админ, пентестер или специалист по ИБ — этот материал поможет вам лучше понять уязвимости AD и укрепить свою защиту. Разбираем 10 современных атак на Active Directory, их эксплуатацию и методы защиты. Практические примеры и рекомендации для специалистов по ИБ
1. Kerberoasting
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Kerberoasting нацелен на получение хешей паролей сервисных учетных записей (Service Accounts). Эти хеши можно извлечь из билетов TGS (Ticket Granting Service), которые защищены хешем пароля сервиса. Любой аутентифицированный пользователь может запросить TGS для любого сервиса в домене.
- Процесс атаки:
- Атакующий от имени любого пользователя домена запрашивает TGS для целевого сервиса (SPN).
- KDC возвращает TGS, зашифрованный хешем пароля сервисной учетной записи.
- Атакующий извлекает зашифрованную часть билета и подбирает пароль в оффлайн-режиме (брутфорс).
Код:# Сбор SPN для Kerberoasting с помощью PowerShell Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName # Rubeus — утилита для запроса TGS и извлечения хешей .\Rubeus.exe kerberoast /outfile:tickets.txt
- Защита:
- Используйте групповые управляемые сервисные аккаунты (gMSA): их пароли длинные, сложные и меняются автоматически.
- Для обычных сервисных аккаунтов устанавливайте пароли длиной не менее 25 символов с использованием спецсимволов.
- Проводите аудит учетных записей со старыми паролями.
- Мониторинг:
- Простой мониторинг события Event ID 4769 (A Kerberos service ticket was requested) создаст слишком много шума. Ищите аномалии:
- Запросы билетов с использованием слабого шифрования RC4-HMAC.
- Один пользователь запрашивает множество TGS для разных сервисов за короткий промежуток времени.
- Пример запроса в Splunk для поиска слабых типов шифрования:
Код:index=windows EventCode=4769 Ticket_Encryption_Type="0x17" | stats count by user, Service_Name | where count > 5
2. AS-REP Roasting
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Если для учетной записи пользователя отключена преаутентификация Kerberos (
DoesNotRequirePreAuth = $true
), злоумышленник может запросить часть билета TGT (AS-REP) без предварительной проверки. Эта часть зашифрована хешем пароля пользователя, что позволяет извлечь его для оффлайн-брутфорса.
Код:# Поиск уязвимых пользователей Get-ADUser -Filter {DoesNotRequirePreAuth -eq $true} -Properties DoesNotRequirePreAuth # Rubeus для AS-REP Roasting .\Rubeus.exe asreproast /outfile:hashes.txt
- Защита:
- Убедитесь, что для учетных записей пользователей не установлен атрибут
DoesNotRequirePreAuth
. Контролируйте это с помощью политик и регулярного аудита. Исключение — только для специфических технических нужд. - Используйте сложные пароли, чтобы затруднить оффлайн-брутфорс.
- Убедитесь, что для учетных записей пользователей не установлен атрибут
- Мониторинг:
- Отслеживайте успешные события Event ID 4768 (A Kerberos authentication ticket (TGT) was requested), где в поле
Account_Name
указан пользователь, для которого известно, что преаутентификация отключена. Атака не требует валидного пароля, поэтомуResult Code
будет0x0
.
- Отслеживайте успешные события Event ID 4768 (A Kerberos authentication ticket (TGT) was requested), где в поле
3. DCSync
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Атака, позволяющая злоумышленнику, обладающему правами на репликацию, имитировать поведение контроллера домена и запрашивать у другого КД данные об учетных записях, включая NTLM-хеши паролей. Требуются права
Replicating Directory Changes
иReplicating Directory Changes All
.
Код:# Эксплуатация через Mimikatz для получения хеша krbtgt mimikatz.exe "lsadump::dcsync /domain:corp.local /user:krbtgt" exit
- Защита:
- Убедитесь, что права на репликацию (
DS-Replication-Get-Changes
и др.) есть только у учетных записей контроллеров домена. - Регулярно проводите аудит групп с высокими привилегиями (Domain Admins, Enterprise Admins).
- Убедитесь, что права на репликацию (
- Мониторинг:
- Включите аудит доступа к объектам и отслеживайте Event ID 4662 (An operation was performed on an object).
- Ищите события, где объект — это корень домена, а в
Properties
указаны GUID прав на репликацию, например:1131f6aa-9c07-11d1-f79f-00c04fc2dcd2
(Get-Changes)1131f6ad-9c07-11d1-f79f-00c04fc2dcd2
(Get-Changes-All)
- Критически важно: анализируйте IP-адрес источника (
Subject: Client Address
). Если запрос на репликацию исходит не от контроллера домена — это явный признак атаки.
4. Golden Ticket
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Скомпрометировав учетную запись
KRBTGT
, злоумышленник получает ее NTLM-хеш и может создавать поддельные билеты Kerberos (TGT) для любого пользователя с любыми привилегиями и неограниченным сроком действия.
Код:# 1. Получаем хеш KRBTGT (например, через DCSync) .\mimikatz.exe "lsadump::dcsync /domain:corp.local /user:krbtgt" exit # 2. Создаём Golden Ticket и внедряем его в текущую сессию .\mimikatz.exe "kerberos::golden /domain:corp.local /sid:S-1-5-21-1234567890 /krbtgt:hash /user:Administrator /ptt" exit
- Защита:
- Регулярно меняйте пароль KRBTGT. Делайте это дважды с интервалом, превышающим время репликации между КД.
- Максимально защищайте контроллеры домена, чтобы не допустить компрометации
KRBTGT
.
- Мониторинг:
- Обнаружение использования Golden Ticket — сложная задача. Событие 4769 неэффективно.
- Ищите аномалии в событиях входа Event ID 4624на целевых системах:
- Время входа не совпадает с рабочими часами пользователя.
- Поля
Account Name
иSecurity ID
в событии не соответствуют друг другу. - Поле
Logon GUID
имеет нулевое значение (00000000-0000-0000-0000-000000000000
).
5. DCShadow
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: DCShadow позволяет злоумышленнику с высокими привилегиями временно зарегистрировать свою машину как поддельный контроллер домена и "реплицировать" вредоносные изменения в AD (например, добавить пользователя в группу Domain Admins). Эти изменения выглядят как легитимная репликация и обходят многие средства мониторинга.
Код:# Использование Mimikatz для DCShadow (финальный шаг) # Атака требует предварительной регистрации SPN mimikatz.exe "lsadump::dcshadow /push" exit
- Защита:
- Ограничьте права на создание и изменение объектов в конфигурационном разделе AD (
CN=Configuration,DC=...
). - Контролируйте, кто может регистрировать SPN для компьютерных объектов.
- Ограничьте права на создание и изменение объектов в конфигурационном разделе AD (
- Мониторинг:
- Отслеживайте сетевую активность по протоколу DRSUAPI от систем, которые не являются контроллерами домена.
- Мониторьте события создания объектов
nTDSDSA
в конфигурационном разделе AD.
6. Pass-the-Hash (PtH)
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Атака позволяет злоумышленнику использовать украденный NTLM-хеш пользователя вместо пароля для аутентификации на других системах в сети.
Код:# Использование Mimikatz для Pass-the-Hash mimikatz.exe "sekurlsa::pth /user:Administrator /domain:corp.local /ntlm:<hash> /run:cmd.exe"
- Защита:
- Включите Microsoft Defender Credential Guard (Windows 10/11/Server 2016+) для изоляции процесса LSASS.
- Включите LSA Protection (
RunAsPPL
). - Применяйте принцип минимальных привилегий и сегментируйте сеть, чтобы ограничить боковое перемещение.
- Мониторинг:
- На целевой машине атака PtH генерирует событие Event ID 4624 (An account was successfully logged on) с LogonType = 3 (Network).
- Запрос в Splunk:
Код:index=windows EventCode=4624 LogonType=3 AuthenticationPackageName=NTLM
- Ищите аномалии: вход привилегированных учетных записей на рабочие станции, множественные входы с одного хоста под разными аккаунтами.
7. LLMNR/NBT-NS Poisoning
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Атака заключается в ответе на широковещательные запросы разрешения имен (LLMNR, NBT-NS), когда DNS не смог найти хост. Злоумышленник сообщает жертве свой IP-адрес. Когда жертва пытается аутентифицироваться на поддельном сервисе (например, SMB), атакующий перехватывает ее NTLM-хеш и может либо взломать его, либо ретранслировать (SMB Relay).
- Инструменты: Responder, mitm6.
Bash:# Запуск Responder для перехвата запросов sudo python Responder.py -I eth0 -wrf
- Защита:
- Отключите LLMNR и NetBIOS через групповые политики (GPO).
- Включите SMB-подписывание (SMB Signing), чтобы предотвратить атаку SMB Relay.
8. ACL Abuse
- Описание: Атакующий находит и использует некорректно настроенные списки контроля доступа (ACL) на объектах AD (пользователи, группы, GPO) для эскалации привилегий. Например, если у обычного пользователя есть право
WriteDacl
илиGenericAll
на группу "Domain Admins", он может добавить себя в эту группу.
Код:# PowerView для поиска опасных прав на группе "Domain Admins" Get-DomainObjectAcl -Identity "Domain Admins" -ResolveGUIDs | ? { $_.ActiveDirectoryRights -match "GenericAll|WriteDacl" } # PowerView для добавления себя в группу Add-DomainGroupMember -Identity "Domain Admins" -Members "Attacker"
- Защита:
- Регулярно аудитируйте ACL на критически важных объектах с помощью BloodHound или PingCastle.
- Используйте принцип минимальных привилегий. Удаляйте избыточные права.
- Следите за объектом
AdminSDHolder
для защиты привилегированных групп.
9. Unconstrained Delegation
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: Если для сервера включена неограниченная делегация, он сохраняет TGT пользователя, который на нем аутентифицируется. Злоумышленник, получивший контроль над таким сервером, может извлечь TGT (например, администратора) и использовать его для доступа к любым другим ресурсам от имени этого администратора.
Код:# Поиск серверов с неограниченной делегацией Get-ADComputer -Filter {TrustedForDelegation -eq $true} -Properties TrustedForDelegation # Rubeus для мониторинга и извлечения TGT из LSASS на скомпрометированном сервере .\Rubeus.exe monitor /interval:5 # Использование извлеченного билета (в Base64) .\Rubeus.exe ptt /ticket:<base64_ticket_data>
- Защита:
- Избегайте использования неограниченной делегации. Переходите на Constrained Delegation (ограниченная делегация) или, что еще лучше, Resource-Based Constrained Delegation (RBCD).
- Добавляйте привилегированные учетные записи в группу "Protected Users". Это запрещает делегирование для таких аккаунтов.
10. Shadow Admins
- MITRE ATT&CK:
Ссылка скрыта от гостей
- Описание: "Теневые администраторы" — это пользователи, которые не являются членами административных групп напрямую, но имеют права, позволяющие им стать администраторами. Например, пользователь с правом сброса пароля члена группы "Domain Admins" или правом на изменение GPO, применяемой к контроллерам домена.
Код:# Использование PowerView для анализа путей атаки (BloodHound делает это нагляднее) Get-DomainObjectAcl -ResolveGUIDs | ? { $_.ActiveDirectoryRights -match "GenericAll|WriteDacl" }
- Защита:
- Регулярно сканируйте AD на наличие путей эскалации привилегий с помощью BloodHound.
- Включите аудит изменений ACL (Event ID 5136) и членства в группах (Event ID 4728/4729).
- Мониторинг:
- Сфокусируйтесь на изменениях в самых критичных объектах.
- Пример запроса в Splunk для отслеживания изменений в ACL критичных групп:
Код:index=windows EventCode=5136 "Object Type"="Group" "Object Name" IN ("Domain Admins", "Enterprise Admins", "Schema Admins", "Administrators")
FAQ: Коротко о главном
Как быстро обнаружить атаку на AD?Быстрое обнаружение — это результат комбинации технологий и процессов. Основа — это централизованный сбор и анализ логов с помощью SIEM-системы (например, Splunk, Microsoft Sentinel, ELK Stack). Однако SIEM бесполезен без правильной настройки:
Скорость обнаружения зависит не только от инструментов, но и от готовности команды реагировать на инциденты.
- Включите расширенный аудит: Убедитесь, что на контроллерах домена и критически важных серверах включен аудит ключевых событий (вход в систему, работа с Kerberos, изменение объектов, запуск процессов).
- Ищите аномалии, а не события: Вместо того чтобы реагировать на каждое событие
4769
(запрос TGS), настройте правила для поиска аномального поведения: один пользователь запрашивает сотни билетов, вход администратора на рабочую станцию, сетевые подключения оттуда, где их не должно быть.- Используйте EDR: Решения класса Endpoint Detection and Response (EDR) дают контекст. SIEM покажет, что с хоста
X
был выполнен Pass-the-Hash, а EDR покажет, какой именно процесс (mimikatz.exe
, запущенный из-подpowershell.exe
) это сделал.
Какие инструменты помогают в защите AD?
Инструменты для защиты можно разделить на две категории: для проактивного аудита и для активной обороны.
1. Инструменты для проактивного аудита (поиск уязвимостей):
2. Инструменты для активной защиты и предотвращения:
- BloodHound: Незаменимый инструмент для визуализации путей атак в AD. Помогает найти неочевидные связи и права, которые ведут к эскалации привилегий (те самые "Shadow Admins").
- PingCastle: Автоматизированный сканер, который оценивает уровень зрелости безопасности вашего домена по множеству параметров и выдает отчет с рекомендациями.
- ADRecon: PowerShell-скрипт, который собирает массу информации о конфигурации AD в удобный для анализа отчет.
- Microsoft Defender for Identity: Облачное решение от Microsoft, специально созданное для обнаружения угроз в AD в реальном времени.
- Credential Guard & LSA Protection: Встроенные в Windows механизмы, которые технически усложняют или делают невозможным извлечение хешей из памяти.
- SIEM и EDR: Как уже упоминалось, это ключевые компоненты для мониторинга и реагирования.
Как часто менять пароль KRBTGT?
Стандартная рекомендация — не реже одного раза в 180 дней. Но важнее частоты — правильность процедуры.
Ключевая процедура: Пароль учетной записиKRBTGT
необходимо менять ДВАЖДЫ ПОДРЯД.
Интервал между двумя сменами должен быть больше времени репликации между контроллерами домена.
- Первое изменение: Система обновляет текущий ключ
KRBTGT
, но старый ключ еще некоторое время хранится в базе для совместимости с уже выданными билетами.- Второе изменение: Это изменение полностью вытесняет старый ключ из истории. Только после этого все Golden Tickets, созданные на основе старого хеша, становятся недействительными.
Хотя процесс можно автоматизировать с помощью PowerShell, подходить к этому нужно с крайней осторожностью. Ошибка в скрипте может нарушить Kerberos-аутентификацию во всем домене. Проводите эту операцию в окно обслуживания и тщательно контролируйте результат.
Хотите глубже разобрать эти техники?
На курсе Анализ защищенности Active Directory от Codeby Academy вы:


Старт ближайшего потока — 29 мая. Оставьте заявку, чтобы получить PDF-версию этого гайда с дополнительными лабораторными работами!
Какие из описанных атак вы считаете наиболее опасными? Какие инструменты и методы защиты вы используете в своей практике? Делитесь своим опытом и задавайте вопросы в комментариях!

