Ir al contenido

CertiHound - Enumeración de AD CS para BloodHound

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étodoComando
pippip install certihound
Desde fuentegit clone el repositorio, luego pip install -e .
RequerimientoAcceso LDAP al dominio; BloodHound CE v6 para visualizar
Verificarcertihound --help

Recopilación de datos de AD CS

certihound -u analyst -p '***' -d example.local \
  -dc dc01.example.local -o output/
BanderaPropósito
-u, --usernameUsuario de dominio
-p, --passwordContraseña (o hash/Kerberos)
-d, --domainDominio destino
-dc, --domain-controllerDC para consultar sobre LDAP
-o, --outputDirectorio de salida para JSON
--ldapsUsar LDAPS (636)

La salida es un conjunto de archivos JSON que importas en BloodHound CE.

Qué enumera

Objeto de AD CSPor qué importa
Autoridades de certificaciónConfiguración de inscripción/CA, inscripción web
Plantillas de certificadosEl corazón de las configuraciones incorrectas de ESC
Derechos de inscripciónQuién puede solicitar qué plantillas
Banderas de plantillaENROLLEE_SUPPLIES_SUBJECT, EKUs, etc.
Permisos de CADerechos ManageCA / ManageCertificates

Rutas de ataque ESC expuestas

ESCConfiguración incorrecta
ESC1Plantilla permite que el inscriptor suministre sujeto + EKU de autenticación
ESC2Plantilla EKU de cualquier propósito
ESC3Plantillas de agente de inscripción
ESC4ACLs de plantilla vulnerable (plantillas escribibles)
ESC6EDITF_ATTRIBUTESUBJECTALTNAME2 en la CA
ESC7Permisos de CA vulnerable
ESC8Retransmisió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

PasoCómo
1Ejecuta CertiHound para producir JSON
2En BloodHound CE, carga el JSON a través de la interfaz de ingesta/API
3Los nodos/aristas de PKI aparecen en el gráfico
4Consulta 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

HerramientaRol
CertiHoundEnumera AD CS → gráfico de BloodHound CE
CertipyEnumera y abusa ESC1–ESC17
BloodHoundVisualiza/consulta los caminos de ataque
NetExecRecopilación de AD más amplia + retransmisión

Recursos