Enumerar y Recuperar Políticas de Contraseña en Active Directory
Resumen de técnicas para recuperar la política de contraseñas de un dominio Windows desde Linux/Windows (con credenciales, NULL sessions o LDAP anónimo). Incluye comandos prácticos, salidas de ejemplo y recomendaciones para pruebas (p. ej. password spraying). ✅
🧭 Índice rápido
-
✅ Métodos con credenciales
-
✅ Métodos sin credenciales (SMB NULL, LDAP anon)
-
✅ Comandos y ejemplos (CrackMapExec, rpcclient, enum4linux, ldapsearch, net, PowerView)
-
⚠️ Riesgos y recomendaciones para password spraying
-
📝 Resumen y “respuestas rápidas” (preguntas tipo examen)
🛠️ Métodos (resumen)
-
Con credenciales: CrackMapExec, rpcclient, PowerView, net.exe.
-
Sin credenciales: SMB NULL session (rpcclient, enum4linux, enum4linux-ng), LDAP anonymous bind (ldapsearch, windapsearch).
-
Desde Windows sin herramientas:
net accounts/ PowerView.
🧪 Con credenciales (ejemplo)
Comando de ejemplo:
crackmapexec smb 172.16.5.5 -u avazquez -p Password123 --pass-pol
Salida relevante (ejemplo):

🕵️♂️ Sin credenciales — SMB NULL session
- Probar con
rpcclient(NULL session):
rpcclient -U "" -N 172.16.5.5
# luego en rpcclient:
querydominfo
getdompwinfo
Ejemplo de getdompwinfo:

enum4linux(ejemplo):
enum4linux -P 172.16.5.5
Salida resumida:

enum4linux-ng puede exportar JSON/YAML (-oA) para procesar resultados automáticamente.🧾 LDAP anonymous bind
ldapsearch.Ejemplo:
ldapsearch -h 172.16.5.5 -x -b "DC=INLANEFREIGHT,DC=LOCAL" -s sub "*" | grep -m 1 -B 10 pwdHistoryLength
Salida de ejemplo (campos relevantes):

🪟 Desde Windows (sin transferir herramientas)
C:\> net accounts
Salida (ejemplo):
Minimum password age (days): 1
Maximum password age (days): Unlimited
Minimum password length: 8
Length of password history maintained: 24
Lockout threshold: 5
Lockout duration (minutes): 30
Import-Module .\PowerView.ps1
Get-DomainPolicy
🧾 Tabla — Herramientas y puertos comunes
| Herramienta | Puertos / notas |
|---|---|
| nmblookup | 137/UDP |
| nbtstat | 137/UDP |
| net (Windows) | 139/TCP, 135/TCP, RPC dinámicos |
| rpcclient | 135/TCP |
| smbclient / SMB | 445/TCP |
| enum4linux / enum4linux-ng | usa rpcclient, smbclient, netbios etc. |
| ldapsearch | 389/LDAP (o 636 LDAPS) |
⚠️ Riesgos y recomendaciones para Password Spraying
- Si la política tiene
Minimum password length = 8yLockout threshold = 5, es riesgoso hacer >2–3 intentos por cuenta en corto período. - Recomendación práctica: 1 intento por cuenta por ronda; si se repite, espaciar >30–60 minutos (o según la política detectada).
- Si no puedes obtener la política, sé extremadamente conservador: máximo 1 intento por cuenta por hora.
- Evita bloquear cuentas que requieren intervención manual (puede generar impacto operativo y problemas con el cliente).
✅ Analizando la política (ejemplo INLANEFREIGHT.LOCAL)
-
Minimum password length: 8→ posibilita contraseñas frágiles (Welcome1, Password1, etc.). -
Password complexity: enabled(requiere 3/4 tipos de caracteres). -
Account lockout threshold: 5→ permite un número limitado de intentos antes del bloqueo. -
Lockout duration: 30 minutos→ desbloqueo automático tras 30 minutos. -
Password history: 24→ evita reuso inmediato de 24 contraseñas previas.
🧭 Pasos siguientes (operativos)
-
Obtener (si es posible) la política vía RPC/SMB/LDAP/Windows.
-
Generar lista de usuarios (enum4linux, rpcclient, LDAP dumps).
-
Seleccionar lista de contraseñas candidata (tener en cuenta complejidad).
-
Plan de franjas temporales para sprays (evitar bloqueos).
-
Monitorizar logs/alertas y detener si impacto observado.
-
Documentar resultados y recomendaciones de mitigación.
🧠 Preguntas tipo examen — Respuestas rápidas
-
¿Cuál es el Minimum password length por defecto cuando se crea un dominio nuevo?
7 -
¿Cuál es el minPwdLength establecido en el dominio INLANEFREIGHT.LOCAL?
8