Microsoft Learn
msDS-KeyCredentialLinkDéfinition de l'attribut et de son introduction avec Windows Server 2016.
Chemin d'attaque Active Directory · Credentials alternatifs / PKINIT
Shadow Credentials ne consiste ni à voler ni à réinitialiser le mot de passe d'une cible. L'attaque abuse d'un mécanisme légitime de Windows qui permet d'associer du matériel cryptographique à une identité Active Directory : l'attribut msDS-KeyCredentialLink, introduit avec Windows Server 2016, qui peut notamment contenir les clés publiques utilisées dans certains scénarios Windows Hello for Business.
Si une identité dispose des permissions lui permettant de modifier cet attribut sur un utilisateur ou un ordinateur, elle peut y ajouter une Key Credential qu'elle contrôle. Dans un environnement supportant PKINIT, la clé privée correspondante permet ensuite de demander un Ticket Granting Ticket Kerberos en tant que cible, sans que le mot de passe légitime soit connu ni modifié. Le mécanisme perturbe peu l'utilisateur légitime, mais laisse des traces détectables dans Active Directory.
La vraie question
Qui peut écrire msDS-KeyCredentialLink sur vos objets sensibles, et quel actif ces objets permettent-ils d'atteindre ?
Chaque étape dépend de ce que l'environnement autorise réellement. Rien dans cette séquence n'est automatique.
Le point réellement dangereux n'est donc pas uniquement l'existence de msDS-KeyCredentialLink. Le chemin commence avec une relation de contrôle : une ACL, une délégation ou un droit trop large permettant à une identité de modifier le credential d'une autre. C'est exactement la logique développée sur la page parente : une technique isolée n'est pas encore un chemin d'attaque.
Trois propriétés expliquent sa place dans les chemins d'attaque Active Directory.
Le mot de passe de la cible n'est pas réinitialisé. L'utilisateur ou le service peut donc continuer à fonctionner normalement alors qu'un second mécanisme d'authentification a été ajouté.
Une rotation du mot de passe ne retire pas automatiquement la Key Credential ajoutée. La persistance disparaît lorsque la valeur non légitime est supprimée ou rendue inutilisable.
L'impact dépend entièrement de la cible. Ajouter une Key Credential sur un compte peu privilégié n'a pas le même impact que prendre le contrôle d'un compte de service sensible, d'un ordinateur critique ou d'une identité Tier 0.
Plusieurs conditions doivent être réunies, notamment :
La présence d'AD CS peut rendre PKINIT disponible dans de nombreux environnements, mais une PKI vulnérable n'est pas un prérequis de Shadow Credentials, et ESC1 non plus. AD CS et Shadow Credentials sont deux sujets distincts qui se rencontrent autour de la PKI et de l'authentification Kerberos.
Une Shadow Credential est d'abord une attaque de contrôle d'objet Active Directory. Lors d'un audit, il faut donc rechercher les identités capables de modifier msDS-KeyCredentialLink, directement ou par l'intermédiaire de droits plus larges.
Catégories de droits à analyser
Cette liste n'est pas exhaustive : l'analyse doit porter sur les droits effectifs et sur leur héritage.
Le signal principal se trouve dans les journaux des contrôleurs de domaine.
Événement principal
Event ID 5136 — A directory service object was modified
Filtrer en particulier : AttributeLDAPDisplayName = msDS-KeyCredentialLink
L'Event ID 5136 n'est pas automatiquement une preuve de Shadow Credentials, et sa génération suppose que l'audit Active Directory soit correctement configuré.
La prévention vise les relations qui rendent l'écriture possible, pas seulement l'attribut.
Identifier qui possède réellement des droits permettant de modifier msDS-KeyCredentialLink sur les utilisateurs et les ordinateurs.
Supprimer les GenericWrite, GenericAll et WriteProperty non nécessaires, particulièrement sur les comptes privilégiés et les objets sensibles.
Vérifier les usages et les appartenances des groupes ou comptes légitimement autorisés à gérer les Key Credentials, sans supprimer aveuglément des droits nécessaires à Windows Hello for Business ou aux mécanismes de synchronisation.
Contrôler les valeurs présentes sur les comptes sensibles et sur les objets qui ne devraient normalement pas utiliser d'authentification par clé.
Journaliser les changements et distinguer les opérations issues de workflows d'enrôlement connus des modifications inattendues.
Pour prolonger la lecture sur votre propre annuaire, un diagnostic gratuit de sécurité Active Directory est disponible.
Un simple changement de mot de passe n'est pas suffisant. La réponse doit comprendre :
Ces deux niveaux ne se confondent pas : retirer la Shadow Credential ferme la persistance, tandis que corriger l'ACL qui a permis son ajout casse le chemin d'attaque et empêche qu'une autre clé soit écrite demain par la même identité.
Shadow Credentials illustre pourquoi une analyse Active Directory ne peut pas se limiter à rechercher une technique isolée. Notre démarche couvre l'ensemble du chemin, dans le cadre de l'offre Sécurité des identités et Active Directory.
D'autres techniques de la même collection. Elles ne constituent pas des étapes obligatoirement successives : chacune s'insère dans un chemin d'attaque selon ce que l'environnement autorise.
Un autre chemin vers une authentification par certificat, centré sur les modèles de certificats AD CS.
Obtenir un secret attaquable à partir d'un compte de service.
Exploiter l'absence de pré-authentification Kerberos.
Exploiter les droits de réplication pour obtenir les secrets du domaine.
Relayer une authentification héritée vers un autre service.
Ajouter une clé d'authentification à un objet pour s'authentifier comme lui via Kerberos.
Références utilisées pour étayer cette fiche.
Microsoft Learn
msDS-KeyCredentialLinkDéfinition de l'attribut et de son introduction avec Windows Server 2016.
Microsoft Learn
How Windows Hello for Business worksUsage légitime des clés publiques associées aux identités.
Microsoft Learn
Audit Directory Service ChangesPrérequis d'audit pour journaliser les modifications d'objets.
Microsoft Learn
Event 5136 — A directory service object was modifiedChamps de l'événement, dont AttributeLDAPDisplayName et OpCorrelationID.
SpecterOps
Shadow Credentials: Abusing Key Trust Account Mapping for Account TakeoverDescription originale de la technique et des conditions PKINIT.
Elastic Security
Potential Shadow Credentials added to AD ObjectRègle de détection actuelle et faux positifs liés aux mécanismes légitimes.