Abus des ACL/ACE Active Directory
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Aperçu
Les Comptes de Service GĂ©rĂ©s DĂ©lĂ©guĂ©s (dMSAs) sont un tout nouveau type de principal AD introduit avec Windows Server 2025. Ils sont conçus pour remplacer les comptes de service hĂ©ritĂ©s en permettant une "migration" en un clic qui copie automatiquement les Noms de Principal de Service (SPNs), les appartenances Ă des groupes, les paramĂštres de dĂ©lĂ©gation, et mĂȘme les clĂ©s cryptographiques de l'ancien compte vers le nouveau dMSA, offrant aux applications une transition transparente et Ă©liminant le risque de Kerberoasting.
Des chercheurs d'Akamai ont dĂ©couvert qu'un seul attribut â msDSâManagedAccountPrecededByLink
â indique au KDC quel compte hĂ©ritĂ© un dMSA "succĂšde". Si un attaquant peut Ă©crire cet attribut (et basculer msDSâDelegatedMSAState
ââŻ2), le KDC construira avec plaisir un PAC qui hĂ©rite de chaque SID de la victime choisie, permettant ainsi au dMSA d'usurper n'importe quel utilisateur, y compris les Administrateurs de Domaine.
Qu'est-ce qu'un dMSA ?
- Basé sur la technologie gMSA mais stocké comme la nouvelle classe AD
msDSâDelegatedManagedServiceAccount
. - Prend en charge une migration opt-in : appeler
StartâADServiceAccountMigration
lie le dMSA au compte hĂ©ritĂ©, accorde au compte hĂ©ritĂ© un accĂšs en Ă©criture ĂmsDSâGroupMSAMembership
, et basculemsDSâDelegatedMSAState
âŻ=âŻ1. - AprĂšs
CompleteâADServiceAccountMigration
, le compte remplacĂ© est dĂ©sactivĂ© et le dMSA devient pleinement fonctionnel ; tout hĂŽte ayant prĂ©cĂ©demment utilisĂ© le compte hĂ©ritĂ© est automatiquement autorisĂ© Ă rĂ©cupĂ©rer le mot de passe du dMSA. - Lors de l'authentification, le KDC intĂšgre un indice KERBâSUPERSEDEDâBYâUSER afin que les clients Windows 11/24H2 rĂ©essaient de maniĂšre transparente avec le dMSA.
Exigences pour attaquer
- Au moins un DC Windows Server 2025 afin que la classe LDAP dMSA et la logique KDC existent.
- Tous droits de crĂ©ation d'objet ou d'Ă©criture d'attribut sur une OU (n'importe quelle OU) â par exemple,
Create msDSâDelegatedManagedServiceAccount
ou simplement Create All Child Objects. Akamai a trouvé que 91 % des locataires du monde réel accordent de telles permissions "bénignes" sur les OU à des non-administrateurs. - Capacité à exécuter des outils (PowerShell/Rubeus) depuis n'importe quel hÎte joint au domaine pour demander des tickets Kerberos. Aucun contrÎle sur l'utilisateur victime n'est requis ; l'attaque ne touche jamais directement le compte cible.
Ătape par Ă©tape : BadSuccessor*Ă©lĂ©vation de privilĂšges
- Localiser ou créer un dMSA que vous contrÎlez
NewâADServiceAccount Attacker_dMSA `
âDNSHostName ad.lab `
âPath "OU=temp,DC=lab,DC=local"
Parce que vous avez créé l'objet à l'intérieur d'une OU à laquelle vous pouvez écrire, vous possédez automatiquement tous ses attributs.
- Simuler une "migration terminée" en deux écritures LDAP :
- Définir
msDSâManagedAccountPrecededByLink = DN
de n'importe quelle victime (par exemple,CN=Administrator,CN=Users,DC=lab,DC=local
). - Définir
msDSâDelegatedMSAState = 2
(migration terminée).
Des outils comme SetâADComputer, ldapmodify, ou mĂȘme ADSI Edit fonctionnent ; aucun droit d'administrateur de domaine n'est nĂ©cessaire.
- Demander un TGT pour le dMSA â Rubeus prend en charge le drapeau
/dmsa
:
Rubeus.exe asktgs /targetuser:attacker_dmsa$ /service:krbtgt/aka.test /dmsa /opsec /nowrap /ptt /ticket:<Machine TGT>
Le PAC retourné contient maintenant le SID 500 (Administrateur) ainsi que les groupes Administrateurs de Domaine/Administrateurs d'Entreprise.
Rassembler tous les mots de passe des utilisateurs
Lors des migrations lĂ©gitimes, le KDC doit permettre au nouveau dMSA de dĂ©chiffrer les tickets Ă©mis au compte ancien avant la transition. Pour Ă©viter de rompre les sessions en cours, il place Ă la fois les clĂ©s actuelles et les clĂ©s prĂ©cĂ©dentes dans un nouveau blob ASN.1 appelĂ© KERBâDMSAâKEYâPACKAGE
.
Parce que notre fausse migration prĂ©tend que le dMSA succĂšde Ă la victime, le KDC copie fidĂšlement la clĂ© RC4âHMAC de la victime dans la liste des clĂ©s prĂ©cĂ©dentes â mĂȘme si le dMSA n'a jamais eu de mot de passe "prĂ©cĂ©dent". Cette clĂ© RC4 n'est pas salĂ©e, donc elle est effectivement le hachage NT de la victime, donnant Ă l'attaquant la capacitĂ© de craquer hors ligne ou de "passer le hachage".
Ainsi, le lien massif de milliers d'utilisateurs permet à un attaquant de déverser des hachages "à grande échelle", transformant BadSuccessor en un primitive d'élévation de privilÚges et de compromission d'identifiants.
Outils
- https://github.com/akamai/BadSuccessor
- https://github.com/logangoins/SharpSuccessor
- https://github.com/LuemmelSec/Pentest-Tools-Collection/blob/main/tools/ActiveDirectory/BadSuccessor.ps1
Références
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.