Vulnérabilités AD CS (ESC1 à ESC8) : comment sécuriser votre PKI Microsoft?
Active Directory Certificate Services (AD CS) est souvent le maillon oublié de la sécurité Active Directory. Installée il y a des années, rarement auditée, la PKI Microsoft est pourtant capable de délivrer des certificats qui ouvrent les portes de tout le domaine.
En juin 2021, les chercheurs Will Schroeder et Lee Christensen (SpecterOps) ont publié l’étude Certified Pre-Owned. Elle décrit huit erreurs de configuration, nommées ESC1 à ESC8, qui permettent à un simple utilisateur de devenir administrateur du domaine. Cet article présente ces vulnérabilités AD CS, la façon de les détecter et les mesures pour s’en protéger.
Pourquoi AD CS est une cible de choix
- Un certificat vaut un mot de passe. Active Directory accepte les certificats pour authentifier un utilisateur ou une machine (Kerberos PKINIT, Schannel).
- Il survit au changement de mot de passe. Un certificat volé reste utilisable jusqu’à son expiration ou sa révocation, souvent un an ou plus.
- La CA est un actif critique mal protégé. Une autorité de certification d’entreprise a le même niveau de sensibilité qu’un contrôleur de domaine, mais elle est rarement administrée avec la même rigueur.
Les huit vulnérabilités ESC1 à ESC8 en un coup d’œil
| Code | Où se situe le problème | Risque | Correction principale |
|---|---|---|---|
| ESC1 | Modèle de certificat : le demandeur fournit le nom du sujet, le certificat permet l’authentification et l’inscription est ouverte à tous | Obtenir un certificat au nom d’un administrateur | Désactiver « Fournir dans la demande » ou exiger l’approbation d’un gestionnaire de certificats |
| ESC2 | Modèle avec l’usage « Toutes fins » ou sans usage défini (EKU) | Certificat utilisable pour n’importe quel usage, dont l’authentification | Limiter les EKU au strict nécessaire et restreindre l’inscription |
| ESC3 | Modèle « Agent d’inscription » ouvert à trop d’utilisateurs | Demander des certificats au nom d’autres personnes | Réserver ce modèle aux agents désignés et configurer les restrictions d’agent sur la CA |
| ESC4 | Droits trop larges sur un modèle (écriture, contrôle total) | Reconfigurer le modèle pour le rendre vulnérable | Réserver la modification des modèles aux administrateurs PKI |
| ESC5 | Droits trop larges sur les objets PKI : serveur de la CA, conteneurs PKI dans Active Directory | Compromission de toute la PKI | Traiter ces objets comme des actifs Tier 0 et auditer leurs droits |
| ESC6 | Option EDITF_ATTRIBUTESUBJECTALTNAME2 activée sur la CA | N’importe quel demandeur ajoute l’identité de son choix au certificat | Désactiver l’option et appliquer les mises à jour KB5014754 |
| ESC7 | Rôles « Gérer l’autorité de certification » ou « Gérer les certificats » attribués trop largement | Activer ESC6 ou approuver ses propres demandes | Limiter ces rôles à un petit groupe d’administrateurs |
| ESC8 | Inscription web en HTTP (certsrv, CES) acceptant l’authentification NTLM | Relais NTLM pour obtenir le certificat d’un contrôleur de domaine | Imposer HTTPS avec EPA, désactiver NTLM ou supprimer l’inscription web inutilisée |
Les modèles de certificats : ESC1 à ESC4
La majorité des failles se trouvent dans les modèles de certificats. ESC1 est la plus répandue : un modèle créé pour un usage légitime, par exemple un certificat serveur web, laisse le demandeur choisir l’identité inscrite dans le certificat.
Si ce même modèle autorise l’authentification client et que tous les utilisateurs du domaine peuvent s’y inscrire, n’importe qui peut demander un certificat au nom d’un administrateur. ESC2 et ESC3 reposent sur la même logique, avec des usages trop larges. ESC4 permet de créer ces situations en modifiant un modèle sain.
La CA et l’infrastructure : ESC5 à ESC7
Ces vulnérabilités touchent l’autorité de certification elle-même. Des droits trop larges sur le serveur de la CA, sur ses objets dans Active Directory ou sur ses rôles d’administration donnent le contrôle de toute la PKI.
Pour ESC6, Microsoft a renforcé la correspondance entre certificats et comptes avec la mise à jour KB5014754. Le mode d’application stricte est devenu la norme en février 2025, et le mode de compatibilité a été supprimé en septembre 2025. L’option EDITF_ATTRIBUTESUBJECTALTNAME2 doit tout de même rester désactivée.
Le relais NTLM : ESC8
L’interface d’inscription web d’AD CS accepte par défaut l’authentification NTLM en HTTP. Un attaquant peut forcer un serveur, par exemple un contrôleur de domaine, à s’authentifier auprès de lui, puis relayer cette authentification vers la CA. Il obtient alors un certificat au nom de ce serveur.
La technique PetitPotam, publiée en 2021, a rendu ce scénario très connu. Si l’inscription web n’est pas utilisée, le plus simple est de la désinstaller.
Auditer sa PKI : par où commencer
- Faire l’inventaire. Listez vos autorités de certification et les modèles publiés sur chacune, par exemple avec
certutil -CATemplates. Chaque modèle publié doit avoir un usage connu et un propriétaire. - Utiliser un outil d’audit. PSPKIAudit, publié par SpecterOps avec l’étude, et Locksmith, outil open source, détectent automatiquement la plupart des configurations ESC.
- Vérifier l’option ESC6. La commande
certutil -getreg policy\EditFlagsindique si EDITF_ATTRIBUTESUBJECTALTNAME2 est activée. - Activer la journalisation de la CA. Surveillez notamment les événements 4886 et 4887 (demandes et émissions de certificats), 4899 et 4900 (modification d’un modèle et de ses droits).
Les mesures de protection essentielles
- Traiter la CA comme un actif Tier 0, au même niveau qu’un contrôleur de domaine, avec une Root CA hors ligne.
- Dépublier tous les modèles de certificats inutilisés.
- N’autoriser « Fournir dans la demande » que lorsque c’est indispensable, et l’associer à une approbation manuelle.
- Limiter les usages (EKU) de chaque modèle au strict nécessaire.
- Restreindre les droits d’inscription et de modification sur les modèles et les objets PKI.
- Confier les rôles d’administration de la CA à un petit groupe dédié.
- Désactiver l’option ESC6 avec
certutil -setreg policy\EditFlags -EDITF_ATTRIBUTESUBJECTALTNAME2, puis redémarrer le service de certificats. - Protéger l’inscription web avec HTTPS et EPA, ou la supprimer.
- Appliquer les mises à jour de sécurité des contrôleurs de domaine.
Au-delà d’ESC8
Depuis 2021, la liste s’est allongée : de nouvelles techniques, numérotées ESC9 et suivantes, ont été publiées par la communauté. Un audit ponctuel ne suffit donc pas : la PKI doit être réévaluée régulièrement, comme le reste d’Active Directory.
Sécurisez votre PKI dès sa conception
Notre formation PKI AD CS de 4 jours vous apprend à concevoir, déployer et administrer une PKI Microsoft sécurisée : Root CA hors ligne, modèles de certificats maîtrisés, révocation et enrôlement automatique.


