CertiHound - Enumeración de AD CS para BloodHound
CertiHound es una herramienta de enumeración de Servicios de Certificados de Active Directory (AD CS) que recopila plantillas de certificados y configuración de CA sobre LDAP y lo exporta en formato compatible con BloodHound CE. Agrega nodos PKI y aristas de abuso de certificados (los caminos de ataque de estilo ESC1–ESC) a tu gráfico de BloodHound, para que la escalada de privilegios basada en certificados aparezca junto a los caminos de ataque de AD clásicos. Llena la brecha entre el abuso de ADCS de Certipy y la visualización de rutas de ataque de BloodHound.
Solo para evaluaciones autorizadas. Enumerar AD CS requiere credenciales de dominio y permiso.
Instalación
| Método | Comando |
|---|
| pip | pip install certihound |
| Desde fuente | git clone el repositorio, luego pip install -e . |
| Requerimiento | Acceso LDAP al dominio; BloodHound CE v6 para visualizar |
| Verificar | certihound --help |
Recopilación de datos de AD CS
certihound -u analyst -p '***' -d example.local \
-dc dc01.example.local -o output/
| Bandera | Propósito |
|---|
-u, --username | Usuario de dominio |
-p, --password | Contraseña (o hash/Kerberos) |
-d, --domain | Dominio destino |
-dc, --domain-controller | DC para consultar sobre LDAP |
-o, --output | Directorio de salida para JSON |
--ldaps | Usar LDAPS (636) |
La salida es un conjunto de archivos JSON que importas en BloodHound CE.
Qué enumera
| Objeto de AD CS | Por qué importa |
|---|
| Autoridades de certificación | Configuración de inscripción/CA, inscripción web |
| Plantillas de certificados | El corazón de las configuraciones incorrectas de ESC |
| Derechos de inscripción | Quién puede solicitar qué plantillas |
| Banderas de plantilla | ENROLLEE_SUPPLIES_SUBJECT, EKUs, etc. |
| Permisos de CA | Derechos ManageCA / ManageCertificates |
Rutas de ataque ESC expuestas
| ESC | Configuración incorrecta |
|---|
| ESC1 | Plantilla permite que el inscriptor suministre sujeto + EKU de autenticación |
| ESC2 | Plantilla EKU de cualquier propósito |
| ESC3 | Plantillas de agente de inscripción |
| ESC4 | ACLs de plantilla vulnerable (plantillas escribibles) |
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 en la CA |
| ESC7 | Permisos de CA vulnerable |
| ESC8 | Retransmisión NTLM a inscripción web de AD CS |
CertiHound codifica estas como aristas para que BloodHound pueda trazar desde un usuario de bajo privilegio a Administrador de dominio a través de un abuso de certificado.
Importar en BloodHound CE
| Paso | Cómo |
|---|
| 1 | Ejecuta CertiHound para producir JSON |
| 2 | En BloodHound CE, carga el JSON a través de la interfaz de ingesta/API |
| 3 | Los nodos/aristas de PKI aparecen en el gráfico |
| 4 | Consulta caminos a objetivos de alto valor que atraviesan AD CS |
Flujos de trabajo comunes
# Enumerar AD CS y cargar caminos de ataque de certificados en BloodHound CE
certihound -u audit -p '***' -d corp.local -dc dc.corp.local -o adcs/
# → carga adcs/*.json en BloodHound CE, luego consulta
# "ruta más corta a Administradores de dominio" incluyendo aristas de PKI
# Combinar con Certipy para el abuso real una vez que se encuentra una ruta
CertiHound en el conjunto de herramientas de AD CS
| Herramienta | Rol |
|---|
| CertiHound | Enumera AD CS → gráfico de BloodHound CE |
| Certipy | Enumera y abusa ESC1–ESC17 |
| BloodHound | Visualiza/consulta los caminos de ataque |
| NetExec | Recopilación de AD más amplia + retransmisión |
Recursos