Cheatsheet
  • Introducción
    • 👾Ethical Hacking Cheatsheet
      • 📕Metodología OSSTMM
      • 📘MITRE ATT&CK
      • 🔢Proceso de Pentesting
      • 💻Instalación del entorno
        • 💻Instalación de VMWare
        • 💻Virtualizar Kali Linux
        • 🎨Personalización del entorno
        • 🕷️Máquinas Vulnerables
          • 💣Metasploitable 3
          • 🖖VPLE
          • 🟦Windows 11 Developer
      • 📔Organización y Notas
      • 👜Documentación e informes
        • 👜Documentos iniciales
        • 👜Toma de notas y organización
        • 👜Herramientas de documentación
        • 👜Tipos de informes
        • 👜Componentes de un informe
        • 👜Cómo redactar un hallazgo
        • 👜Consejos y trucos en la realización de informes
        • 👜Caso práctico: Informes
        • 👜CPTS Report
  • Sistemas básicos
    • 🐧Linux
    • 🪟Windows
    • 🔓Puertos y comprobaciones
    • Modos de Red
  • Recopilación de información
    • 🌐Google Hacking
      • 🌐Google Dorks
    • 💻Enumeración
      • 💻Metodología
      • 💻FTP
      • 💻SMB
      • 💻NFS
      • 💻DNS
      • 💻SMTP
      • 💻IMAP/POP3
      • 💻SNMP
      • 💻MySQL
      • 💻MSSQL
      • 💻Oracle TNS
      • 💻IPMI
      • 💻Protocolos de Administración Remota - Linux
      • 💻Protocolos de Administración Remota - Windows
      • 💻Footprinting Lab - Easy
      • 💻Footprinting Lab - Medium
      • 💻Footprinting Lab - Hard
    • 🔎Recopilación de información
      • 🔎Recopilación Pasiva
        • 🔎Subdominios - Pasiva
        • 🔎Identificar Tecnologías
        • 🔎Infraestructura - Pasiva
        • 🔎Fingerprinting
        • 🦭FOCA
      • 💻Recopilación Activa
        • 💻Reconocimiento automatizado
        • 💻Nmap
        • 💻Nmap Scripting Engine
        • 💻Subdominios - Activa
        • 💻Infraestructura - Activa
        • 💻Virtual Hosts
        • 💻Evasión de IDS
        • 💻Escaneo Avanzado
        • 💻Lab - Recopilación
      • 🧠OSINT
        • 🧠Herramientas Genéricas
        • 🧠OSINT a Usernames
        • 🧠OSINT a Teléfonos
        • 🧠OSINT a Emails
        • 🧠OSINT a Dominios
        • 🧠OSINT en Linkedin
        • 🧠OSINT en Instagram
    • 🕸️Fuzzing
      • 🕸️Gobuster
      • 🕸️Ffuf
      • 🕸️Dirsearch
    • 🕸️Crawling
      • 🕸️Web Crawlers
      • 🕸️Herramientas de Crawling
    • ☁️Hacking en CMS
    • 🍏Hacking en MacOS
  • Análisis de vulnerabilidades
    • 👾Análisis de vulnerabilidades
    • 👽Herramientas de Análisis
      • ⚙️Nmap: Análisis
      • ⚙️Nuclei
      • ⚙️OpenVAS
      • ⚙️Nessus
  • Explotación de vulnerabilidades
    • 💣Explotación en Hosts
      • 🔥Acceso básico
      • 🐚Shells y Payloads
        • 🐚Bind Shells
        • 🐚Reverse Shells
        • 🐚Payloads
        • 💣Metasploit Payloads
        • 🐚Tratamiento de la TTY
        • 🐚Webshells
          • 🐚Laudanum
          • 🐚PHP Webshell
        • 💣Lab de explotación
      • 🔎Buscador de exploits
      • 🔑Password Attacks
        • 🔑Cracking de Contraseñas
        • 🔑Hashcat
        • 🔑Bruteforce de Servicios
        • 🔑Login Bruteforce
          • 🔑Ataques de fuerza bruta
          • 🔑Ataques de diccionario
          • 🔑Ataques Híbridos
          • 🔑Bruteforce con Hydra
          • 🔑Autenticación HTTP básica
          • 🔑Formularios de Login
          • 🔑Medusa
        • 🔑Password Mutations
        • 🔑Contraseñas por defecto
        • 🔑Windows Attacks
          • 🔑Atacando a SAM
          • 🔑Atacando a LSASS
          • 🔑Atacando Active Directory
          • 🔑Credential Hunting - Windows
        • 🔑Linux Attacks
          • 🔑Credential Hunting - Linux
          • 🔑Passwd, Shadow y Opasswd
        • 🔑Archivos Protegidos
        • 🔑Archivos Comprimidos
        • 🔑Políticas de Contraseñas
        • 🔑Administradores de Contraseñas
        • 🔑Labs de contraseñas
          • 🔑Lab de contraseñas - Easy
          • 🔑Lab de contraseñas - Medium
          • 🔑Lab de contraseñas - Hard
      • 👾Atacando Servicios Comunes
        • 👾Ataques a FTP
        • 👾Ataques a SMB
        • 👾Ataques a Bases de Datos
        • 👾Ataques a RDP
        • 👾Ataques a DNS
        • 👾Ataques a Emails
        • 👾Labs - Common Services
          • 👾Lab - Easy
          • 👾Lab - Medium
          • 👾Lab - Hard
      • 🔁Pivoting, Tunelling y Port Forwarding
        • 🔁Redes en Pivoting
        • 🔁Port Forwarding
        • 🔁Remote/Reverse Port Forwarding con SSH
        • 🔁Meterpreter Tunneling & Port Forwarding
        • 🔁Pivoting con Socat
        • 🔁SSH para Windows: plink.exe
        • 🔁Pivoting SSH con Sshuttle
        • 🔁Web Server Pivoting con Rpivot
        • 🔁Port Forwarding con Windows Netsh
        • 🔁Túnel DNS con Dnscat2
        • 🔁SOCKS5 Tunneling con Chisel
        • 🔁ICMP Tunneling con SOCKS
        • 🔁RDP y SOCKS Tunneling con SocksOverRDP
        • 🔁Pivoting: Skills Assessment
        • 🔁Port Forwarding dinámico
      • 🧨Metasploit
        • 🧨Metasploit - Atacando Windows
      • ☠️Msfvenom
      • 🐍Hydra
      • ❌BruteX
      • 🔄File Transfers
      • 💿Buffer Overflow en Linux
    • 💣Explotación en Web
      • ⬆️Ataques de subida de archivos
        • ⬆️Ausencia de validación
        • ⬆️Explotación de subida
        • ⬆️Client-Side Validation
        • ⬆️Filtros de Blacklist
        • ⬆️Filtros de Whitelist
        • ⬆️Filtros de tipo
        • ⬆️Cargas de archivos limitadas
        • ⬆️Otros ataques de carga
        • ⬆️Prevención en carga de archivos
        • ⬆️File Uploads - Skills Assessment
      • 🕸️Ataques Web Modernos
        • 🕸️HTTP Verb Tampering
          • 🕸️Bypass de autenticación
          • 🕸️Bypass de Filtros
          • 🕸️Prevención de HTML Verb Tampering
        • 🕸️IDOR
          • 🕸️Identificación de IDOR
          • 🕸️Enumeración de IDOR
          • 🕸️Bypass de referencias codificadas
          • 🕸️IDOR en APIs Inseguras
          • 🕸️Encadenar vulnerabilidades IDOR
          • 🕸️Prevención de IDOR
        • 🕸️XML External Entity (XXE)
          • 🕸️Local File Disclosure
          • 🕸️Advanced File Disclosure
          • 🕸️Blind Data Exfiltration
          • 🕸️Prevención de XXE
        • 🕸️Ataques Web - Skills Assesment
      • 💣Ataques a Aplicaciones Web
        • 🔎Descubrimiento y enumeración de aplicaciones
        • 💣Ataques a CMS
          • 🔎Wordpress - Enumeración
          • 💣Wordpress - Ataques
          • 🔎Joomla - Enumeración
          • 💣Joomla - Ataques
          • 🔎Drupal - Enumeración
          • 💣Drupal - Ataques
        • 💣Ataques a Servlet Containers
          • 🔎Tomcat - Enumeración
          • 💣Tomcat - Ataques
          • 🔎Jenkins - Enumeración
          • 💣Jenkins - Ataques
        • 💣Ataques a herramientas de monitorización
          • 🔎Splunk - Enumeración
          • 💣Splunk - Ataques
          • 💣PTRG Network Monitor
        • 💣Ataques a aplicaciones varias
          • 💣osTicket
          • 🔎GitLab - Enumeración
          • 💣GitLab - Ataques
          • 💣Tomcat CGI
          • 💣Ataques a CGI - Shellshock
          • 💣Ataques a Aplicaciones de Cliente Pesado
          • 💣Vulnerabilidades Web en Aplicaciones de Cliente Pesado
          • 🔎ColdFusion - Enumeración
          • 💣Coldfusion - Ataques
          • 🔎IIS Tilde - Enumeración
          • 💣Asignación masiva de archivos web
          • 💣Ataques a aplicaciones que se conectan a servicios
          • 💣Otras aplicaciones notables
          • 🛡️Hardening de Aplicaciones
        • 💣Labs - Ataques a Aplicaciones
          • 💣Lab - Ataques a Aplicaciones I
          • 💣Lab - Ataques a Aplicaciones II
          • 💣Lab - Ataques a Aplicaciones III
      • 💉SQL Injection
        • 💉SQLMap
          • 💉Introducción a SQLMap
          • 💉SQLMap - HTTP Request
          • 💉SQLMap - Manejo de errores
          • 💉SQLMap - Ajuste del ataque
          • 💉SQLMap - Enumeración Básica
          • 💉SQLMap - Enumeración Avanzada
          • 💉SQLMap - Bypass de protección web
          • 💉SQLMap - Explotación de S.O.
          • 💉SQLMap - Skills Assessment
      • 💉Command Injection
        • 💉Detección
        • 💉Inyectando comandos
        • 💉Otros operadores de inyección
        • 💉Identificación de filtros
        • 💉Bypass de filtros de espacios
        • 💉Bypass de otros caracteres en Blacklist
        • 💉Bypass de comandos en Blacklist
        • 💉Ofuscación de comandos avanzada
        • 💉Herramientas de Ofuscación de comandos
        • 💉Prevención de Command Injection
        • 💉Command Injection - Skills Assesment
      • 📁Local File Inclusion
      • 💿Cross Site Scripting (XSS)
        • 💿XSS Stored
        • 💿XSS Reflected
        • 💿XSS DOM-Based
        • 💿XSS Discovery
        • 💿XSS Payloads
        • 💿Defacing con XSS
        • 💿Phising con XSS
        • 💿Session Hijacking
        • 💿Prevención de XSS
        • 💿XSS - Skills Assessment
      • 💻API Hacking
      • 🔻DDoS Attack
      • 💡Web Proxies
        • 💡Configuración
        • 💡Interceptando solicitudes
        • 💡Interceptar respuestas
        • 💡Modificación automática
        • 💡Solicitudes repetidas
        • 💡Encoding / Decoding
        • 💡Herramientas de Proxy
        • 💡Burp Intruder
        • 💡Zap Fuzzer
        • 💡Burp Scanner
        • 💡Zap Scanner
        • 💡Extensiones
        • 💡Proxy: Skills Assestment
      • 👨‍🍳Cyberchef
    • 💣Explotación en Redes
      • 😎Man in the middle
      • 🎣Phising
        • 🎣Herramientas de Phising
        • 🎣Seeker y Ngrok
        • 🎣Social Engineering Toolkit
        • 🎣Gophish
      • 🤼Ingeniería Social
      • 🔐Bruteforce a RRSS
      • 🌐Hacking WiFi
        • 🌐Conceptos básicos
        • 🌐Redes Básicas
        • 🌐Sniffing
        • 🌐Deauth
        • 🌐Redes ocultas
        • 🌐WEP Cracking
          • 🌐Ataque a WEP
          • 🌐Fake Autentication
          • 🌐Packet Injection
            • 🌐ARP Request Replay
            • 🌐Chop Chop
            • 🌐Fragmentation
          • 🌐Redes SKA
        • 🌐WPS Cracking
        • 🌐WPA/WPA2 Cracking
        • 🌐Wifite
        • 🌐Evil Portal
        • 🌐Rainbow Table
        • 🌐WPA/WPA2 Enterprise
    • 📕Diccionarios Custom
      • 📕Username Anarchy
      • 📕Cupp
      • 📕Crunch
      • 📕CeWL
      • 📕DyMerge
  • Post Explotación
    • 💻Post Explotación
      • 👾Meterpreter
      • 🐈Mimikatz
      • 🔐LaZagne
      • 📩Procdump y lsass.exe
      • ↔️Movimientos Laterales
        • ↔️Pass the Hash (PtH)
        • ↔️Pass the Ticket (PtT) - Windows
        • ↔️Pass the Ticket (PtT) - Linux
      • 🚪Backdoor en binarios
      • ☠️Command & Control (C2)
        • ☠️Sliver
      • 🦅Covenant
      • ⚔️Koadic
      • 💾Bases de datos
        • 💾MySQL
        • 💾PostgreSQL
      • ⚙️P.E. Avanzada
      • ⚕️Forense Digital
        • ⚕️Análisis de Malware
        • ⚕️Análisis de Memoria
      • 🧼Borrado de evidencias
    • 🌋Escalada de Privilegios
      • 🐧Escalada de privilegios en Linux
        • 🐧Enumeración del entorno
        • 🐧Enumeración de servicios y componentes internos
        • 🐧Búsqueda de credenciales en Linux
        • 🐧Abuso de PATH
        • 🐧Abuso de comodines
        • 🐧Shells restringidos
        • 🐧Permisos especiales
        • 🐧Abuso de permisos Sudo
        • 🐧Grupos privilegiados
        • 🐧Capabilities
        • 🐧Servicios vulnerables
        • 🐧Abuso de Cron
        • 🐧Contenedores
        • 🐧Docker
        • 🐧Kubernetes
        • 🐧Logrotate
        • 🐧Técnicas varias
        • 🐧Exploits del Kernel - Linux
        • 🐧Bibliotecas compartidas
        • 🐧Secuestro de objetos compartidos
        • 🐧Secuestro de librería de Python
        • 🐧Sudo Zeroday
        • 🐧Polkit Zeroday
        • 🐧Dirty Pipe
        • 🐧Netfilter
        • 🐧Hardening en Linux - Privesc
        • 🐧Escalada en Linux - Skills Assesment
        • ⬆️Linpeas
      • 📘Escalada de privilegios en Windows
        • 📘Herramientas útiles
        • 📘Conciencia situacional
        • 📘Enumeración inicial en Windows
        • 📘Enumeración inicial
        • 📘Comunicación con Procesos
        • 📘Privilegios de Usuario en Windows
          • 📘SeImpersonate y SeAssignPrimaryToken
          • 📘SeDebugPrivilege
          • 📘SeTakeOwnershipPrivilege
        • 📘Privilegios de Grupo en Windows
          • 📘Grupos Integrados en Windows
          • 📘Lectores de Registros de Eventos
          • 📘DnsAdmins
          • 📘Hyper-V Administrators
          • 📘Print Operators
          • 📘Server Operators
        • 📘Atacando el Sistema Operativo Windows
          • 📘User Account Control (UAC)
          • 📘Permisos débiles
          • 📘Exploits del Kernel - Windows
          • 📘Servicios vulnerables en Windows
          • 📘DLL Injection
        • 📘Robo de credenciales en Windows
          • 📘Búsqueda de credenciales en Windows
          • 📘Otros archivos interesantes en Windows
          • 📘Otros robos de credenciales en Windows
        • 📘Entornos restrictivos - Citrix
        • 📘Varias técnicas de escalada en Windows
          • 📘Interacción con usuarios
          • 📘Pillaging
          • 📘Técnicas varias
        • 📘Sistemas Operativos Obsoletos
          • 📘Sistemas operativos heredados
          • 📘Windows Server
          • 📘Windows Desktop
        • 📘Hardening en Windows
        • 📘Escalada de privilegios en Windows: Skills Assessment
          • 📘Escenario 1
          • 📘Escenario 2
      • 🔴GTFOBins
  • Evasión de defensas
    • 🛡️Detección y evasión de defensas
      • 🛡️Load Balancing Detector
      • 🛡️Evasión de WAFs
      • 🛡️Evasión de Antivirus
      • 🛡️Herramientas de Evasión
  • Active Directory
    • ☁️Active Directory
      • ☁️Enumeración en AD
        • ☁️AD: Enumeración inicial del dominio
        • ☁️AD: Enumeración de controles de seguridad
        • ☁️AD: Enumeración con credenciales: desde Linux
        • 👁️PowerView
        • ☁️AD: Enumeración con credenciales: desde Windows
        • ☁️AD: Enumeración nativa en Windows
      • ☄️Sniffing desde el Foothold
        • ☄️LLMNR/NBT-NS Poisoning - Desde Linux
        • ☄️LLMNR/NBT-NS Poisoning - Desde Windows
      • 🔫Password Spraying
        • 🔫AD: Políticas de contraseñas
        • 🔫AD: Crear lista de usuarios
        • 🔫Password Spraying Interno - Desde Linux
        • 🔫Password Spraying Interno - Desde Windows
      • 🐺Kerberos
        • ⚔️Hacking en Kerberos
        • ⚔️Kerberoasting desde Linux
        • ⚔️Kerberoasting desde Windows
        • 🗝️Acceso a Credenciales
        • 🗝️Volcado de LSASS y SAM
        • 🗝️Credenciales cacheadas
        • 🗝️Pass the Hash
        • 🪙Token Impersonation
        • 🎟️ASK-TGT
        • 🎫Golden y Silver Tickets
        • 🐺Kerberos "Double Hop"
      • 🦸‍♂️ACLs - Access Control Lists
        • 🦸‍♂️ACLs Vulnerables
        • 🦸‍♂️Enumeración de ACLs
        • 🦸‍♂️Tácticas de abuso de ACLs
      • 🔄DCSync
      • ⬆️Acceso Privilegiado
      • ❤️‍🩹Vulnerabilidades en AD
      • ⚙️Malas configuraciones en AD
      • 🤝Relaciones de confianza
        • 🤝Ataque de confianza de dominio - Desde Windows
        • 🤝Ataque de confianza de dominio - Desde Linux
        • 🤝Abuso de confianza entre bosques - Desde Windows
        • 🤝Abuso de confianza entre bosques - Desde Linux
      • ☁️Vulnerable AD
      • ⬇️SAM
      • 🔐LDAP
        • 🔐Atacando LDAP
      • 🔐NTDS
      • 🔐NTLM/SMB Relay
      • 🩸BloodHound
      • 🛡️Hardening en AD
      • 💻Técnicas adicionales de auditoría en AD
      • 💻AD - Skills Assessment I
      • 💻AD - Skills Assessment II
  • Hacking en entornos reales
    • 🏛️Enterprise Hacking
      • 🏛️Escenario y KickOff
      • 🏛️Enterprise Hacking Checklist
      • 🏛️Pruebas externas
        • 🏛️Recopilación de Información Externa
        • 🏛️Enumeración y explotación de servicios
        • 🏛️Enumeración y explotación web
        • 🏛️Acceso inicial
      • 🏛️Pruebas internas
        • 🏛️Persistencia Post-Explotación
        • 🏛️Recopilación de Información Interna
        • 🏛️Explotación y escalada de privilegios
      • 🏛️Movimiento lateral y escalada de privilegios
        • 🏛️Movimiento lateral
        • 🏛️Comprometiendo Active Directory
        • 🏛️Post Explotación en Active Directory
        • 🏛️Cierre del pentesting
    • ☁️AWS - Amazon Web Services
    • ⚔️Hacking en AWS
  • Anonimato y privacidad
    • 👹Anonimato y Privacidad
      • 🔒VPN
      • 🔒Proxy
      • 🔒Red TOR
      • 🔒Zero Knowledge Services
  • Machine Learning en Hacking
    • 🧠Machine Learning
      • 🧠Batea
      • 💀Pesidious
  • Hardware Hacking
    • 🐬Flipper Zero
      • 🐬Introducción
        • 🐬qFlipper
        • 🐬Instalar qFlipper en Kali Linux
        • 🐬Recuperación de Firmware
      • 📻Sub-GHz
        • 📻Lectura de señales
        • 📻Lectura de señales RAW
        • 📻Añadir nuevos controles remotos
        • 📻Frecuencias
      • ♒RFID de 125 kHz
        • ♒Lectura de tarjetas RFID
        • ♒Añadir tarjetas RFID manualmente
        • ♒Escritura de datos en tarjetas T5577
        • ♒Microchips para animales
      • 💳NFC
        • 💳Lectura de tarjetas NFC
        • 💳Extracción de claves con MFKey32
        • 💳Desbloqueo de tarjetas con contraseñas
        • 💳Escritura de datos en Magic Cards
        • 💳Añadir nuevas tarjetas NFC
      • 🔴Infrarrojos
        • 🔴Lectura de señales infrarrojas
        • 🔴Controles remotos universales
      • 👿Bad USB
        • 👿Script básico de Youtube
        • 👿Bruteforce de Pins
        • 👿RatLocker
      • 🎨Custom Firmwares
      • 🛜GPIO y Módulos
        • 🛜Marauder Firmware
        • 🛜Escaneo de Redes Wifi
        • 🛜Wifi Password Cracking
        • 🛜Evil Portal
      • 🔘iButton
        • 🔘Lectura de llaves iButton
        • 🔘Agregar llaves iButton manualmente
        • 🔘Escritura de datos en llaves iButton
  • Writeups
    • 🟢Hack the Box
      • 🟠Backfire
      • 🟠Blurry
      • 🟠Hospital
      • 🟠Zipping
      • 🟢Analytics
      • 🟢Bizness
      • 🟢Boardlight
      • 🟢Broker
      • 🟢Chemistry
      • 🟢Codify
      • 🟢CozyHosting
      • 🟢Devvortex
      • 🟢GreenHorn
      • 🟢LinkVortex
      • 🟢PermX
    • 🐋Dockerlabs
      • 🟠Inclusion
      • 🟠Veneno
      • 🟢Hedgehog
      • 🟢Library
      • 🟢Move
      • 🟢Walking CMS
    • 🌩️TryHackMe
      • 🟠Attracktive Directory
    • 🌐Over The Wire
      • 🌐Bandit
      • 🌐Natas
Con tecnología de GitBook
En esta página

¿Te fue útil?

Última actualización hace 1 mes

¿Te fue útil?

Es la herramienta más utilizada para enumeración en Active Directory en Kali Linux.

En 2025 la instalación de Bloodhound por apt y neo4j por separado da errores en la ingesta de los archivos zip, por lo que es recomendable seguir los pasos de instalación de la Community Edition, que automatiza el proceso de levantar los contenedores con Docker.

Instalación

Instalar y iniciar Docker

Una vez añadido el usuario al grupo docker debemos reiniciar el equipo para que se apliquen los cambios.

Este paso es NECESARIO para evitar errores posteriores

Descargar Bloodhound CE

Menú de ayuda

Instalar Bloodhound CE

Eso nos genera un contenedor de Docker en la url: http://127.0.0.1:8080/ui/login

Posibles errores

Daemon not running

Este error ocurre porque el usuario no está en el grupo docker o se ejecuta sin sudo:

Debemos añadir nuestro usuario al grupo Docker y reiniciar el equipo:

Ver contenedores de Docker activos

Como vemos nos genera automáticamente 3 contenedores automáticamente:

  • BloodHound

  • Neo4j

  • PostgreSQL

Detener contenedores de Docker

Podemos detener todos los contenedores de Docker con:

Y volver a levantarlos con:

Acceder a la GUI

Nos logueamos con las credenciales por defecto que nos proporciona en la terminal al ejecutar ./bloodhound-cli install:

Deberemos cambiar la contraseña al acceder por primera vez

Descargar colectores

Podemos descargar Sharhound directamente desde la GUI:

O podemos descargar la última release del repositorio (recomendable):

Sharphound

Necesitamos enviar el archivo SharpHound.ps1 o SharpHound.exe a la máquina windows objetivo

  • Copiar el raw del repositorio y pegarlo en un documento de texto (o enviar desde Kali a la máquina objetivo)

  • Guardarlo como SharpHound.ps1

Esto es para que no lo detecte el antivirus al enviarlo desde otra máquina. Otra opción sería desactivar el Windows Defender y enviar el archivo desde nuestro Kali Linux.

SharpHound.ps1

SharpHound.exe

ZIP generado

Envío de ZIP a nuestro Kali Linux

Si estamos conectados por RDP de la siguiente manera al host objetivo podemos enviarlo fácilmente con un copy a nuestra carpeta local /home/kali/Escritorio/hack-tools/WINDOWS:

Podemos escribir net use para ver la ubicación de nuestra unidad redirigida:

Y con el siguiente comando lo copiamos a nuestro directorio local:

También lo podríamos copiar con Control+C y pegarlo en Network \\tsclient\home desde el explorador de archivos si estamos conectados por RDP:

Ahora lo tendremos en nuestra ruta: /home/kali/Escritorio/hack-tools/WINDOWS

Bloodhound-python

Para evitar tener que enviar SharpHound a la máquina Windows, y enviar el zip generado de vuelta a Kali Linux para analizarlo, podemos usar bloodhound-python. directamente desde Kali Linux con credenciales válidas de un usuario AD.

Para ello debemos primero configurar el archivo /etc/resolv.conf de la siguiente manera donde spookysec.local es nuestro objetivo:

Con credenciales

Ahora ya podemos ejecutar bloodhound-python de la siguiente manera. Usaremos las credenciales del usuario comprometido backup:

Con hash (Pass the Hash)

Podemos usar bloodhound-python solamente con el hash, sin la contraseña en plano.

IMPORTANTE: poner : antes del hash o no funcionará!

Importar zip en Bloodhound CE

En Administration hacemos click en Upload Files:

Explorar los gráficos

En el partado Explore podemos empezar a buscar usuarios y grupos de Active Directory.

Inbound / Outbound Object Control

En BloodHound, los conceptos de Inbound Object Control y Outbound Object Control se refieren a quién controla a quién a nivel de objetos en el Active Directory. Son clave para entender relaciones de control entre usuarios, grupos, equipos, OUs, etc.

🟢 Inbound Object Control

“¿Quién puede controlar este objeto?”

Este valor en un nodo (como un usuario o un grupo) te muestra todos los objetos que tienen control sobre él, como vemos en la siguiente imagen:

🔵 Outbound Object Control

“¿Qué objetos controla este nodo?”

Este valor en un nodo te muestra todos los objetos que el nodo actual puede controlar. Por ejemplo:

Member of

Esta opción nos muestra los grupos a los que pertenece un usuario o grupo determinado:

Local Admin Privileges

Esta opción nos muestra los privilegios de administración local de distintos usuarios y grupos:

Pathfinding

Podemos ver la ruta entre varios usuarios o un usuario y un grupo:

FIltros por tipo de nodo

Tenemos los siguientes tipos de nodos que podemos filtrar en BloodHound:

Por ejemplo para filtrar los grupos de administradores podemos escribir:

Cypher Querys

Podemos usar distintas querys de búsqueda en formato cypher para filtrar información de los gráficos. Al igual que SQL existe para MSSQL y otras bases de datos relacionales tradicionales, Cypher es un lenguaje diseñado para bases de datos gráficas con su propia sintaxis.

Cypher básico

Al crear consultas Cypher, es importante tener en cuenta que, por lo general, se intenta crear una ruta utilizando las relaciones disponibles. Veamos una consulta muy básica:

Analicemos cómo se construye esta consulta Cypher. Al consultar la base de datos, iniciamos nuestras consultas con la palabra clave MATCH. La cláusula MATCH permite especificar un patrón en la base de datos.

  • Cada variable en la consulta Cypher se define utilizando un identificador, en este caso, los siguientes: B, A y R. El identificador de las variables puede ser cualquier cosa que desee, incluidas palabras completas, como "grupos".

  • Los nodos se especifican mediante paréntesis, por lo que B y R son nodos en la consulta de ejemplo anterior.

  • Las relaciones se especifican mediante corchetes, por lo que en este ejemplo, A representa relaciones.

A continuación podemos ver algunas querys de búsqueda interesantes:

✅ 1. Ruta más corta hacia los Domain Admins

🔍 2. Rutas con control total a Domain Admins

🧠 3. Usuarios con relaciones AdminTo sobre máquinas donde hay sesiones de Domain Admins

🕵️ 4. Cuentas que pueden comprometer un DA por ACLs (GPOs, WriteDACL, etc.)

🧰 5. Computadoras donde DA ha iniciado sesión (para token impersonation)

Puedes usar esta información con Rubeus, Mimikatz, o token impersonation vía Invoke-TokenManipulation.

🔐 6. Usuarios con privilegios de AddMember sobre grupos sensibles

Esto indica que u puede añadirse a Domain Admins directamente, si tiene privilegios de escritura.

🚨 7. Usuarios que pueden hacer Kerberoasting y no son Domain Admins

💣 8. Usuarios con permisos de delegación (constrained y unconstrained)

🔁 Reutiliza como función Cypher en BloodHound CE

Puedes guardar estas queries en BloodHound CE como queries personalizadas desde la GUI en la sección Custom Queries. Dale nombre y descripción para uso repetido en operaciones.


Ejemplos prácticos

En las siguientes secciones verás varios ejemplos prácticos aplicando el análisis con Bloodhound a distintas máquinas:

sudo apt install docker.io docker-compose -y
sudo systemctl start docker
sudo systemctl enable docker

# Añadir usuario al grupo docker
sudo usermod -aG docker $USER
sudo reboot
mkdir Bloodhound && cd Bloodhound
wget https://github.com/SpecterOps/bloodhound-cli/releases/latest/download/bloodhound-cli-linux-amd64.tar.gz
tar -xvzf bloodhound-cli-linux-amd64.tar.gz
./bloodhound-cli
./bloodhound-cli -h

BloodHound CLI is a command line interface for managing BloodHound and
associated containers and services. Commands are grouped by their use.

Usage:
  bloodhound-cli [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  config      Display or adjust the configuration
  containers  Manage BloodHound containers with subcommands
  help        Help about any command
  install     Builds containers and performs first-time setup of BloodHound
  logs        Fetch logs for BloodHound services
  resetpwd    Reset the admin password
  running     Print a list of running BloodHound services
  uninstall   Remove all BloodHound containers, images, and volume data
  update      Update the BloodHound container images if an update is available
  version     Displays BloodHound CLI's version information
./bloodhound-cli install

[+] Checking the status of Docker and the Compose plugin...
[+] The `compose` plugin is not installed, so we'll try the deprecated `docker-compose` script
[+] The `docker-compose` script is installed, so we'll use that instead
[+] Starting BloodHound environment installation
[*] A production YAML file already exists in the current directory. Do you want to overwrite it and continue with the install? [y/n]: y
[+] Downloading the production YAML file from https://raw.githubusercontent.com/SpecterOps/BloodHound_CLI/refs/heads/main/docker-compose.yml...
[*] A development YAML file already exists in the current directory. Do you want to overwrite it and continue with the install? [y/n]: y
[+] Downloading the development YAML file from https://raw.githubusercontent.com/SpecterOps/BloodHound_CLI/refs/heads/main/docker-compose.dev.yml...
Pulling app-db     ... 
Pulling graph-db   ... 
Pulling bloodhound ... 
Pulling app-db     ... pulling from library/postgres
Pulling bloodhound ... pulling from specterops/bloodhound
Pulling app-db     ... digest: sha256:cef2d22004db69e3d6...
Pulling app-db     ... status: image is up to date for p...
Pulling app-db     ... done
Pulling graph-db   ... pulling from library/neo4j
Pulling bloodhound ... digest: sha256:35cc75157164b495eb...
Pulling bloodhound ... status: image is up to date for s...
Pulling bloodhound ... done
Pulling graph-db   ... digest: sha256:2f9e1e52b4e2925970...
Pulling graph-db   ... status: image is up to date for n...
Pulling graph-db   ... done
Starting windows_graph-db_1 ... 
windows_app-db_1 is up-to-date
Starting windows_graph-db_1 ... done
Creating windows_bloodhound_1 ... 
Creating windows_bloodhound_1 ... done
[+] BloodHound is ready to go!
[+] You can log in as `admin` with this password: VVfPBqpXFn9MNpsJyMYt9U4q*******
[+] You can get your admin password by running: bloodhound-cli config get default_password
[+] You can access the BloodHound UI at: http://127.0.0.1:8080/ui/login
./bloodhound-cli install
[+] Checking the status of Docker and the Compose plugin...
2025/04/25 19:07:01 Docker is installed on this system, but the daemon is not running
sudo usermod -aG docker $USER
sudo reboot
./bloodhound-cli install
[+] Checking the status of Docker and the Compose plugin...
[+] The `compose` plugin is not installed, so we'll try the deprecated `docker-compose` script
[+] The `docker-compose` script is installed, so we'll use that instead
[+] Starting BloodHound environment installation
<---SNIP--->
docker ps

CONTAINER ID   IMAGE                          COMMAND                  CREATED        STATUS                  PORTS                                                          NAMES
2e483ce2a900   specterops/bloodhound:latest   "/bloodhound -config…"   1 minute ago   Up 1 minute             127.0.0.1:8080->8080/tcp                                       windows_bloodhound_1
f13d5f34978d   neo4j:4.4                      "tini -g -- /startup…"   1 minute ago   Up 1 minute (healthy)   127.0.0.1:7474->7474/tcp, 7473/tcp, 127.0.0.1:7687->7687/tcp   windows_graph-db_1
4d169c98e5b1   postgres:16                    "docker-entrypoint.s…"   1 minute ago   Up 1 minute (healthy)   5432/tcp                                                       windows_app-db_1
./bloodhound-cli containers

Manage BloodHound containers and services with subcommands.

Usage:
  bloodhound-cli containers [command]

Available Commands:
  build       Builds the BloodHound containers (only needed for updates)
  down        Bring down all BloodHound services and remove the containers
  restart     Restart all stopped and running BloodHound services
  start       Start all stopped BloodHound services
  stop        Stop all BloodHound services without removing the containers
  up          Build, (re)create, and start all BloodHound containers

Flags:
  -h, --help   help for containers
./bloodhound-cli containers down
./bloodhound-cli containers up
http://127.0.0.1:8080/ui/login
user: admin
password: VVfPBqpXFn9MNpsJyMYt9U4q*******
PS C:\Users\hporter> Import-Module .\SharpHound.ps1
PS C:\Users\hporter> Invoke-BloodHound -CollectionMethod All

2025-04-29T09:49:52.4871795-07:00|INFORMATION|This version of SharpHound is compatible with the 5.0.0 Release of BloodHound
2025-04-29T09:49:52.6903062-07:00|INFORMATION|Resolved Collection Methods: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote, CertServices, LdapServices, WebClientService, SmbInfo
2025-04-29T09:49:52.7528064-07:00|INFORMATION|Initializing SharpHound at 9:49 AM on 4/29/2025
2025-04-29T09:49:52.8465547-07:00|INFORMATION|Resolved current domain to spookysec.local
2025-04-29T09:49:53.0965549-07:00|INFORMATION|Flags: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote, CertServices, LdapServices, WebClientService, SmbInfo
2025-04-29T09:49:53.2371798-07:00|INFORMATION|Beginning LDAP search for spookysec.local
<---SNIP--->
2025-04-29T09:49:55.2528071-07:00|INFORMATION|Status: 310 objects finished (+310 155)/s -- Using 37 MB RAM
2025-04-29T09:49:55.2528071-07:00|INFORMATION|Enumeration finished in 00:00:02.0415498
2025-04-29T09:49:55.7052367-07:00|INFORMATION|Saving cache with stats: 18 ID to type mappings.
 0 name to SID mappings.
 1 machine sid mappings.
 3 sid to domain mappings.
 0 global catalog mappings.
2025-04-29T09:49:55.7677396-07:00|INFORMATION|SharpHound Enumeration Completed at 9:49 AM on 4/29/2025! Happy Graphing!
PS C:\Users\hporter> .\SharpHound.exe -c All

2025-04-29T09:49:52.4871795-07:00|INFORMATION|This version of SharpHound is compatible with the 5.0.0 Release of BloodHound
2025-04-29T09:49:52.6903062-07:00|INFORMATION|Resolved Collection Methods: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote, CertServices, LdapServices, WebClientService, SmbInfo
2025-04-29T09:49:52.7528064-07:00|INFORMATION|Initializing SharpHound at 9:49 AM on 4/29/2025
2025-04-29T09:49:52.8465547-07:00|INFORMATION|Resolved current domain to spookysec.local
2025-04-29T09:49:53.0965549-07:00|INFORMATION|Flags: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote, CertServices, LdapServices, WebClientService, SmbInfo
2025-04-29T09:49:53.2371798-07:00|INFORMATION|Beginning LDAP search for spookysec.local
<---SNIP--->
2025-04-29T09:49:55.2528071-07:00|INFORMATION|Status: 310 objects finished (+310 155)/s -- Using 37 MB RAM
2025-04-29T09:49:55.2528071-07:00|INFORMATION|Enumeration finished in 00:00:02.0415498
2025-04-29T09:49:55.7052367-07:00|INFORMATION|Saving cache with stats: 18 ID to type mappings.
 0 name to SID mappings.
 1 machine sid mappings.
 3 sid to domain mappings.
 0 global catalog mappings.
2025-04-29T09:49:55.7677396-07:00|INFORMATION|SharpHound Enumeration Completed at 9:49 AM on 4/29/2025! Happy Graphing!
PS C:\Users\hporter> dir
 Volume in drive C has no label.
 Volume Serial Number is DA7F-3F25

 Directory of c:\Users\hporter>

04/24/2025  12:01 PM    <DIR>          .
04/24/2025  12:01 PM    <DIR>          ..
04/24/2025  12:01 PM           236,186 20250429094954_BloodHound.zip 
xfreerdp /v:10.10.10.10 /u:hporter /p:Gr8hambino! /drive:home,"/home/kali/Escritorio/hack-tools/WINDOWS"
PS C:\Users\hporter> net use
New connections will be remembered.

Status       Local     Remote                    Network
-------------------------------------------------------------------------------
                       \\TSCLIENT\home           Microsoft Terminal Services
The command completed successfully.
PS C:\Users\hporter> copy .\20250424124339_data.zip \\Tsclient\Home
domain spookysec.local
nameserver 10.10.26.240
search spookysec.local
afsh4ck@kali$ bloodhound-python -d spookysec.local -u backup -p backup2517860 -dc AttacktiveDirectory.spookysec.local -c All --dns-tcp --zip

INFO: BloodHound.py for BloodHound LEGACY (BloodHound 4.2 and 4.3)
INFO: Found AD domain: spookysec.local
INFO: Getting TGT for user
INFO: Connecting to LDAP server: AttacktiveDirectory.spookysec.local
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 1 computers
INFO: Connecting to LDAP server: AttacktiveDirectory.spookysec.local
INFO: Found 18 users
INFO: Found 54 groups
INFO: Found 2 gpos
INFO: Found 3 ous
INFO: Found 21 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: AttacktiveDirectory.spookysec.local
INFO: Done in 00M 12S
INFO: Compressing output into 20250326202635_bloodhound.zip
afsh4ck@kali$ bloodhound-python -u 'Haze-IT-Backup$' --hashes ':84d6a733d85d9e03f46eba25b34517a9' -d haze.htb -ns 10.10.11.61 -c All --zip

INFO: BloodHound.py for BloodHound LEGACY (BloodHound 4.2 and 4.3)
INFO: Found AD domain: haze.htb
INFO: Getting TGT for user
WARNING: Failed to get Kerberos TGT. Falling back to NTLM authentication. Error: Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)
INFO: Connecting to LDAP server: dc01.haze.htb
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 1 computers
INFO: Connecting to LDAP server: dc01.haze.htb
INFO: Found 9 users
INFO: Found 57 groups
INFO: Found 2 gpos
INFO: Found 2 ous
INFO: Found 20 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: dc01.haze.htb
INFO: Done in 00M 08S
INFO: Compressing output into 20250508111541_bloodhound.zip
group:admin
MATCH (B)-[A]->(R) RETURN B
MATCH p=shortestPath((n:User)-[*1..]->(m:Group))
WHERE toUpper(m.name) = "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN p
MATCH p=shortestPath((u:User)-[r:MemberOf|AdminTo|AddMember|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|AllExtendedRights|HasSession|CanRDP|ExecuteDCOM*1..]->(g:Group))
WHERE toUpper(g.name) = "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN p
MATCH (u:User)-[:AdminTo]->(c:Computer)<-[:HasSession]-(da:User)
WHERE da.memberof = "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN u.name, c.name, da.name
MATCH (n:User)-[r:GenericAll|GenericWrite|WriteOwner|WriteDacl|AllExtendedRights]->(m:User)
WHERE toUpper(m.name) ENDS WITH "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN n.name, type(r), m.name
MATCH (u:User)-[:MemberOf*1..]->(:Group {name:"DOMAIN ADMINS@INLANEFREIGHT.LOCAL"})
MATCH (u)-[:HasSession]->(c:Computer)
RETURN u.name, c.name
MATCH (u:User)-[:AddMember]->(g:Group)
WHERE g.name = "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN u.name, g.name
MATCH (u:User)-[:HasSID]->(s:Kerberos)
WHERE u.hasspn = true AND NOT u.name ENDS WITH "DOMAIN ADMINS@INLANEFREIGHT.LOCAL"
RETURN u.name, u.serviceprincipalnames
MATCH (u:User)
WHERE u.allowedtodelegate IS NOT NULL OR u.unconstraineddelegation = true
RETURN u.name, u.allowedtodelegate, u.unconstraineddelegation
  • Instalación
  • Instalar y iniciar Docker
  • Descargar Bloodhound CE
  • Instalar Bloodhound CE
  • Posibles errores
  • Ver contenedores de Docker activos
  • Detener contenedores de Docker
  • Acceder a la GUI
  • Descargar colectores
  • Sharphound
  • SharpHound.ps1
  • SharpHound.exe
  • ZIP generado
  • Envío de ZIP a nuestro Kali Linux
  • Bloodhound-python
  • Con credenciales
  • Con hash (Pass the Hash)
  • Importar zip en Bloodhound CE
  • Explorar los gráficos
  • Inbound / Outbound Object Control
  • Member of
  • Local Admin Privileges
  • Pathfinding
  • FIltros por tipo de nodo
  • Cypher Querys
  • Ejemplos prácticos
  1. Active Directory
  2. ☁️Active Directory

🩸BloodHound

BloodHound es una herramienta de análisis que se utiliza para identificar y visualizar las relaciones entre objetos de un dominio Active Directory de forma visual con gráficos detallados.

AnteriorNTLM/SMB RelaySiguienteHardening en AD
Movimiento lateral
Comprometiendo Active Directory
Attracktive Directory
🏛️
🏛️
🟠
GitHub - BloodHoundAD/BloodHound: Six Degrees of Domain AdminGitHub
BloodHound Community Edition Quickstart - SpecterOpsSpecterOps
GitHub - SpecterOps/SharpHound: C# Data Collector for BloodHoundGitHub
BloodHound/SharpHound.ps1 at master · BloodHoundAD/BloodHoundGitHub
Logo
Logo
Logo
Logo
Page cover image