Pour simplifier, on peut réduire la cryptographie à clé publique à l'hypothèse que la partie privée de chaque paire de clés n'est connue que de son propriétaire.
Une autorité de certification est responsable de l'identification correcte des utilisateurs, des ordinateurs ou des ressources. Les certificats qu'elle délivre bénéficient donc d'un statut de confiance, car tous les participants supposent que leur clé privée n'est connue que d'elle.
Si un attaquant parvient à prendre connaissance de la clé privée d'une autorité de certification, ou au moins d'effectuer des signatures au moyen de la clé privéeL'intégrité de l'autorité de certification n'est plus garantie.
Voir aussi l'article "Modifications apportées à l'émission de certificats et à l'ouverture de session basée sur des certificats dans Active Directory par le correctif pour Windows Server du 10 mai 2022 (KB5014754)„ .
Les étapes suivantes ne doivent jamais être effectuées dans un environnement de production. La démonstration effectuée ici est la suivante pas Il ne s'agit pas d'un guide sur la manière de pénétrer dans les systèmes informatiques, mais plutôt de mettre en évidence le risque de sécurité afin de pouvoir prendre des contre-mesures.
Pour attaquer l'Active Directory, le mécanisme appelé Smartcard Logon s'impose. Dans ce cas, l'utilisateur se connecte au moyen d'un certificat délivré par une autorité de certification. L'identité de l'utilisateur est représentée dans le certificat "Subject Alternative Name" (SAN) du type "User Principal Name" (UPN).
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

Un contrôleur de domaine qui a vérifié avec succès l'inscription de l'utilisateur ira ensuite chercher le même champ dans Active Directory et délivrera à l'utilisateur qui s'est inscrit un ticket Granting Ticket (TGT) correspondant - y compris les autorisations de cet utilisateur.
Le contrôleur de domaine délègue ici l'identification correcte de l'utilisateur à l'autorité de certification. Elle est responsable de l'attribution effective de l'identité numérique à la personne physique qui se cache derrière.
Il y a aussi une Autorité de certification mal configurée, modèle de certificat ou Interface peut être utilisé abusivement pour délivrer un certificat utilisable pour cette attaque.
Si la clé privée de l'autorité de certification est compromise, les signatures peuvent être falsifiées. Un attaquant serait ainsi en mesure d'usurper n'importe quelle identité dans l'Active Directory, y compris des comptes administratifs.
Le vol des clés privées est empêché par l'utilisation de Modules de sécurité matériels (HSM) sur les autorités de certification. Les HSM sont des dispositifs matériels spéciaux qui permettent, entre autres, l'utilisation d'une clé cryptographique par des participants autorisés (par exemple une autorité de certification), mais qui empêchent la réalisation de copies de la clé.
Même en utilisant des modules de sécurité matériels, il reste un vecteur d'attaque via l'autorité de certification elle-même : Pour que celle-ci puisse communiquer avec le HSM, un middleware mis à disposition par le fabricant du HSM, un Fournisseur de stockage clé (KSP) est installé sur le serveur correspondant. Celui-ci permet aux programmes de s'adresser aux mémoires-clés les plus diverses (p. ex. carte à puce, module Trusted Platform, logiciel, module Hardware Security) via une interface uniforme.
L'autorité de certification fonctionne dans le contexte de sécurité du compte informatique (SYSTEM). Si un attaquant parvient à obtenir des droits administratifs sur une autorité de certification, il peut, à l'aide d'un logiciel approprié, s'adresser directement au PSC et déclencher des signatures.
Pour des raisons de simplification, les moyens par lesquels un attaquant obtient des droits système sur une CA ne sont pas abordés, car ils sont universels pour les serveurs Windows.
Les logiciels correspondants sont disponibles dans les milieux concernés depuis 2017 au plus tard et existent également sous forme de projets open source. La signature de certificats étant un processus technique tout à fait légitime, des outils d'administration tels que le PSCertificateEnrollment module PowerShell ou même Ressources de base de Windows être utilisés dans un tel but.
Le certificat qui en résulte permet ensuite à l'attaquant de se connecter au domaine.

Les autorisations de l'utilisateur impersonnel lui sont alors attribuées (dans l'exemple Enterprise Administrator).

Contre-mesures
Les possibilités suivantes permettent de remédier au problème :
- Supprimer toutes les autorités de certification pour lesquelles l'inscription par carte à puce n'est pas souhaitée de l'objet NTAuthCertificates de la structure globale Active Directory (si aucun autre service n'a besoin du certificat ici). Voir l'article "Modifier l'objet NTAuthCertificates dans Active Directory„ .
- Principes de base : limiter l'utilisation de la clé étendue (Extended Key Usage, EKU) dans les certificats d'autorité de certification.
- Émettre des certificats de contrôleur de domaine qui ne permettent pas l'ouverture de session par carte à puce, lorsque les ouvertures de session par carte à puce ne sont pas souhaitées dans l'entreprise. Voir l'article "Configurer un modèle de certificat pour les contrôleurs de domaine„ .
- forcer les contrôleurs de domaine (ou autres participants) à utiliser un répondeur en ligne (OCSP) et ce avec le bon déterministe combiner pour obtenir un chemin d'audit pour les inscriptions effectuées et empêcher les inscriptions avec des certificats inconnus.
- Interfaces non sécurisées (comme SCEP) et des modèles de certificats qui permettent au demandeur d'indiquer son identité. Module TameMyCerts Policy pour l'autorité de certification Microsoft être limitée efficacement.
Liens complémentaires :
- Principes de base : limiter l'utilisation de la clé étendue (Extended Key Usage, EKU) dans les certificats d'autorité de certification
- Les contrôleurs de domaine ne vérifient pas l'utilisation étendue de la clé lors de la connexion par carte à puce.
- Signer des certificats en contournant l'autorité de certification
- Signer des certificats en contournant l'autorité de certification - uniquement avec les moyens du bord
- Mise en danger de la structure globale d'Active Directory par le drapeau EDITF_ATTRIBUTESUBJECTALTNAME2
- De zéro à Enterprise Administrator grâce au service d'enregistrement des périphériques réseau (NDES) - et ce qui peut être fait à ce sujet
- Principes de base : fournisseur de services cryptographiques (CSP) et fournisseur de stockage de clés (KSP)
- Un module de politique pour les apprivoiser : Présentation du module de politique TameMyCerts pour Microsoft Active Directory Certificate Services
- Principes de base du service d'enregistrement des périphériques réseau (Network Device Enrollment Service, NDES)
Les commentaires sont fermés.