bloodhound-python permite mapear relaciones de Active Directory (usuarios, grupos, permisos, GPOs)

 

https://www.onlinetis.com

bloodhound-python permite mapear relaciones de Active Directory (usuarios, grupos, permisos, GPOs)

bloodhound-python (también conocido como ingestor de Python) es la herramienta oficial de recolección de datos remota para BloodHound. Permite mapear relaciones de Active Directory (usuarios, grupos, permisos, GPOs) desde una máquina Linux sin interactuar directamente con la interfaz gráfica de Windows.

Instalación en Kali Linux

Bash
sudo apt update
sudo apt install bloodhound.py
Nota: Si prefieres la versión más reciente de Python, puedes usar: pip install bloodhound

Comando de Ejecución Básico

Bash
bloodhound-python -u 'Usuario' -p 'Contraseña' -d 'dominio.local' -dc 'dc01.dominio.local' -c All
ParámetroDescripción
-uNombre de usuario de Active Directory
-pContraseña del usuario
-dNombre del dominio FQDN
-dcNombre de host o FQDN del Controlador de Dominio
-c AllMétodo de recolección (obtiene objetos, ACLs, sesiones y grupos)
Sintaxis según el Método de Autenticación

  • Con Hash NTLM (Pass-the-Hash):

    Bash
    bloodhound-python -u 'Usuario' --hashes 'LM:NTLM' -d 'dominio.local' -dc 'dc01.dominio.local' -c All
    
  • Con Ticket Kerberos (.ccache):

    Bash
    export KRB5CCNAME=/path/to/ticket.ccache
    bloodhound-python -k -no-pass -d 'dominio.local' -dc 'dc01.dominio.local' -c All
    
Exportación de Resultados

Al finalizar la ejecución, la herramienta generará varios archivos comprimidos en formato .json (o un .zip único) en tu directorio actual. Estos archivos son los que debes importar en la interfaz visual de BloodHound GUI o BloodHound CE para analizar las rutas de escalada de privilegios.
 
 

El módulo -c (CollectionMethod) y los modificadores de red de bloodhound-python permiten ajustar la profundidad del escaneo para reducir el ruido generado en la red y evadir la detección por parte de un SIEM o EDR.

1. Selección Granular del Método de Recolección (-c)

El uso predeterminado de -c All o -c Default genera un volumen alto de tráfico LDAP y llamadas RPC (como la consulta de sesiones en endpoints). Para evitar activar alertas por comportamiento anómalo de enumeración:

MétodoQué recolectaNivel de Ruido / Detección
GroupMiembros de grupos y estructura de OUs.Muy Bajo (Solo consultas LDAP estándar).
LocalGroupAdministradores locales y Remote Desktop Users.Medio (Requiere conexiones RPC a hosts remotos).
SessionSesiones de usuarios activos en equipos.Alto (Abre puertos RPC/SMB hacia múltiples hosts).
TrustsRelaciones de confianza entre dominios.Mínimo.
ACLPermisos explícitos (DACLs) en objetos de AD.Bajo-Medio (Tráfico LDAP intensivo pero legítimo).
DCNonlyInformación accesible exclusivamente desde el DC.Bajo (No contacta estaciones de trabajo).
  • Ejemplo para evasión (solo consultas LDAP al DC):

    Bash
    bloodhound-python -u 'Usuario' -p 'Pass' -d 'dominio.local' -dc 'dc01.dominio.local' -c DCNonly
    
2. Técnicas de Evasión y Optimización de Red

  • Restringir la recolección de sesiones (--disable-lac / --disable-sechd):
    Evita que la herramienta enumere credenciales almacenadas o administradores locales mediante llamadas RPC ruidosas a cada equipo de la red.

  • Limitación de subredes y rangos:
    En lugar de escanear toda la red, limita el alcance de las consultas RPC especificando subredes concretas o excluyendo sistemas críticos monitoreados.

  • Uso de Kerberos sobre NTLM (-k):
    La autenticación NTLM genera eventos específicos en los registros de auditoría de Windows (Event ID 4624 con tipo de autenticación NTLM). El uso de Kerberos simula el comportamiento nativo del dominio:

    Bash
    export KRB5CCNAME=/path/to/ticket.ccache
    bloodhound-python -k -no-pass -d 'dominio.local' -dc 'dc01.dominio.local' -c Group,Trusts,ACL
    
  • Modo Sigiloso mediante Proxies (SOCKS / Proxychains):
    Si estás dentro de una sesión pivotada (ej. mediante Chisel, Ligolo-ng o Metasploit), puedes enrutar las peticiones LDAP a través de un proxy local evitando conexiones directas desde tu máquina atacante:

    Bash
    proxychains bloodhound-python -u 'Usuario' -p 'Pass' -d 'dominio.local' -dc 'dc01.dominio.local' -c DCNonly
    
  • DNS y LDAPS (Encriptación de tráfico):
    Utilizar LDAP sobre SSL (--use-ldaps o puerto 636) evita que un IDS/IPS inspeccione en texto plano las consultas enviadas al Controlador de Dominio:

    Bash
    bloodhound-python -u 'Usuario' -p 'Pass' -d 'dominio.local' -dc 'dc01.dominio.local' --use-ldaps -c DCNonly
    
Resumen de la estrategia silenciosa:
Para mantener la máxima discreción, la mejor práctica es ejecutar bloodhound-python únicamente contra el Controlador de Dominio usando el método DCNonly y autenticación por Kerberos o LDAPS, evitando hacer peticiones directas de sesión o administración local a las estaciones de trabajo de la red.

https://www.onlinetis.com

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux