Hardening Active Directory
Active Directory es el corazón de la seguridad en la mayoría de entornos empresariales. Un AD mal configurado es una autopista directa para movimientos laterales, escaladas de privilegios y accesos persistentes.
Este documento resume prácticas reales, efectivas, auditables y con un enfoque totalmente práctico para pentesters, defensores y arquitectos de infraestructura.
🗂️ 1. Documentación y Auditoría Inicial
La primera defensa de un AD es saber qué tienes.
Realizar un inventario cada 3–6 meses para evitar “zonas oscuras” en el dominio.
📋 Elementos a Documentar
-
Estructura y convenciones de OUs, grupos, usuarios, nombres de máquinas.
-
Configuraciones de DNS, DHCP, y segmentación de red.
-
GPOs: qué hacen, dónde aplican, quién las controla.
-
Asignación de roles FSMO.
-
Inventario de aplicaciones y versiones.
-
Todos los hosts en producción + ubicación.
-
Relaciones de trust internas y externas.
-
Usuarios con privilegios elevados.
👥 2. Hardening por Personas (People)
Los usuarios son el eslabón más débil. Reducir errores humanos = reducir brechas.
🔑 Contraseñas
-
Política de contraseñas fuerte + Password Filter que bloquee:
-
palabras comunes
-
nombre de la empresa
-
meses / estaciones
-
“Password2025”
-
-
Uso de Password Manager empresarial.
🔄 Rotación
- Rotar service accounts periódicamente.
🖥️ Accesos locales
-
Prohibir acceso como admin local en workstations.
-
Deshabilitar el RID-500 (Administrador local).
-
Reemplazarlo con cuenta protegida por LAPS.
🧑💻 Administradores
-
Separación Tier 0 / Tier 1 / Tier 2.
-
NO usar cuentas DA para tareas diarias.
-
Minimizar miembros de:
-
Domain Admins
-
Enterprise Admins
-
Backup Operators
-
🛑 Delegación
- Deshabilitar Kerberos delegation en cuentas administrativas.
🛡️ 3. Protected Users Group
Protege credenciales de administradores evitando que queden en memoria o sean reutilizadas.
✔️ Protecciones aplicadas a miembros
-
Sin delegación (ni unconstrained ni constrained).
-
CredSSP NO guarda credenciales en texto claro.
-
No se guardan claves RC4, DES ni NTLM.
-
NO pueden autenticarse vía NTLM.
-
No se almacenan credenciales de largo plazo tras obtener el TGT.
-
TGT no renovable más allá de 4 horas.
Si aplicas esto sin pruebas → lockouts masivos asegurados.
📌 Ver grupo Protected Users
Get-ADGroup -Identity "Protected Users" -Properties Name,Description,Members
🏛️ 4. Procesos (Process)
Los procesos consistentes evitan que AD se degrade con el tiempo.
📘 Buenas prácticas
-
Políticas formales para gestión de activos.
-
Inventario periódico + asset tags.
-
MFA obligatorio para accesos críticos.
-
Procesos claros para:
-
altas / bajas de usuarios
-
creación / decommission de máquinas
-
limpieza de AD
-
-
Procedimientos para retirar OS legacy y servicios obsoletos.
-
Política de eliminación de cuentas de exempleados.
-
Pruebas regulares de backups y DRP.
🧰 5. Tecnología (Technical Controls)
El área que más impacto tiene en ataques reales.
Lo que no está configurado, está roto.
🧪 Herramientas periódicas de auditoría
-
BloodHound
-
PingCastle
-
Grouper2
🔍 Evitar filtrado de credenciales
-
Revisar SYSVOL para detectar contraseñas en scripts.
-
Prohibir contraseñas en descripción de cuentas.
🛠️ Service Accounts
-
Evitar service accounts normales.
-
Usar gMSA / MSA → elimina Kerberoasting.
🚫 Delegación
-
Deshabilitar Unconstrained Delegation en todo el dominio.
-
Minimizar RBCD.
🔐 Control de máquinas
- Establecer:
ms-DS-MachineAccountQuota = 0
Evita ataques como:
-
noPAC
-
RBCD abuse
-
creación de máquinas maliciosas
🖨️ Print Spooler
Evita ataques PrintNightmare y relays.
🧱 Autenticación
-
Deshabilitar NTLM (siempre que sea posible).
-
Habilitar:
-
SMB signing
-
LDAP signing
-
🚪 Acceso a Domain Controllers
- Acceso únicamente desde jump hosts seguros.
❌ Enumeración
- Restringir null sessions:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters RestrictNullSessAccess = 1
🗺️ 6. Mapa de Protecciones y MITRE ATT&CK
Tabla con correlación entre ataques, defensas y MITRE ATT&CK:
| TTP | MITRE | Defensa |
|---|---|---|
| External Recon | T1589 | Controlar info pública, scrubbing de metadatos |
| Internal Recon | T1595 | Monitoreo de tráfico, NIDS, firewall tuning |
| Poisoning | T1557 | SMB Signing + cifrado fuerte |
| Password Spraying | T1110.003 | Logging 4624/4648, MFA, bloqueo de cuentas |
| Credentialed Enum | TA0006 | Análisis de comportamiento, segmentación |
| LOTL | N/A | Baseline, Applocker, heurísticas |
| Kerberoasting | T1558.003 | gMSA, contraseñas fuertes, evitar RC4 |
🔐 7. Kerberoasting en MITRE ATT&CK — Ejemplo práctico
-
TA0006 → Credential Access
-
T1558 → Steal or Forge Kerberos Tickets
-
T1558.003 → Kerberoasting
Navegación:
-
TA0006
-
T1558
-
T1558.003
-
Ver mitigaciones, detecciones y referencias.
📦 8. Visualización — Diagrama General de Hardening
flowchart TD
A[People] --> B[Contraseñas fuertes]
A --> C[Privileged Access Management]
A --> D[Educación de usuarios]
E[Process] --> F[Alta/Baja usuarios]
E --> G[Inventario regular]
E --> H[DRP & Backups]
I[Technology] --> J[gMSA]
I --> K[SMB Signing]
I --> L[LDAP Signing]
I --> M[Deshabilitar Delegation]
B --> Z[Hardening AD]
F --> Z
J --> Z
📚 9. Knowledge Base (Resumen Final)
🧠 Conceptos Clave
-
Hardening AD es personas + procesos + tecnología.
-
Usuarios → vector principal.
-
Delegación, Kerberos y trusts → puntos críticos.
-
Auditoría continua = estabilidad + seguridad.
🛡️ Controles Técnicos Críticos
-
gMSA
-
SMB/LDAP signing
-
Restricción NTLM
-
Deshabilitar Print Spooler
-
ms-DS-MachineAccountQuota = 0
-
Protected Users Group
-
Jump hosts para Domain Admins
🔍 Detección
-
Eventos 4624 / 4648 / 4769 (Kerberos).
-
Baseline de comportamiento.
-
NIDS + SIEM.
⚔️ Impacto para Pentesters
-
Kerberoasting bloqueado → usar AS-REP, ACL abuse, RBCD.
-
Enumeración reducida → moverse a técnicas LOTL / OpSec.
-
Trusts endurecidos → pivot más complejo.