Представь себе сеть...
На первый взгляд, всё идеально: строгая парольная политика, сегментация сети, установлены последние патчи. Blue Team уверенно рапортует: «Всё спокойно». Но что, если я скажу, что Domain Admin уже скомпрометирован? Без шума, без явных следов в логах. Как? Давайте разберём одну из техник, которая часто остаётся незамеченной — атаку через уязвимости в ACL (Access Control List) Active Directory.Что такое ACL и почему это важно?
ACL (список управления доступом) — это механизм, который определяет, кто и какие действия может выполнять с объектами в Active Directory. Например, кто может изменять пароли, добавлять пользователей в группы или изменять конфигурации. Ошибки в настройке ACL могут стать настоящей золотой жилой для злоумышленников.Пример: GenericAll и GenericWrite
Одной из самых опасных ошибок является предоставление прав GenericAll или GenericWrite на критически важные объекты. Эти права позволяют злоумышленнику:
- GenericAll: Полный контроль над объектом, включая сброс пароля.
- GenericWrite: Изменение атрибутов объекта, что может быть использовано для эскалации привилегий, например, через атаку Kerberoasting.
Пошаговый разбор атаки на ACL
Шаг 1. Разведка: поиск уязвимых путей эскалации
Для начала злоумышленник должен найти объекты с неправильно настроенными правами. Использование таких инструментов, как PowerView, помогает найти отдельные уязвимые объекты.
Пример команды для PowerView:
Код:
# Поиск объектов, где у кого-то есть права GenericAll
Find-ObjectAcl -ResolveGUIDs | Where-Object { $_.ActiveDirectoryRights -match "GenericAll" }
UserA
имеет права GenericAll
на учетную запись ServiceAdmin
, которая, в свою очередь, входит в группу, управляющую критически важными серверами. Это позволяет выстроить полноценный и наименее заметный путь к цели.Шаг 2. Эксплуатация: использование прав GenericAll
Допустим, злоумышленник нашёл пользователя с правами GenericAll на другого пользователя. Это позволяет сбросить пароль и получить доступ.Пример команды PowerShell:
Код:
# Сброс пароля целевого пользователя
Set-ADAccountPassword -Identity "TargetUser" -NewPassword (ConvertTo-SecureString "NewPassword123!" -AsPlainText -Force)
Важное замечание: В современных, хорошо защищенных средах этот прямой подход может не сработать. Системы защиты, такие как Microsoft LAPS или политики защиты паролей (Password Protection), могут блокировать подобные действия, а любая попытка сброса пароля администратора мгновенно вызовет тревогу в SIEM-системе.
Шаг 2.5. Альтернативная эксплуатация: GenericWrite и Kerberoasting
Если правоGenericAll
недоступно или слишком "шумное", злоумышленник может использовать более тихое право GenericWrite
. Оно позволяет изменять атрибуты пользователя, например, Service Principal Name (SPN). Добавив поддельный SPN к учетной записи жертвы, атакующий может запросить для нее Kerberos-тикет и попытаться его расшифровать оффлайн для получения пароля. Это и есть атака Kerberoasting.Пример добавления SPN для атаки Kerberoasting:
Код:
# Устанавливаем произвольный SPN для пользователя-жертвы
Set-ADUser -Identity "TargetUser" -ServicePrincipalNames @{Add="hackedSPN/service.domain.local"}

Шаг 3. Результат: эскалация привилегий
Будь то через прямой сброс пароля или более хитрую атаку Kerberoasting, результат один — злоумышленник получает контроль над новой учетной записью. Это открывает доступ к ранее недоступным ресурсам и позволяет двигаться дальше по сети, в конечном итоге приводя к полному захвату домена.Современные угрозы: как ACL используется в реальных атаках
Пример из практики: атака на SolarWindsВ ходе атаки на SolarWinds в 2020 году злоумышленники использовали сложные цепочки атак, включая эксплуатацию уязвимостей в конфигурации Active Directory. Подобные техники часто используются для незаметного закрепления в инфраструктуре после первоначального проникновения.
Связь с Zerologon
После эксплуатации критической уязвимости, такой как Zerologon (CVE-2020-1472), злоумышленник получает мгновенный контроль над контроллером домена. Однако этот доступ может быть временным. Чтобы закрепиться в системе надолго, атакующий часто изменяет ACL на ключевых объектах, предоставляя своим подконтрольным учетным записям постоянные права.MITRE ATT&CK: тактики и техники
Атаки на ACL соответствуют технике T1222.001 (Abuse Elevation Control Mechanism: Modify Registry), а также тесно связаны с T1558 (Steal or Forge Kerberos Tickets). Это подчёркивает, что такие атаки являются частью арсенала современных APT-групп.
Как защититься: практические рекомендации
- Глубокий аудит прав доступа
Регулярно проверяйте права доступа в Active Directory. Используйте не только для разовых проверок, но и для построения полной картины:- PingCastle или AD ACL Scanner: для общего аудита безопасности и выявления очевидных мисконфигураций.
- Скрипты PowerShell: для автоматизации и глубокого анализа специфичных разрешений.
- Минимизация прав (Least Privilege)
Следуйте принципу минимальных привилегий. Убедитесь, что опасные права, такие какGenericAll
иGenericWrite
, предоставлены только встроенным учетным записям и администраторам, где это абсолютно необходимо. - Продвинутый мониторинг изменений
Настройте мониторинг, который выходит за рамки стандартных логов.- SIEM-системы: для корреляции событий и отслеживания подозрительных цепочек действий.
- Microsoft Advanced Threat Analytics (ATA) или аналогичные UEBA-решения: для выявления аномалий в поведении учетных записей, таких как необычные изменения ACL или запросы Kerberos-тикетов.
- Интеграция DevSecOps и автоматизация
Включите проверку конфигурации Active Directory в CI/CD-пайплайны. Это не ручной аудит, а автоматизированный процесс.- PowerShell-сценарии: Используйте скрипты для регулярной выгрузки и сравнения снимков ACL, чтобы мгновенно обнаруживать несанкционированные изменения.
Код:# Пример: выгрузка ACL для OU в XML для последующего сравнения Get-ACL -Path "AD:\OU=Admins,DC=example,DC=local" | Export-CliXml -Path "acl_snapshot.xml"
- PowerShell-сценарии: Используйте скрипты для регулярной выгрузки и сравнения снимков ACL, чтобы мгновенно обнаруживать несанкционированные изменения.
- Обучение команды
Обучите Blue Team и администраторов Windows распознавать признаки не только очевидных атак, но и таких "тихих" техник. Понимание того, как выглядит граф атаки в BloodHound, — уже половина успеха в защите.

От теории к практике: как стать экспертом?
Мы разобрали лишь одну цепочку атаки. Но таких векторов десятки: злоупотребление делегированием, атаки на Kerberos, неправильные конфигурации GPO... Чтобы эффективно защищаться, нужно не только знать теорию, но и уметь применять её на практике.Именно для этого мы создали курс «Active Directory Pentest». Это не просто лекции, а полноценный полигон, где вы сможете отточить навыки на реальных сценариях.
Почему стоит выбрать наш курс?
- Авторитет: Авторы курса HackerRalf и BlackRabbit — 5-кратные победители The Standoff.
- Масштаб: Более 30 виртуальных машин с реальными корпоративными сетями.
- Глубина: От харденинга до применения новейших эксплоитов.
- Бонус: Доступ к 20+ заданиям AD на платформе hackerlab.pro.
Готов перейти от теории к практике?
Новый поток стартует 29 мая. Места ограничены, так как мы обеспечиваем поддержку каждому студенту.
Запишись на курс и стань экспертом в пентесте Active Directory!
Часто задаваемые вопросы
- Для кого подходит курс?
Для начинающих и продолжающих пентестеров, специалистов по ИБ и системных администраторов. - Нужны ли предварительные знания?
Базовые знания Active Directory и пентеста будут полезны, но не обязательны. - Что я получу после курса?
Практические навыки, доступ к лаборатории и уверенность в работе с AD. - Как долго длится курс?
Курс рассчитан на 4 месяца интенсивной работы.
