• 🚨 Ещё можно успеть на курс «OSINT: технология боевой разведки» от Академии Кодебай

    🔍 Изучите методы разведки с использованием открытых источников (OSINT) для проведения успешных атак.
    🛠️ Освойте ключевые инструменты, такие как Maltego, TheHarvester и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальную разведку.
    🧠 Развивайте навыки, которые помогут вам стать экспертом в области информационной безопасности.

    Запись открыта до 23 мая Подробнее о курсе ...

Статья 10 методов атак на Active Directory: углублённый разбор и защита

1748011166162.webp
Почему 90% компаний до сих пор уязвимы?

Active Directory остаётся "святым Граалем" для хакеров — по данным CrowdStrike, 80% успешных атак на предприятия начинаются с компрометации AD. В этой статье мы не только разберём ТОП-10 методов атак, но и покажем:
  • Конкретные команды эксплуатации (с примерами кода)
  • Интеграцию с Azure AD Protection
  • Реальные кейсы из практики пентестов
Active Directory (AD) — это сердце корпоративной инфраструктуры, и его компрометация может привести к катастрофическим последствиям. Злоумышленники постоянно совершенствуют методы атак, а защитники должны быть на шаг впереди. В этой статье мы разберём 10 современных методов атак на AD, их эксплуатацию и способы защиты.

Если вы админ, пентестер или специалист по ИБ — этот материал поможет вам лучше понять уязвимости AD и укрепить свою защиту. Разбираем 10 современных атак на Active Directory, их эксплуатацию и методы защиты. Практические примеры и рекомендации для специалистов по ИБ

1. Kerberoasting

  • MITRE ATT&CK:
  • Описание: Kerberoasting нацелен на получение хешей паролей сервисных учетных записей (Service Accounts). Эти хеши можно извлечь из билетов TGS (Ticket Granting Service), которые защищены хешем пароля сервиса. Любой аутентифицированный пользователь может запросить TGS для любого сервиса в домене.
  • Процесс атаки:
    1. Атакующий от имени любого пользователя домена запрашивает TGS для целевого сервиса (SPN).
    2. KDC возвращает TGS, зашифрованный хешем пароля сервисной учетной записи.
    3. Атакующий извлекает зашифрованную часть билета и подбирает пароль в оффлайн-режиме (брутфорс).
      Код:
      # Сбор 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.

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 для компьютерных объектов.
  • Мониторинг:
    • Отслеживайте сетевую активность по протоколу 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. Инструменты для проактивного аудита (поиск уязвимостей):

  • BloodHound: Незаменимый инструмент для визуализации путей атак в AD. Помогает найти неочевидные связи и права, которые ведут к эскалации привилегий (те самые "Shadow Admins").
  • PingCastle: Автоматизированный сканер, который оценивает уровень зрелости безопасности вашего домена по множеству параметров и выдает отчет с рекомендациями.
  • ADRecon: PowerShell-скрипт, который собирает массу информации о конфигурации AD в удобный для анализа отчет.
2. Инструменты для активной защиты и предотвращения:
  • Microsoft Defender for Identity: Облачное решение от Microsoft, специально созданное для обнаружения угроз в AD в реальном времени.
  • Credential Guard & LSA Protection: Встроенные в Windows механизмы, которые технически усложняют или делают невозможным извлечение хешей из памяти.
  • SIEM и EDR: Как уже упоминалось, это ключевые компоненты для мониторинга и реагирования.

Как часто менять пароль KRBTGT?
Стандартная рекомендация — не реже одного раза в 180 дней. Но важнее частоты — правильность процедуры.

Ключевая процедура: Пароль учетной записи KRBTGT необходимо менять ДВАЖДЫ ПОДРЯД.

  1. Первое изменение: Система обновляет текущий ключ KRBTGT, но старый ключ еще некоторое время хранится в базе для совместимости с уже выданными билетами.
  2. Второе изменение: Это изменение полностью вытесняет старый ключ из истории. Только после этого все Golden Tickets, созданные на основе старого хеша, становятся недействительными.
Интервал между двумя сменами должен быть больше времени репликации между контроллерами домена.

Хотя процесс можно автоматизировать с помощью PowerShell, подходить к этому нужно с крайней осторожностью. Ошибка в скрипте может нарушить Kerberos-аутентификацию во всем домене. Проводите эту операцию в окно обслуживания и тщательно контролируйте результат.

Хотите глубже разобрать эти техники?

На курсе Анализ защищенности Active Directory от Codeby Academy вы:

✅ Разберёте 25+ реальных кейсов взломов AD
✅ Научитесь использовать BloodHound и Mimikatz в пентестах
✅ Освоите современные методы защиты для гибридных сред

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

Какие из описанных атак вы считаете наиболее опасными? Какие инструменты и методы защиты вы используете в своей практике? Делитесь своим опытом и задавайте вопросы в комментариях! 💬👇
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD