Saltar al contenido
OPS // KITitspentest.sh

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.

  1. Descarga el binario `azurehound` para tu plataforma desde los releases de GitHub de SpecterOps/AzureHound.
  2. Autentícate con una credencial provista por el cliente — usuario/contraseña, refresh token, o una sesión existente de `az login`.
  3. Ejecuta `azurehound list` contra el tenant para recolectar usuarios, grupos, apps, dispositivos, roles y relaciones de RM en un archivo JSON.
  4. Importa la salida JSON en BloodHound Community Edition o Enterprise y ejecuta las consultas de rutas de ataque incluidas.
azurehound — bash
azurehound list -u "$AZ_USER" -p "$AZ_PASS" -t "$AZ_TENANT" -o azurehound.json

ANTES 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.

SIGUE EXPLORANDO

Ver toda la fase →