E-AZU
AzureHound
Recolector de datos en Go que mapea relaciones de Entra ID y Azure Resource Manager en BloodHound para analizar rutas de ataque.
Sitio oficialVolver al catálogo
RESUMEN
AzureHound (github.com/SpecterOps/AzureHound) es el recolector de datos oficial que alimenta a BloodHound con información de Azure y Entra ID — el equivalente cloud de SharpHound en el mundo on-premise. Escrito en Go, se autentica contra un tenant con una credencial provista (usuario/contraseña, refresh token, JWT, o reutilizando una sesión de `az login`) y recorre las APIs de Microsoft Graph y Azure Resource Manager para enumerar usuarios, grupos, aplicaciones, service principals, dispositivos, roles de directorio, suscripciones y relaciones de management group.
La herramienta se publicó originalmente como BloodHoundAD/AzureHound y hoy se mantiene bajo la organización SpecterOps junto con BloodHound. Una vez importado en BloodHound, el grafo recolectado revela rutas de escalada de privilegios y movimiento lateral que permanecen invisibles al revisar cada objeto de Entra ID por separado — por ejemplo un usuario con pocos privilegios que puede resetear la contraseña de un Application Administrator, que a su vez controla un service principal con permisos Owner sobre una suscripción.
CASOS DE USO
Casos de uso en un engagement
- 01
Mapear asignaciones de roles de Entra ID, membresías de grupos y roles elegibles en PIM para analizar rutas de ataque en BloodHound.
- 02
Descubrir rutas desde un usuario o service principal comprometido hasta Global Administrator o Owner de una suscripción.
- 03
Enumerar app registrations y credenciales de service principals junto con sus permisos de Azure RM asociados.
- 04
Alimentar un grafo de identidad de todo el tenant en BloodHound Community Edition o Enterprise para revisión continua de purple team.
PRIMEROS PASOS
Una vez desplegado BloodHound Community Edition o Enterprise, para recolectar el grafo de identidad de Entra ID y Azure RM de un tenant y analizar rutas de ataque.
- Descarga el binario `azurehound` para tu plataforma desde los releases de GitHub de SpecterOps/AzureHound.
- Autentícate con una credencial provista por el cliente — usuario/contraseña, refresh token, o una sesión existente de `az login`.
- Ejecuta `azurehound list` contra el tenant para recolectar usuarios, grupos, apps, dispositivos, roles y relaciones de RM en un archivo JSON.
- Importa la salida JSON en BloodHound Community Edition o Enterprise y ejecuta las consultas de rutas de ataque incluidas.
azurehound list -u "$AZ_USER" -p "$AZ_PASS" -t "$AZ_TENANT" -o azurehound.jsonANTES DE USARLA
Qué revisar antes de lanzarla
Cada llamada a Graph y Azure RM que hace `azurehound` queda registrada en los logs de inicio de sesión de Entra ID y en el Activity Log de Azure bajo la identidad usada — acuerda con el cliente el volumen esperado antes de una recolección completa del tenant.
El grafo exportado mapea cada ruta de escalada de privilegios del tenant, incluyendo credenciales y relaciones de roles — trata y almacena la salida según las reglas de manejo de datos del engagement, no en una máquina personal.
Usa una credencial acotada y con expiración provista por el cliente en lugar de una cuenta personal o de administrador permanente, y confirma con el cliente si las políticas de Conditional Access o de riesgo marcarán la recolección.