diff --git a/src/windows-hardening/active-directory-methodology/ad-certificates.md b/src/windows-hardening/active-directory-methodology/ad-certificates.md index ae9022b71..c8c66c1c0 100644 --- a/src/windows-hardening/active-directory-methodology/ad-certificates.md +++ b/src/windows-hardening/active-directory-methodology/ad-certificates.md @@ -19,7 +19,7 @@ ### Special Considerations -- Les **Subject Alternative Names (SANs)** étendent l'applicabilité d'un certificat à plusieurs identités, crucial pour les serveurs avec plusieurs domaines. Des processus d'émission sécurisés sont vitaux pour éviter les risques d'imitation par des attaquants manipulant la spécification SAN. +- Les **Subject Alternative Names (SANs)** étendent l'applicabilité d'un certificat à plusieurs identités, crucial pour les serveurs avec plusieurs domaines. Des processus d'émission sécurisés sont essentiels pour éviter les risques d'imitation par des attaquants manipulant la spécification SAN. ### Certificate Authorities (CAs) in Active Directory (AD) @@ -39,7 +39,7 @@ AD CS reconnaît les certificats CA dans une forêt AD à travers des conteneurs ### Certificate Templates -Définis dans AD, ces modèles décrivent les paramètres et les autorisations pour l'émission de certificats, y compris les EKUs autorisés et les droits d'inscription ou de modification, critiques pour gérer l'accès aux services de certificats. +Définis dans AD, ces modèles décrivent les paramètres et les autorisations pour l'émission de certificats, y compris les EKUs autorisés et les droits d'inscription ou de modification, critiques pour la gestion de l'accès aux services de certificats. ## Certificate Enrollment @@ -95,7 +95,7 @@ est central pour établir la confiance pour l'authentification par certificat. ### Authentification Secure Channel (Schannel) -Schannel facilite des connexions TLS/SSL sécurisées, où lors d'une poignée de main, le client présente un certificat qui, s'il est validé avec succès, autorise l'accès. La correspondance d'un certificat à un compte AD peut impliquer la fonction **S4U2Self** de Kerberos ou le **Subject Alternative Name (SAN)** du certificat, parmi d'autres méthodes. +Schannel facilite les connexions TLS/SSL sécurisées, où, lors d'une poignée de main, le client présente un certificat qui, s'il est validé avec succès, autorise l'accès. La correspondance d'un certificat à un compte AD peut impliquer la fonction **S4U2Self** de Kerberos ou le **Subject Alternative Name (SAN)** du certificat, parmi d'autres méthodes. ### Énumération des Services de Certificat AD @@ -108,16 +108,52 @@ Certify.exe cas # Identify vulnerable certificate templates with Certify Certify.exe find /vulnerable -# Use Certipy for enumeration and identifying vulnerable templates -certipy find -vulnerable -u john@corp.local -p Passw0rd -dc-ip 172.16.126.128 +# Use Certipy (>=4.0) for enumeration and identifying vulnerable templates +certipy find -vulnerable -dc-only -u john@corp.local -p Passw0rd -target dc.corp.local + +# Request a certificate over the web enrollment interface (new in Certipy 4.x) +certipy req -web -target ca.corp.local -template WebServer -upn john@corp.local -dns www.corp.local # Enumerate Enterprise CAs and certificate templates with certutil certutil.exe -TCAInfo certutil -v -dstemplate ``` +--- + +## Vulnérabilités récentes & mises à jour de sécurité (2022-2025) + +| Année | ID / Nom | Impact | Points clés | +|-------|----------|--------|-------------| +| 2022 | **CVE-2022-26923** – “Certifried” / ESC6 | *Escalade de privilèges* en usurpant des certificats de compte machine lors de PKINIT. | Le correctif est inclus dans les mises à jour de sécurité du **10 mai 2022**. Des contrôles d'audit et de mappage strict ont été introduits via **KB5014754** ; les environnements devraient maintenant être en mode *Full Enforcement*. citeturn2search0 | +| 2023 | **CVE-2023-35350 / 35351** | *Exécution de code à distance* dans les rôles AD CS Web Enrollment (certsrv) et CES. | Les PoCs publics sont limités, mais les composants IIS vulnérables sont souvent exposés en interne. Correctif à partir du **juillet 2023** Patch Tuesday. citeturn3search0 | +| 2024 | **CVE-2024-49019** – “EKUwu” / ESC15 | Les utilisateurs à faibles privilèges avec des droits d'inscription pouvaient remplacer **n'importe quel** EKU ou SAN lors de la génération de CSR, émettant des certificats utilisables pour l'authentification client ou la signature de code, menant à un *compromis de domaine*. | Résolu dans les mises à jour de **avril 2024**. Supprimez “Supply in the request” des modèles et restreignez les autorisations d'inscription. citeturn1search3 | + +### Chronologie de durcissement de Microsoft (KB5014754) + +Microsoft a introduit un déploiement en trois phases (Compatibilité → Audit → Application) pour déplacer l'authentification par certificat Kerberos loin des mappages implicites faibles. À partir du **11 février 2025**, les contrôleurs de domaine passent automatiquement à **Full Enforcement** si la valeur de registre `StrongCertificateBindingEnforcement` n'est pas définie. Les administrateurs devraient : + +1. Appliquer les correctifs à tous les DC et serveurs AD CS (mai 2022 ou ultérieur). +2. Surveiller l'ID d'événement 39/41 pour des mappages faibles pendant la phase *Audit*. +3. Réémettre des certificats d'authentification client avec la nouvelle **extension SID** ou configurer des mappages manuels stricts avant février 2025. citeturn2search0 + +--- + +## Améliorations de détection et de durcissement + +* Le **capteur Defender for Identity AD CS (2023-2024)** affiche désormais des évaluations de posture pour ESC1-ESC8/ESC11 et génère des alertes en temps réel telles que *“Émission de certificat de contrôleur de domaine pour un non-DC”* (ESC8) et *“Prévenir l'inscription de certificat avec des politiques d'application arbitraires”* (ESC15). Assurez-vous que les capteurs sont déployés sur tous les serveurs AD CS pour bénéficier de ces détections. citeturn5search0 +* Désactivez ou restreignez strictement l'option **“Supply in the request”** sur tous les modèles ; préférez des valeurs SAN/EKU explicitement définies. +* Supprimez **Any Purpose** ou **No EKU** des modèles sauf si absolument nécessaire (adresse les scénarios ESC2). +* Exigez **l'approbation du responsable** ou des flux de travail d'Agent d'inscription dédiés pour les modèles sensibles (par exemple, WebServer / CodeSigning). +* Restreignez l'inscription web (`certsrv`) et les points de terminaison CES/NDES aux réseaux de confiance ou derrière une authentification par certificat client. +* Appliquez le chiffrement d'inscription RPC (`certutil –setreg CA\InterfaceFlags +IF_ENFORCEENCRYPTICERTREQ`) pour atténuer l'ESC11. + +--- + ## Références - [https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf](https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf) - [https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does-it-work.html](https://comodosslstore.com/blog/what-is-ssl-tls-client-authentication-how-does-it-work.html) +- [https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16](https://support.microsoft.com/en-us/topic/kb5014754-certificate-based-authentication-changes-on-windows-domain-controllers-ad2c23b0-15d8-4340-a468-4d4f3b188f16) +- [https://advisory.eventussecurity.com/advisory/critical-vulnerability-in-ad-cs-allows-privilege-escalation/](https://advisory.eventussecurity.com/advisory/critical-vulnerability-in-ad-cs-allows-privilege-escalation/) {{#include ../../banners/hacktricks-training.md}}