Сергей Попов
26.04.2026, 12:14
https://forum.antichat.xyz/attachments/4951812/img_411103f84d.png
В большинстве внутренних пентестов путь от учётной записи рядового пользователя до Domain Admin занимает от 4 до 48 часов. Не потому что инфраструктура «дырявая» - а потому что Active Directory проектировалась для удобства администрирования, а не для противодействия атакующему с валидным доменным аккаунтом. Один забытый SPN на сервисной учётке с паролем
Summer2024!
, одна кривая ACL, выданная три года назад «на время миграции» - и граф BloodHound рисует прямую линию к KRBTGT. У меня рекорд - 22 минуты от первого LDAP-запроса до хеша
krbtgt
. Не хвастаюсь - просто показываю, насколько типичная корпоративная AD беззащитна перед тем, кто знает, куда смотреть. Эта статья - карта всех этапов такого пути.
Навигация по статье и кластеру
#Этап атакиПодробный разбор1Разведка и перечисление доменаПентест Active Directory: полный гайд от разведки до Domain Admin в 2025 (https://forum.antichat.xyz/threads/592603/)2Построение графа атак через BloodHoundBloodHound Active Directory: разведка домена, построение графа атак и эксплуатация ACL (https://forum.antichat.xyz/threads/592606/)3ACL-атаки и эскалация через делегированиеPrivilege Escalation в Active Directory: ACL-атаки, делегирование и цепочки от GenericAll до DCSync (https://forum.antichat.xyz/threads/592729/)4Pass-the-Hash и lateral movementPass-the-Hash атака Active Directory: от NTLM-хеша до Domain Admin через lateral movement (https://forum.antichat.xyz/threads/592631/)5DCSync, Golden Ticket, Silver TicketАтаки на контроллер домена Active Directory: DCSync, Golden Ticket и Silver Ticket на практике (https://forum.antichat.xyz/threads/592652/)6Атаки на AD CS (ESC1–ESC13)AD CS атаки эскалация привилегий: практический гайд по ESC1–ESC13 с Certipy (https://forum.antichat.xyz/threads/592685/)7Харденинг и защитные мерыХарденинг Active Directory: LAPS, LLMNR и NBT-NS - три меры против 80% внутренних атак (https://forum.antichat.xyz/threads/592656/)
Ниже - обзор каждого этапа с ключевыми техниками, инструментами и практическими ориентирами. Каждая секция ссылается на детальный spoke-материал, где техника разобрана на уровне конкретных команд с флагами и артефактов в логах.
Разведка Active Directory: от первого пакета до полной карты домена (https://forum.antichat.xyz/threads/592603/)
Разведка - этап, на котором формируется 80% успеха пентеста. Имея только доменную учётку уровня
Domain Users
, атакующий через стандартные LDAP-запросы получает доступ к чудовищному объёму информации: полный список пользователей и их атрибутов, все группы и вложенные членства, компьютеры с версиями ОС, объекты GPO, ACL на OU, доверительные отношения и FSMO-роли. Это не уязвимость - это штатное поведение LDAP в Active Directory. Microsoft так задумала, и мы этим пользуемся.
Что собираем и чем
Первые минуты после получения доступа к домену выглядят так:
Определение контроллеров домена - DNS-запрос
_ldap._tcp.dc._msdcs.
отдаёт все DC, их IP и приоритеты. Альтернативно -
nslookup -type=SRV _kerberos._tcp.
.
Перечисление пользователей и SPN -
ldapdomaindump
или
ldapsearch
выгружают пользователей с атрибутом
servicePrincipalName
(маркер для Kerberoasting),
userAccountControl
(флаг
DONT_REQ_PREAUTH
для AS-REP Roasting) и поле
description
. Про description - отдельная песня: администраторы туда пароли записывают чаще, чем хотелось бы верить.
Сканирование портов контроллера - порты 53 (DNS), 88 (Kerberos), 135 (RPC), 389/636 (LDAP/LDAPS), 445 (SMB), 3268/3269 (GC) определяют доступные протоколы и attack surface.
nmap -sV
на этих портах покажет версии сервисов.
Анонимный SMB -
smbclient -L // -N
покажет, доступны ли шары
SYSVOL
,
NETLOGON
или кастомные шары без аутентификации. В
SYSVOL
нередко валяются скрипты групповых политик с паролями в открытом виде.
Когда включать BloodHound
После базового перечисления - запускаем SharpHound (коллектор данных для BloodHound). Он собирает сессии, членства в группах, ACL, делегирование и trust-отношения через LDAP и Windows API. BloodHound строит граф атакующих путей - и на нём визуально видно: какой пользователь через какую цепочку прав может достичь Domain Admin.
На реальных проектах именно этот граф становится главным аргументом в отчёте. Типичная находка: учётная запись мониторинговой службы состоит в группе
IT-Admins
, у которой есть
GenericAll
на OU с доменными администраторами - и эта цепочка строилась годами, по кирпичику, «временно».
Подробный разбор инструментов разведки с конкретными командами и флагами - в гайде: Пентест Active Directory: полный гайд от разведки до Domain Admin в 2025 (https://forum.antichat.xyz/threads/592603/). Построение графа атак и кастомные Cypher-запросы разобраны в материале BloodHound Active Directory: разведка домена, построение графа атак и эксплуатация ACL (https://forum.antichat.xyz/threads/592606/).
https://forum.antichat.xyz/attachments/4951812/1777153913797.png
Чеклист: минимальная разведка AD
Получить список DC через DNS SRV
Выгрузить всех пользователей с атрибутами через LDAP
Определить учётки с SPN (для Kerberoasting)
Определить учётки с
DONT_REQ_PREAUTH
(для AS-REP Roasting)
Проверить анонимный доступ к SMB-шарам
Запустить SharpHound и загрузить данные в BloodHound
Проверить trust-отношения между доменами и лесами
Первоначальный доступ: LLMNR Poisoning, Responder и захват хешей NTLM
В сценарии grey box (самый частый формат пентеста AD) учётная запись уже есть. Но в black box или при Red Team-кампании первый доменный аккаунт нужно добыть. Классический вектор - отравление широковещательных протоколов разрешения имён.
Как работает атака
Когда Windows-машина не может разрешить имя через DNS, она шлёт широковещательный запрос по LLMNR (UDP 5355) и NBT-NS (UDP 137). Атакующий с Responder в том же сегменте отвечает раньше легитимного хоста - и жертва отправляет ему свой NTLMv2-хеш. Техника маппится на MITRE ATT&CK T1557.001 (LLMNR/NBT-NS Poisoning and SMB Relay).
Полученные хеши можно:
Брутфорсить офлайн через Hashcat (
-m 5600
для NTLMv2) - при слабом пароле результат за минуты.
Relay-ить на хосты с отключённым SMB Signing через
ntlmrelayx.py
из Impacket. Если relay направить на LDAP контроллера домена - можно создать машинный аккаунт или провести атаку Shadow Credentials.
По данным RedTeam Pentesting (2025), коэрция (authentication coercion) через RPC-функции - логический следующий шаг после получения первого доменного аккаунта. В отличие от LLMNR poisoning, coercion позволяет целенаправленно заставить конкретный хост аутентифицироваться на машину атакующего, что открывает путь к RBCD и S4U2Self abuse.
Что детектирует SOC
Responder генерирует характерный сетевой трафик: ответы на LLMNR/NBT-NS с IP атакующего. Правила в SIEM на «новый responder в сегменте» - тривиальны. Но на практике мониторинг этих протоколов отсутствует в большинстве инфраструктур. Просто никто не смотрит.
О защитных мерах - отключение LLMNR/NBT-NS через GPO и настройка LAPS для ротации локальных паролей - разобрано в материале Харденинг Active Directory: LAPS, LLMNR и NBT-NS - три меры против 80% внутренних атак (https://forum.antichat.xyz/threads/592656/).
https://forum.antichat.xyz/attachments/4951812/1777154062143.png
Kerberoasting и AS-REP Roasting: атаки на домен Windows через Kerberos (https://forum.antichat.xyz/threads/592619/)
Kerberos - основной протокол аутентификации в Active Directory, и именно его механика порождает два наиболее массово эксплуатируемых вектора: Kerberoasting и AS-REP Roasting.
Kerberoasting атака (https://forum.antichat.xyz/threads/592619/)
Любой аутентифицированный пользователь домена может запросить у KDC сервисный тикет (TGS) для любого аккаунта с
servicePrincipalName
. Тикет зашифрован хешем пароля этой сервисной учётки - его можно вытащить и брутфорсить офлайн. Ни один журнал не зафиксирует сам факт перебора; в логах DC появится только событие
4769
(запрос TGS) с типом шифрования
0x17
(RC4-HMAC),
0x11
(AES128) или
0x12
(AES256). При массовых запросах от одного пользователя - это индикатор Kerberoasting. RC4-запросы от современных клиентов - самый яркий сигнал, потому что легитимные клиенты используют AES. Для AES-тикетов детект строится на аномальном количестве TGS_REQ к разным SPN от одного аккаунта.
Инструменты:
GetUserSPNs.py
из Impacket,
Invoke-Kerberoast
из PowerView, Rubeus с параметром
kerberoast
.
AS-REP Roasting
Если у учётной записи отключена Kerberos pre-authentication (флаг
DONT_REQ_PREAUTH
в
userAccountControl
), атакующий может запросить AS-REP без знания пароля. Ответ KDC содержит часть, зашифрованную хешем пароля пользователя - перебирается в Hashcat (
-m 18200
).
Практический takeaway
ПараметрKerberoastingAS-REP RoastingТребуется доменная учёткаДаНет (достаточно знать имя)Целевые аккаунтыС SPNС
DONT_REQ_PREAUTH
Event ID на DC4769 (enc type 0x17 = RC4, 0x11 = AES128, 0x12 = AES256; для AES детект по аномальному объёму TGS_REQ)4768Hashcat mode
-m 13100
(RC4),
-m 19600
(AES128),
-m 19700
(AES256)
-m 18200
(RC4),
-m 19800
(AES128),
-m 19900
(AES256)Типичный результат30-60% сервисных учёток ломаются за часыВстречается реже, но пароли обычно слабее
Если нашли десятки SPN-учёток - приоритизируйте те, что входят в привилегированные группы (смотрим через BloodHound). Нет смысла жечь GPU на учётку, которая ведёт в тупик.
Повышение привилегий Active Directory: ACL-атаки и делегирование Kerberos
После получения первых учётных данных начинается самый творческий этап - privilege escalation. Каждый домен уникален, и пути повышения зависят от конкретных ошибок конфигурации, накопленных за годы. Тут шаблоны не работают - работает внимательность.
ACL-атаки: когда права выданы не тем
Active Directory хранит Access Control Lists на каждый объект: пользователя, группу, OU, GPO. Типичные опасные права:
GenericAll - полный контроль над объектом. На пользователя = сброс пароля. На группу = добавление себя в неё. На компьютер = настройка RBCD.
GenericWrite - запись произвольных атрибутов. Позволяет установить SPN (для Kerberoasting привилегированного аккаунта) или модифицировать
msDS-KeyCredentialLink
(Shadow Credentials).
WriteDACL - право изменять сам ACL объекта. Атакующий выдаёт себе
GenericAll
и дальше - как выше.
ForceChangePassword - сброс пароля без знания текущего.
BloodHound автоматически маркирует эти рёбра в графе. Но кастомные Cypher-запросы помогают найти неочевидные цепочки: например, пользователь A имеет
WriteDACL
на группу B, члены которой имеют
GenericAll
на OU с Domain Admins. Такие цепочки из трёх-четырёх звеньев - самое вкусное.
Делегирование Kerberos: три вида, три вектора
Unconstrained Delegation - машина хранит TGT всех аутентифицирующихся пользователей. Если через коэрцию (PetitPotam, PrinterBug) заставить DC аутентифицироваться на такую машину - его TGT попадёт в память. Дальше - DCSync.
Constrained Delegation - ограничена конкретным сервисом, но через S4U2Proxy + альтернативный сервис (alt-service) можно выйти за рамки.
Resource-Based Constrained Delegation (RBCD) - атакующий, контролирующий машинный аккаунт, настраивает
msDS-AllowedToActOnBehalfOfOtherIdentity
на целевом хосте (если есть
GenericWrite
) и запрашивает тикет для имперсонации администратора.
Все эти техники с пошаговыми цепочками и реальными примерами от GenericAll до DCSync разобраны в отдельном материале: Privilege Escalation в Active Directory: ACL-атаки, делегирование и цепочки от GenericAll до DCSync (https://forum.antichat.xyz/threads/592729/).
Pass-the-Hash и lateral movement: перемещение по сети без знания паролей
Получив NTLM-хеш доменного пользователя (из дампа LSASS через Mimikatz или из SAM через
reg save
), атакующий аутентифицируется на другие хосты без расшифровки пароля. Это Pass-the-Hash - одна из фундаментальных техник lateral movement в Active Directory.
Инструменты lateral movement (https://forum.antichat.xyz/threads/592631/)
ИнструментПротоколОсобенн ость
psexec.py
(Impacket)SMBСоздаёт сервис на целевой машине, шумный (Event ID 7045)
wmiexec.py
(Impacket)WMI/DCOMНе создаёт сервис, тише для EDR
smbexec.py
(Impacket)SMBВременный сервис на каждую команду (Event ID 7045), характерный
%COMSPEC% /Q /c
с редиректом в named pipeNetExec (наследник CrackMapExec)SMB/WinRM/LDAPМассовое выполнение команд, spray-проверка учёток
evil-winrm
WinRM (HTTP/5985)Интерактивная PowerShell-сессия, загрузка файлов
В 2025 году вместо устаревшего CrackMapExec берите NetExec (
nxc
) - он активно поддерживается сообществом и умеет больше: модули для LDAP-перечисления, проверки LAPS-паролей, автоматического Kerberoasting. CrackMapExec, по сути, мёртв.
Что видит защитник
Pass-the-Hash оставляет характерный след: событие
4624
с Logon Type 3 (Network) и типом аутентификации NTLM (не Kerberos). Массовые
4624
от одного аккаунта на множестве хостов за короткий промежуток - прямой индикатор lateral movement. EDR-решения (CrowdStrike, Defender for Endpoint) также детектируют обращения к LSASS.
Разбор каждого этапа с конкретными примерами - в гайде: Pass-the-Hash атака Active Directory: от NTLM-хеша до Domain Admin через lateral movement (https://forum.antichat.xyz/threads/592631/).
Атаки на контроллер домена: DCSync, Golden Ticket и Silver Ticket
Когда путь к привилегированному аккаунту пройден - извлекаем секреты из базы Active Directory (NTDS.dit) и закрепляемся в домене.
DCSync атака
DCSync эмулирует поведение контроллера домена, запрашивающего репликацию через MS-DRSR. Аккаунт атакующего должен иметь права
Replicating Directory Changes
и
Replicating Directory Changes All
- они есть у Domain Admins, Enterprise Admins и самих DC по умолчанию. Команда
secretsdump.py -just-dc /@
из Impacket выгружает все хеши NTLM, включая хеш
krbtgt
- ключ к Golden Ticket.
На стороне SOC DCSync порождает событие
4662
с обращением к
1131f6aa-9c07-11d1-f79f-00c04fc2dcd2
(GUID для DS-Replication-Get-Changes). Один из самых надёжных индикаторов - если у вас его нет в SIEM, добавьте прямо сейчас.
Golden Ticket
Имея хеш
krbtgt
, атакующий генерирует TGT для любого пользователя домена с произвольным временем жизни и произвольными группами привилегий. Golden Ticket переживает смену паролей всех пользователей - пока не будет дважды сброшен пароль
krbtgt
(в корректном порядке с интервалом, превышающим MaxTicketAge). На практике мало кто это делает правильно.
Silver Ticket
В отличие от Golden Ticket, Silver Ticket не обращается к KDC - он генерируется локально с хешем машинного аккаунта целевого сервиса. Менее заметен, но ограничен конкретным сервисом (CIFS, HTTP, MSSQLSvc).
Практический разбор всех трёх техник с примерами Impacket и Mimikatz - в материале: Атаки на контроллер домена Active Directory: DCSync, Golden Ticket и Silver Ticket на практике (https://forum.antichat.xyz/threads/592652/).
AD CS атаки: эскалация привилегий через службы сертификатов
Active Directory Certificate Services (AD CS) - одна из самых недооценённых поверхностей атаки в корпоративных доменах. Если в инфраструктуре развёрнут Enterprise CA, атакующий может получить сертификат, позволяющий аутентифицироваться как Domain Admin - и всё это без единого обращения к DC за Kerberos-тикетом. Красота.
Классификация ESC-уязвимостей (https://forum.antichat.xyz/threads/592685/)
SpecterOps систематизировали атаки на AD CS в виде классов ESC (Escalation Scenario). Наиболее критичные:
ESC1 - шаблон сертификата позволяет указать произвольный SAN (Subject Alternative Name). Атакующий запрашивает сертификат с SAN
Administrator@domain.com
и получает аутентификационный сертификат Domain Admin. Просто так.
ESC8 - Web Enrollment endpoint AD CS доступен по HTTP без принудительного HTTPS. Позволяет relay NTLM-аутентификацию на CA и получить сертификат от имени жертвы.
ESC11 - аналогичен ESC8, но relay через RPC вместо HTTP.
Для обнаружения и эксплуатации - Certipy. Он автоматически перечисляет шаблоны, определяет уязвимые конфигурации и выполняет запросы сертификатов.
Связь с коэрцией: по данным RedTeam Pentesting (2025), ESC8 и ESC11 - ключевые relay-цели при authentication coercion. Атакующий через PetitPotam (CVE-2021-36942, CVSS 7.5) принуждает DC аутентифицироваться, relay-ит сессию на CA и получает сертификат от имени DC. Дальше - DCSync через PKINIT.
Полный практический гайд, по каждому классу ESC с командами Certipy: AD CS атаки эскалация привилегий: практический гайд по ESC1–ESC13 с Certipy (https://forum.antichat.xyz/threads/592685/).
Coercion-техники 2025: PetitPotam, PrinterBug и обход новых митигаций
Authentication coercion - принуждение Windows-хоста аутентифицироваться на машину атакующего - остаётся одним из самых мощных векторов в пентесте Active Directory. По данным RedTeam Pentesting (блог от июня 2025), coercion с любым низкопривилегированным доменным аккаунтом обычно позволяет получить полный административный доступ практически к произвольным хостам и серверам Windows.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше (https://forum.antichat.xyz/threads/560728/)
Получить доступ просто — достаточно проявить активность на форуме
У каждой из этих уязвимостей рабочие PoC в публичном доступе. На реальных engagement-ах проверяйте их первыми - они дают быстрый путь к DC.
AD Pentest инструменты: арсенал Red Team оператора в 2025 году
Инструментарий для пентеста Active Directory стабилизировался вокруг нескольких проектов. Ниже - карта по этапам kill chain:
Разведка и перечисление (https://forum.antichat.xyz/threads/592603/)
BloodHound CE + SharpHound - построение графа атак. SharpHound собирает данные через LDAP и Windows API; BloodHound CE (Neo4j для графовой БД, PostgreSQL для метаданных) визуализирует пути. Без этого инструмента пентест AD - как хирургия вслепую.
ldapdomaindump - выгрузка AD-объектов через LDAP в HTML/JSON. Быстрое перечисление без GUI
enum4linux-ng - перечисление через SMB/RPC: пользователи, группы, шары, политика паролей
PingCastle - сканер здоровья AD. Генерирует отчёт с оценкой рисков - отлично ложится в отчёт клиенту
Эксплуатация и lateral movement
Impacket - набор Python-скриптов для работы с Windows-протоколами:
secretsdump.py
(DCSync, SAM dump),
psexec.py
/
wmiexec.py
(remote execution),
GetUserSPNs.py
(Kerberoasting),
ntlmrelayx.py
(relay). Рабочая лошадка каждого пентеста.
NetExec (nxc) - замена CrackMapExec. Массовое выполнение команд, проверка учёток, автоматизация spray-атак
Rubeus - C#-инструмент для атак на Kerberos: AS-REP Roasting, Kerberoasting, S4U abuse, Pass-the-Ticket, Overpass-the-Hash
Certipy - перечисление и эксплуатация AD CS (ESC1–ESC13)
Responder - отравление LLMNR/NBT-NS и захват NTLMv2-хешей
Пост-эксплуатация
Mimikatz - извлечение кредов из памяти (LSASS), генерация Golden/Silver Ticket, DCSync
Hashcat - офлайн-перебор хешей (NTLMv2:
-m 5600
, NTLM:
-m 1000
, Kerberoast:
-m 13100
, AS-REP:
-m 18200
)
Минимальный пайплайн - от начала до проверки наличия пути к DA:
Bash:
# 1. Перечисление SPN-учёток (Kerberoasting)
GetUserSPNs.py -request -dc-ip
10.0
.0.1 domain.local/user:Password1
# 2. Сбор данных для BloodHound (SharpHound из Linux)
bloodhound-python -c All -d domain.local -u user -p Password1 -ns
10.0
.0.1
# 3. Массовая проверка: где текущий юзер - локальный админ
nxc smb
10.0
.0.0/24 -u user -p Password1 --local-auth
Лабораторная среда для отработки атак на Active Directory
Без лабораторной среды осваивать атаки на AD - как учиться плавать по книжке. Утонешь на первом же реальном проекте.
GOAD (Game of Active Directory)
Проект Orange Cyberdefense, разворачивается через Vagrant + Ansible. Несколько доменов с trust-отношениями, предустановленные misconfiguration (Kerberoasting, RBCD, AD CS, LLMNR), уязвимые SPN-учётки и GPO. Идеален для отработки полного kill chain. Я начинал именно с него - рекомендую.
Требования: 16+ ГБ RAM, VirtualBox или VMware, ~60 ГБ дискового пространства.
Самописный стенд
Минимальный набор: Windows Server 2019/2022 (DC) + 1-2 Windows 10/11 (workstations) + Kali Linux. Поднимается за час:
Install-WindowsFeature AD-Domain-Services; Install-ADDSForest
, создание OU, пользователей с SPN, намеренные misconfiguration (Unconstrained Delegation на одном хосте, слабый пароль на SPN-учётке, шаблон AD CS с ESC1). Зато потом можно ломать сколько угодно и в любом порядке.
Онлайн-площадки
HackTheBox Pro Labs (Dante, Offshore, RastaLabs) и TryHackMe AD-комнаты - готовые среды без необходимости разворачивать инфраструктуру локально.
Почему защита AD не работает без понимания атак: взгляд Red Team
Active Directory - технология с 25-летней историей. Открытый LDAP для всех доменных пользователей, транзитивные trust-отношения, RC4 как fallback-шифрование - всё это было нормой в 2000 году. Сегодня это поверхность атаки.
Microsoft последовательно закрывает вектора: EPA для LDAP channel binding, AES-only Kerberos, Windows Server 2025 с обязательной подписью SMB. Но миграция занимает годы: в реальных средах я до сих пор встречаю Windows Server 2012 R2 контроллеры, SMB Signing Disabled и сервисные учётки с паролями, не менявшимися с 2016 года.
Тренд 2025 года - смещение фокуса на AD CS и coercion-техники. Если раньше основной путь к DA шёл через Kerberoasting + credential reuse, то сейчас цепочка «PetitPotam → relay на CA (ESC8) → сертификат DC → DCSync через PKINIT» работает быстрее и оставляет меньше артефактов в классических SIEM-правилах.
Что делать прямо сейчас:
Запустите PingCastle на своём домене - бесплатно, за 5 минут получите карту рисков.
Проверьте, отключены ли LLMNR и NBT-NS через GPO.
Ревизуйте SPN-учётки: сколько из них имеют пароли старше 1 года?
Проверьте AD CS:
certipy-ad find -u user@domain.local -p pass -dc-ip -vulnerable -stdout
покажет уязвимые шаблоны.
Если хотя бы один пункт выявит проблему - значит, полноценный пентест Active Directory вашей инфраструктуре необходим. И чем раньше, тем дешевле.
Вопрос к читателям
В последних engagement-ах я всё чаще вижу, что классический Kerberoasting через
GetUserSPNs.py -request
с RC4-тикетами блокируется AES-only политиками Kerberos. При этом
Rubeus kerberoast /tgtdeleg
позволяет обойти ограничение, запросив AES-тикет через TGT delegation trick. Какой подход вы используете на engagement-ах, где DC настроен на
msDS-SupportedEncryptionTypes ('https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919')
только с AES128/AES256? Работает ли у вас связка
Rubeus kerberoast /enctype:aes256 /tgtdeleg /outfile:hashes.txt
+ Hashcat
-m 19700
для AES-тикетов, и какова реальная скорость перебора на вашем железе по сравнению с RC4 (
-m 13100
)?
В большинстве внутренних пентестов путь от учётной записи рядового пользователя до Domain Admin занимает от 4 до 48 часов. Не потому что инфраструктура «дырявая» - а потому что Active Directory проектировалась для удобства администрирования, а не для противодействия атакующему с валидным доменным аккаунтом. Один забытый SPN на сервисной учётке с паролем
Summer2024!
, одна кривая ACL, выданная три года назад «на время миграции» - и граф BloodHound рисует прямую линию к KRBTGT. У меня рекорд - 22 минуты от первого LDAP-запроса до хеша
krbtgt
. Не хвастаюсь - просто показываю, насколько типичная корпоративная AD беззащитна перед тем, кто знает, куда смотреть. Эта статья - карта всех этапов такого пути.
Навигация по статье и кластеру
#Этап атакиПодробный разбор1Разведка и перечисление доменаПентест Active Directory: полный гайд от разведки до Domain Admin в 2025 (https://forum.antichat.xyz/threads/592603/)2Построение графа атак через BloodHoundBloodHound Active Directory: разведка домена, построение графа атак и эксплуатация ACL (https://forum.antichat.xyz/threads/592606/)3ACL-атаки и эскалация через делегированиеPrivilege Escalation в Active Directory: ACL-атаки, делегирование и цепочки от GenericAll до DCSync (https://forum.antichat.xyz/threads/592729/)4Pass-the-Hash и lateral movementPass-the-Hash атака Active Directory: от NTLM-хеша до Domain Admin через lateral movement (https://forum.antichat.xyz/threads/592631/)5DCSync, Golden Ticket, Silver TicketАтаки на контроллер домена Active Directory: DCSync, Golden Ticket и Silver Ticket на практике (https://forum.antichat.xyz/threads/592652/)6Атаки на AD CS (ESC1–ESC13)AD CS атаки эскалация привилегий: практический гайд по ESC1–ESC13 с Certipy (https://forum.antichat.xyz/threads/592685/)7Харденинг и защитные мерыХарденинг Active Directory: LAPS, LLMNR и NBT-NS - три меры против 80% внутренних атак (https://forum.antichat.xyz/threads/592656/)
Ниже - обзор каждого этапа с ключевыми техниками, инструментами и практическими ориентирами. Каждая секция ссылается на детальный spoke-материал, где техника разобрана на уровне конкретных команд с флагами и артефактов в логах.
Разведка Active Directory: от первого пакета до полной карты домена (https://forum.antichat.xyz/threads/592603/)
Разведка - этап, на котором формируется 80% успеха пентеста. Имея только доменную учётку уровня
Domain Users
, атакующий через стандартные LDAP-запросы получает доступ к чудовищному объёму информации: полный список пользователей и их атрибутов, все группы и вложенные членства, компьютеры с версиями ОС, объекты GPO, ACL на OU, доверительные отношения и FSMO-роли. Это не уязвимость - это штатное поведение LDAP в Active Directory. Microsoft так задумала, и мы этим пользуемся.
Что собираем и чем
Первые минуты после получения доступа к домену выглядят так:
Определение контроллеров домена - DNS-запрос
_ldap._tcp.dc._msdcs.
отдаёт все DC, их IP и приоритеты. Альтернативно -
nslookup -type=SRV _kerberos._tcp.
.
Перечисление пользователей и SPN -
ldapdomaindump
или
ldapsearch
выгружают пользователей с атрибутом
servicePrincipalName
(маркер для Kerberoasting),
userAccountControl
(флаг
DONT_REQ_PREAUTH
для AS-REP Roasting) и поле
description
. Про description - отдельная песня: администраторы туда пароли записывают чаще, чем хотелось бы верить.
Сканирование портов контроллера - порты 53 (DNS), 88 (Kerberos), 135 (RPC), 389/636 (LDAP/LDAPS), 445 (SMB), 3268/3269 (GC) определяют доступные протоколы и attack surface.
nmap -sV
на этих портах покажет версии сервисов.
Анонимный SMB -
smbclient -L // -N
покажет, доступны ли шары
SYSVOL
,
NETLOGON
или кастомные шары без аутентификации. В
SYSVOL
нередко валяются скрипты групповых политик с паролями в открытом виде.
Когда включать BloodHound
После базового перечисления - запускаем SharpHound (коллектор данных для BloodHound). Он собирает сессии, членства в группах, ACL, делегирование и trust-отношения через LDAP и Windows API. BloodHound строит граф атакующих путей - и на нём визуально видно: какой пользователь через какую цепочку прав может достичь Domain Admin.
На реальных проектах именно этот граф становится главным аргументом в отчёте. Типичная находка: учётная запись мониторинговой службы состоит в группе
IT-Admins
, у которой есть
GenericAll
на OU с доменными администраторами - и эта цепочка строилась годами, по кирпичику, «временно».
Подробный разбор инструментов разведки с конкретными командами и флагами - в гайде: Пентест Active Directory: полный гайд от разведки до Domain Admin в 2025 (https://forum.antichat.xyz/threads/592603/). Построение графа атак и кастомные Cypher-запросы разобраны в материале BloodHound Active Directory: разведка домена, построение графа атак и эксплуатация ACL (https://forum.antichat.xyz/threads/592606/).
https://forum.antichat.xyz/attachments/4951812/1777153913797.png
Чеклист: минимальная разведка AD
Получить список DC через DNS SRV
Выгрузить всех пользователей с атрибутами через LDAP
Определить учётки с SPN (для Kerberoasting)
Определить учётки с
DONT_REQ_PREAUTH
(для AS-REP Roasting)
Проверить анонимный доступ к SMB-шарам
Запустить SharpHound и загрузить данные в BloodHound
Проверить trust-отношения между доменами и лесами
Первоначальный доступ: LLMNR Poisoning, Responder и захват хешей NTLM
В сценарии grey box (самый частый формат пентеста AD) учётная запись уже есть. Но в black box или при Red Team-кампании первый доменный аккаунт нужно добыть. Классический вектор - отравление широковещательных протоколов разрешения имён.
Как работает атака
Когда Windows-машина не может разрешить имя через DNS, она шлёт широковещательный запрос по LLMNR (UDP 5355) и NBT-NS (UDP 137). Атакующий с Responder в том же сегменте отвечает раньше легитимного хоста - и жертва отправляет ему свой NTLMv2-хеш. Техника маппится на MITRE ATT&CK T1557.001 (LLMNR/NBT-NS Poisoning and SMB Relay).
Полученные хеши можно:
Брутфорсить офлайн через Hashcat (
-m 5600
для NTLMv2) - при слабом пароле результат за минуты.
Relay-ить на хосты с отключённым SMB Signing через
ntlmrelayx.py
из Impacket. Если relay направить на LDAP контроллера домена - можно создать машинный аккаунт или провести атаку Shadow Credentials.
По данным RedTeam Pentesting (2025), коэрция (authentication coercion) через RPC-функции - логический следующий шаг после получения первого доменного аккаунта. В отличие от LLMNR poisoning, coercion позволяет целенаправленно заставить конкретный хост аутентифицироваться на машину атакующего, что открывает путь к RBCD и S4U2Self abuse.
Что детектирует SOC
Responder генерирует характерный сетевой трафик: ответы на LLMNR/NBT-NS с IP атакующего. Правила в SIEM на «новый responder в сегменте» - тривиальны. Но на практике мониторинг этих протоколов отсутствует в большинстве инфраструктур. Просто никто не смотрит.
О защитных мерах - отключение LLMNR/NBT-NS через GPO и настройка LAPS для ротации локальных паролей - разобрано в материале Харденинг Active Directory: LAPS, LLMNR и NBT-NS - три меры против 80% внутренних атак (https://forum.antichat.xyz/threads/592656/).
https://forum.antichat.xyz/attachments/4951812/1777154062143.png
Kerberoasting и AS-REP Roasting: атаки на домен Windows через Kerberos (https://forum.antichat.xyz/threads/592619/)
Kerberos - основной протокол аутентификации в Active Directory, и именно его механика порождает два наиболее массово эксплуатируемых вектора: Kerberoasting и AS-REP Roasting.
Kerberoasting атака (https://forum.antichat.xyz/threads/592619/)
Любой аутентифицированный пользователь домена может запросить у KDC сервисный тикет (TGS) для любого аккаунта с
servicePrincipalName
. Тикет зашифрован хешем пароля этой сервисной учётки - его можно вытащить и брутфорсить офлайн. Ни один журнал не зафиксирует сам факт перебора; в логах DC появится только событие
4769
(запрос TGS) с типом шифрования
0x17
(RC4-HMAC),
0x11
(AES128) или
0x12
(AES256). При массовых запросах от одного пользователя - это индикатор Kerberoasting. RC4-запросы от современных клиентов - самый яркий сигнал, потому что легитимные клиенты используют AES. Для AES-тикетов детект строится на аномальном количестве TGS_REQ к разным SPN от одного аккаунта.
Инструменты:
GetUserSPNs.py
из Impacket,
Invoke-Kerberoast
из PowerView, Rubeus с параметром
kerberoast
.
AS-REP Roasting
Если у учётной записи отключена Kerberos pre-authentication (флаг
DONT_REQ_PREAUTH
в
userAccountControl
), атакующий может запросить AS-REP без знания пароля. Ответ KDC содержит часть, зашифрованную хешем пароля пользователя - перебирается в Hashcat (
-m 18200
).
Практический takeaway
ПараметрKerberoastingAS-REP RoastingТребуется доменная учёткаДаНет (достаточно знать имя)Целевые аккаунтыС SPNС
DONT_REQ_PREAUTH
Event ID на DC4769 (enc type 0x17 = RC4, 0x11 = AES128, 0x12 = AES256; для AES детект по аномальному объёму TGS_REQ)4768Hashcat mode
-m 13100
(RC4),
-m 19600
(AES128),
-m 19700
(AES256)
-m 18200
(RC4),
-m 19800
(AES128),
-m 19900
(AES256)Типичный результат30-60% сервисных учёток ломаются за часыВстречается реже, но пароли обычно слабее
Если нашли десятки SPN-учёток - приоритизируйте те, что входят в привилегированные группы (смотрим через BloodHound). Нет смысла жечь GPU на учётку, которая ведёт в тупик.
Повышение привилегий Active Directory: ACL-атаки и делегирование Kerberos
После получения первых учётных данных начинается самый творческий этап - privilege escalation. Каждый домен уникален, и пути повышения зависят от конкретных ошибок конфигурации, накопленных за годы. Тут шаблоны не работают - работает внимательность.
ACL-атаки: когда права выданы не тем
Active Directory хранит Access Control Lists на каждый объект: пользователя, группу, OU, GPO. Типичные опасные права:
GenericAll - полный контроль над объектом. На пользователя = сброс пароля. На группу = добавление себя в неё. На компьютер = настройка RBCD.
GenericWrite - запись произвольных атрибутов. Позволяет установить SPN (для Kerberoasting привилегированного аккаунта) или модифицировать
msDS-KeyCredentialLink
(Shadow Credentials).
WriteDACL - право изменять сам ACL объекта. Атакующий выдаёт себе
GenericAll
и дальше - как выше.
ForceChangePassword - сброс пароля без знания текущего.
BloodHound автоматически маркирует эти рёбра в графе. Но кастомные Cypher-запросы помогают найти неочевидные цепочки: например, пользователь A имеет
WriteDACL
на группу B, члены которой имеют
GenericAll
на OU с Domain Admins. Такие цепочки из трёх-четырёх звеньев - самое вкусное.
Делегирование Kerberos: три вида, три вектора
Unconstrained Delegation - машина хранит TGT всех аутентифицирующихся пользователей. Если через коэрцию (PetitPotam, PrinterBug) заставить DC аутентифицироваться на такую машину - его TGT попадёт в память. Дальше - DCSync.
Constrained Delegation - ограничена конкретным сервисом, но через S4U2Proxy + альтернативный сервис (alt-service) можно выйти за рамки.
Resource-Based Constrained Delegation (RBCD) - атакующий, контролирующий машинный аккаунт, настраивает
msDS-AllowedToActOnBehalfOfOtherIdentity
на целевом хосте (если есть
GenericWrite
) и запрашивает тикет для имперсонации администратора.
Все эти техники с пошаговыми цепочками и реальными примерами от GenericAll до DCSync разобраны в отдельном материале: Privilege Escalation в Active Directory: ACL-атаки, делегирование и цепочки от GenericAll до DCSync (https://forum.antichat.xyz/threads/592729/).
Pass-the-Hash и lateral movement: перемещение по сети без знания паролей
Получив NTLM-хеш доменного пользователя (из дампа LSASS через Mimikatz или из SAM через
reg save
), атакующий аутентифицируется на другие хосты без расшифровки пароля. Это Pass-the-Hash - одна из фундаментальных техник lateral movement в Active Directory.
Инструменты lateral movement (https://forum.antichat.xyz/threads/592631/)
ИнструментПротоколОсобенн ость
psexec.py
(Impacket)SMBСоздаёт сервис на целевой машине, шумный (Event ID 7045)
wmiexec.py
(Impacket)WMI/DCOMНе создаёт сервис, тише для EDR
smbexec.py
(Impacket)SMBВременный сервис на каждую команду (Event ID 7045), характерный
%COMSPEC% /Q /c
с редиректом в named pipeNetExec (наследник CrackMapExec)SMB/WinRM/LDAPМассовое выполнение команд, spray-проверка учёток
evil-winrm
WinRM (HTTP/5985)Интерактивная PowerShell-сессия, загрузка файлов
В 2025 году вместо устаревшего CrackMapExec берите NetExec (
nxc
) - он активно поддерживается сообществом и умеет больше: модули для LDAP-перечисления, проверки LAPS-паролей, автоматического Kerberoasting. CrackMapExec, по сути, мёртв.
Что видит защитник
Pass-the-Hash оставляет характерный след: событие
4624
с Logon Type 3 (Network) и типом аутентификации NTLM (не Kerberos). Массовые
4624
от одного аккаунта на множестве хостов за короткий промежуток - прямой индикатор lateral movement. EDR-решения (CrowdStrike, Defender for Endpoint) также детектируют обращения к LSASS.
Разбор каждого этапа с конкретными примерами - в гайде: Pass-the-Hash атака Active Directory: от NTLM-хеша до Domain Admin через lateral movement (https://forum.antichat.xyz/threads/592631/).
Атаки на контроллер домена: DCSync, Golden Ticket и Silver Ticket
Когда путь к привилегированному аккаунту пройден - извлекаем секреты из базы Active Directory (NTDS.dit) и закрепляемся в домене.
DCSync атака
DCSync эмулирует поведение контроллера домена, запрашивающего репликацию через MS-DRSR. Аккаунт атакующего должен иметь права
Replicating Directory Changes
и
Replicating Directory Changes All
- они есть у Domain Admins, Enterprise Admins и самих DC по умолчанию. Команда
secretsdump.py -just-dc /@
из Impacket выгружает все хеши NTLM, включая хеш
krbtgt
- ключ к Golden Ticket.
На стороне SOC DCSync порождает событие
4662
с обращением к
1131f6aa-9c07-11d1-f79f-00c04fc2dcd2
(GUID для DS-Replication-Get-Changes). Один из самых надёжных индикаторов - если у вас его нет в SIEM, добавьте прямо сейчас.
Golden Ticket
Имея хеш
krbtgt
, атакующий генерирует TGT для любого пользователя домена с произвольным временем жизни и произвольными группами привилегий. Golden Ticket переживает смену паролей всех пользователей - пока не будет дважды сброшен пароль
krbtgt
(в корректном порядке с интервалом, превышающим MaxTicketAge). На практике мало кто это делает правильно.
Silver Ticket
В отличие от Golden Ticket, Silver Ticket не обращается к KDC - он генерируется локально с хешем машинного аккаунта целевого сервиса. Менее заметен, но ограничен конкретным сервисом (CIFS, HTTP, MSSQLSvc).
Практический разбор всех трёх техник с примерами Impacket и Mimikatz - в материале: Атаки на контроллер домена Active Directory: DCSync, Golden Ticket и Silver Ticket на практике (https://forum.antichat.xyz/threads/592652/).
AD CS атаки: эскалация привилегий через службы сертификатов
Active Directory Certificate Services (AD CS) - одна из самых недооценённых поверхностей атаки в корпоративных доменах. Если в инфраструктуре развёрнут Enterprise CA, атакующий может получить сертификат, позволяющий аутентифицироваться как Domain Admin - и всё это без единого обращения к DC за Kerberos-тикетом. Красота.
Классификация ESC-уязвимостей (https://forum.antichat.xyz/threads/592685/)
SpecterOps систематизировали атаки на AD CS в виде классов ESC (Escalation Scenario). Наиболее критичные:
ESC1 - шаблон сертификата позволяет указать произвольный SAN (Subject Alternative Name). Атакующий запрашивает сертификат с SAN
Administrator@domain.com
и получает аутентификационный сертификат Domain Admin. Просто так.
ESC8 - Web Enrollment endpoint AD CS доступен по HTTP без принудительного HTTPS. Позволяет relay NTLM-аутентификацию на CA и получить сертификат от имени жертвы.
ESC11 - аналогичен ESC8, но relay через RPC вместо HTTP.
Для обнаружения и эксплуатации - Certipy. Он автоматически перечисляет шаблоны, определяет уязвимые конфигурации и выполняет запросы сертификатов.
Связь с коэрцией: по данным RedTeam Pentesting (2025), ESC8 и ESC11 - ключевые relay-цели при authentication coercion. Атакующий через PetitPotam (CVE-2021-36942, CVSS 7.5) принуждает DC аутентифицироваться, relay-ит сессию на CA и получает сертификат от имени DC. Дальше - DCSync через PKINIT.
Полный практический гайд, по каждому классу ESC с командами Certipy: AD CS атаки эскалация привилегий: практический гайд по ESC1–ESC13 с Certipy (https://forum.antichat.xyz/threads/592685/).
Coercion-техники 2025: PetitPotam, PrinterBug и обход новых митигаций
Authentication coercion - принуждение Windows-хоста аутентифицироваться на машину атакующего - остаётся одним из самых мощных векторов в пентесте Active Directory. По данным RedTeam Pentesting (блог от июня 2025), coercion с любым низкопривилегированным доменным аккаунтом обычно позволяет получить полный административный доступ практически к произвольным хостам и серверам Windows.
📚 Часть контента скрыта. Этот материал доступен участникам сообщества с рангом One Level или выше (https://forum.antichat.xyz/threads/560728/)
Получить доступ просто — достаточно проявить активность на форуме
У каждой из этих уязвимостей рабочие PoC в публичном доступе. На реальных engagement-ах проверяйте их первыми - они дают быстрый путь к DC.
AD Pentest инструменты: арсенал Red Team оператора в 2025 году
Инструментарий для пентеста Active Directory стабилизировался вокруг нескольких проектов. Ниже - карта по этапам kill chain:
Разведка и перечисление (https://forum.antichat.xyz/threads/592603/)
BloodHound CE + SharpHound - построение графа атак. SharpHound собирает данные через LDAP и Windows API; BloodHound CE (Neo4j для графовой БД, PostgreSQL для метаданных) визуализирует пути. Без этого инструмента пентест AD - как хирургия вслепую.
ldapdomaindump - выгрузка AD-объектов через LDAP в HTML/JSON. Быстрое перечисление без GUI
enum4linux-ng - перечисление через SMB/RPC: пользователи, группы, шары, политика паролей
PingCastle - сканер здоровья AD. Генерирует отчёт с оценкой рисков - отлично ложится в отчёт клиенту
Эксплуатация и lateral movement
Impacket - набор Python-скриптов для работы с Windows-протоколами:
secretsdump.py
(DCSync, SAM dump),
psexec.py
/
wmiexec.py
(remote execution),
GetUserSPNs.py
(Kerberoasting),
ntlmrelayx.py
(relay). Рабочая лошадка каждого пентеста.
NetExec (nxc) - замена CrackMapExec. Массовое выполнение команд, проверка учёток, автоматизация spray-атак
Rubeus - C#-инструмент для атак на Kerberos: AS-REP Roasting, Kerberoasting, S4U abuse, Pass-the-Ticket, Overpass-the-Hash
Certipy - перечисление и эксплуатация AD CS (ESC1–ESC13)
Responder - отравление LLMNR/NBT-NS и захват NTLMv2-хешей
Пост-эксплуатация
Mimikatz - извлечение кредов из памяти (LSASS), генерация Golden/Silver Ticket, DCSync
Hashcat - офлайн-перебор хешей (NTLMv2:
-m 5600
, NTLM:
-m 1000
, Kerberoast:
-m 13100
, AS-REP:
-m 18200
)
Минимальный пайплайн - от начала до проверки наличия пути к DA:
Bash:
# 1. Перечисление SPN-учёток (Kerberoasting)
GetUserSPNs.py -request -dc-ip
10.0
.0.1 domain.local/user:Password1
# 2. Сбор данных для BloodHound (SharpHound из Linux)
bloodhound-python -c All -d domain.local -u user -p Password1 -ns
10.0
.0.1
# 3. Массовая проверка: где текущий юзер - локальный админ
nxc smb
10.0
.0.0/24 -u user -p Password1 --local-auth
Лабораторная среда для отработки атак на Active Directory
Без лабораторной среды осваивать атаки на AD - как учиться плавать по книжке. Утонешь на первом же реальном проекте.
GOAD (Game of Active Directory)
Проект Orange Cyberdefense, разворачивается через Vagrant + Ansible. Несколько доменов с trust-отношениями, предустановленные misconfiguration (Kerberoasting, RBCD, AD CS, LLMNR), уязвимые SPN-учётки и GPO. Идеален для отработки полного kill chain. Я начинал именно с него - рекомендую.
Требования: 16+ ГБ RAM, VirtualBox или VMware, ~60 ГБ дискового пространства.
Самописный стенд
Минимальный набор: Windows Server 2019/2022 (DC) + 1-2 Windows 10/11 (workstations) + Kali Linux. Поднимается за час:
Install-WindowsFeature AD-Domain-Services; Install-ADDSForest
, создание OU, пользователей с SPN, намеренные misconfiguration (Unconstrained Delegation на одном хосте, слабый пароль на SPN-учётке, шаблон AD CS с ESC1). Зато потом можно ломать сколько угодно и в любом порядке.
Онлайн-площадки
HackTheBox Pro Labs (Dante, Offshore, RastaLabs) и TryHackMe AD-комнаты - готовые среды без необходимости разворачивать инфраструктуру локально.
Почему защита AD не работает без понимания атак: взгляд Red Team
Active Directory - технология с 25-летней историей. Открытый LDAP для всех доменных пользователей, транзитивные trust-отношения, RC4 как fallback-шифрование - всё это было нормой в 2000 году. Сегодня это поверхность атаки.
Microsoft последовательно закрывает вектора: EPA для LDAP channel binding, AES-only Kerberos, Windows Server 2025 с обязательной подписью SMB. Но миграция занимает годы: в реальных средах я до сих пор встречаю Windows Server 2012 R2 контроллеры, SMB Signing Disabled и сервисные учётки с паролями, не менявшимися с 2016 года.
Тренд 2025 года - смещение фокуса на AD CS и coercion-техники. Если раньше основной путь к DA шёл через Kerberoasting + credential reuse, то сейчас цепочка «PetitPotam → relay на CA (ESC8) → сертификат DC → DCSync через PKINIT» работает быстрее и оставляет меньше артефактов в классических SIEM-правилах.
Что делать прямо сейчас:
Запустите PingCastle на своём домене - бесплатно, за 5 минут получите карту рисков.
Проверьте, отключены ли LLMNR и NBT-NS через GPO.
Ревизуйте SPN-учётки: сколько из них имеют пароли старше 1 года?
Проверьте AD CS:
certipy-ad find -u user@domain.local -p pass -dc-ip -vulnerable -stdout
покажет уязвимые шаблоны.
Если хотя бы один пункт выявит проблему - значит, полноценный пентест Active Directory вашей инфраструктуре необходим. И чем раньше, тем дешевле.
Вопрос к читателям
В последних engagement-ах я всё чаще вижу, что классический Kerberoasting через
GetUserSPNs.py -request
с RC4-тикетами блокируется AES-only политиками Kerberos. При этом
Rubeus kerberoast /tgtdeleg
позволяет обойти ограничение, запросив AES-тикет через TGT delegation trick. Какой подход вы используете на engagement-ах, где DC настроен на
msDS-SupportedEncryptionTypes ('https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919')
только с AES128/AES256? Работает ли у вас связка
Rubeus kerberoast /enctype:aes256 /tgtdeleg /outfile:hashes.txt
+ Hashcat
-m 19700
для AES-тикетов, и какова реальная скорость перебора на вашем железе по сравнению с RC4 (
-m 13100
)?