
Mapeo de rutas de ataque para Active Directory, ADCS, SCCM y MSSQL utilizando datos de BloodHound CE + OpenGraph.
ADPathFinder es una herramienta de mapeo de ataques para pentesters y red teamers. Analiza datos de SharpHound y los unifica con plugins de OpenGraph para descubrir rutas de ataque hacia objetivos de alto valor, como administradores de dominio y controladores de dominio, partiendo de usuarios y equipos con privilegios bajos. MSSQLHound y ConfigManBearPig son compatibles de forma nativa, ampliando la cobertura a AD, ADCS, SCCM y MSSQL.
Ir a: Inicio rápido · Cobertura · Cómo funciona · Informes · Configuración · Contribuidores
| Área | Ejemplos |
|---|---|
| AD principal | Rutas de escalada, delegación, derechos de administrador, BadSuccessor, sesiones de alto valor expuestas |
| Contraseñas | Contraseñas débiles, contraseñas en blanco, reutilización, similitud de nombres de usuario, uso de hash LM, exposición de Kerberoast y AS-REP combinada con contraseñas débiles |
| ADCS | Riesgos de plantillas de certificado y CA estilo ESC |
| MSSQL (datos OpenGraph de MSSQLHound) | Inicios de sesión, servidores vinculados, suplantación, relay y rutas de escalada de privilegios |
| SCCM (datos OpenGraph de ConfigManBearPig) | Rutas de toma de control y relay, puntos de distribución habilitados para PXE y recuperación de directivas desde puntos de administración |
| Entre dominios | Relaciones de confianza, contraseñas compartidas y rutas de escalada entre dominios |
neo4j://localhost:7687.git clone https://github.com/NetSPI/AD-PathFinder.git
cd AD-PathFinder
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
adpathfinder --setup-bloodhound-api
Esto guarda los ajustes de la API de BloodHound CE utilizados para las operaciones de importación y borrado.
adpathfinder --import SharpHound.zip
Se pueden importar varios zips de SharpHound y de plugins OpenGraph en un solo comando:
adpathfinder --import SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip
adpathfinder -i SharpHound.zip MSSQLHound.zip ConfigManBearPig.zip --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile
Utilice únicamente los zips que tenga. El valor de --pwd no es el dominio de AD; es una lista separada por comas de términos de empresa, marca u organización para marcar en contraseñas crackeadas.
adpathfinder --ad
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile
Utilice --unsafe-report solo cuando los informes deban incluir contraseñas en texto claro.
adpathfinder --ad --pwd Contoso,ContosoIT --ntds ntds.txt -p hashcat.potfile --diagnostics
| Etapa | Qué ocurre |
|---|---|
| Ingesta | Fusiona SharpHound y los zips OpenGraph compatibles en un único grafo. Los datos de MSSQLHound y ConfigManBearPig son compatibles directamente |
| Mapeo | Encuentra las rutas más cortas desde usuarios y equipos hasta objetivos de alto valor. Puede configurar el conjunto de relaciones para eliminar relaciones ruidosas como HasSession |
| Agrupación | Agrupa cuentas que comparten una ruta, de modo que las rutas repetidas se notifican como un único hallazgo en lugar de muchos casi duplicados |
| Emparejamiento | Compara los hashes NTDS y los potfiles de hashcat con los datos del grafo para mostrar qué rutas son utilizables durante la evaluación |
| Capa | Notifica hallazgos independientes, como la firma SMB deshabilitada o grupos privilegiados por defecto, y eleva la severidad cuando el mismo host o grupo también se encuentra en una ruta hacia objetivos de alto valor |
| Renderizado | Escribe informes HTML con gráficos de rutas SVG, notas de mitigación, pasos de validación en PowerShell y seguimiento del estado remediado, además de salidas de texto, JSON y diagnósticos |
ADPathFinder lee config.ini desde el directorio de trabajo. Los valores también pueden establecerse con variables de entorno ADPF_*.
Ejecute esto para configurar el acceso a la API de BloodHound CE para importaciones y borrados:
adpathfinder --setup-bloodhound-api
Consulte Configuration en la wiki para ver todas las opciones, ajustes de conexión a Neo4j, permisos de archivos y ejemplos de configuración. Consulte Excluded relationships para filtrar la salida de rutas de ataque.
Los informes se escriben en report_<domain>/, por ejemplo report_training.local/.