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

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 bascule msDS‑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

  1. Au moins un DC Windows Server 2025 afin que la classe LDAP dMSA et la logique KDC existent.
  2. 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.
  3. 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

  1. Localiser ou créer un dMSA que vous contrÎlez
bash
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.

  1. 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.

  1. Demander un TGT pour le dMSA — Rubeus prend en charge le drapeau /dmsa :
bash
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

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