Active Directory: no puedo desbloquear una cuenta (ni cambiando la contraseña) — Guía completa de diagnóstico y solución

Una cuenta de Active Directory que se relockea tras “Desbloquear” y “Restablecer contraseña” casi siempre delata credenciales antiguas en algún dispositivo o servicio. Esta guía te lleva de la mano para localizar el DC y el equipo/proceso origen y eliminar la causa de raíz.

Índice

Resumen y conclusión del caso

Resumen de la pregunta: Una cuenta de usuario permanece bloqueada a pesar de múltiples intentos de desbloqueo y de restablecer la contraseña. ¿Cómo diagnosticar y resolver el bloqueo recurrente?

Conclusión del caso: El origen eran credenciales antiguas aún usadas desde un equipo viejo del usuario. Al corregir esa asociación (eliminar/actualizar credenciales guardadas en ese equipo), el problema quedó resuelto.


Cómo funciona el bloqueo de cuentas en AD (lo justo para diagnosticar)

  • Account Lockout se activa cuando el usuario supera el umbral de intentos fallidos definido por la directiva (p. ej., 5 intentos/15 minutos).
  • El evento 4740 se registra en el DC que procesó el intento que superó el umbral.
  • Kerberos y NTLM suelen dejar trazas previas (4771 y 4776) con la IP/host origen.
  • Cambiar la contraseña no detiene un proceso que siga probando la contraseña antigua desde cualquier equipo o servicio. Primero hay que encontrar y corregir ese origen.

Diagnóstico recomendado (paso a paso)

Preparar auditorías en los Controladores de Dominio

Habilita auditoría en los DC para capturar de forma fiable el 4740 y los eventos previos de autenticación fallida.

Audit clásico

  • Audit Account Logon Events – Failure
  • Audit Account Management – Success y Failure
  • Audit Logon Events – Failure

Advanced Audit Policy (recomendado)

  • Logon/Logoff:
    • Audit Account Lockout – Failure
    • Audit Logon – Failure
    • Audit Kerberos Authentication Service – Failure
    • Audit Credential Validation – Failure
  • Account Management:
    • Audit User Account Management – Success y Failure

Forzar actualización y verificar

gpupdate /force
auditpol /get /category:*

Sugestión adicional para asegurar consistencia:

repadmin /replsummary
gpresult /r

Identificar el DC que registró el bloqueo

  • Usa LockoutStatus.exe (herramienta de Microsoft) para el usuario afectado. Te muestra en qué DC se ha producido el bloqueo y la hora.
  • Alternativa con PowerShell: localiza el PDC Emulator y consulta los atributos claves.
# DC PDC Emulator (útil para correlación)
(Get-ADDomain).PDCEmulator

Algunos atributos del usuario (no todos replican entre DCs al instante)
Get-ADUser USUARIO -Properties LockedOut,LastBadPasswordAttempt,BadPwdCount,lockoutTime | 
  Select-Object LockedOut,LastBadPasswordAttempt,BadPwdCount,lockoutTime

Revisar eventos de seguridad en el DC implicado

En el DC donde se produjo el 4740, filtra por los eventos clave. Empieza por el 4740 y examina los 4771/4776 cercanos en el tiempo.

[System[(EventID=4771 or EventID=4776 or EventID=4740)]] and *[EventData[Data and (Data='USUARIO')]]

Qué buscar:

  • 4740 (Account lockout): marca el instante del bloqueo.
  • 4771 (Kerberos): revisa Client Address (IP origen). Errores típicos: 0x18 (preautenticación fallida/contraseña incorrecta).
  • 4776 (NTLM): revisa Source Workstation. Error típico: 0xC000006A (contraseña incorrecta).

Determinar el origen (equipo o proceso)

Con la IP o nombre de host del 4771/4776:

  1. Conéctate al equipo origen.
  2. Revisa credenciales almacenadas, servicios y tareas que puedan estar intentando autenticarse en segundo plano.
  3. Si no es evidente, habilita en el cliente auditoría de Logon Failures (4625) para identificar el proceso/LogonType.
# Búsqueda rápida de eventos relevantes en un DC concreto
$User = "USUARIO"
$DC = "DC-NOMBRE"
$Filter = @{LogName="Security"; ID=4740,4771,4776}
Get-WinEvent -ComputerName $DC -FilterHashtable $Filter |
  Where-Object { $_.Message -match $User } |
  Select-Object TimeCreated,Id,ProviderName,Message |
  Sort-Object TimeCreated -Descending

Remediación en el equipo origen

En el equipo que sigue intentando autenticarse con la contraseña antigua, aplica esta lista:

Administrador de credenciales (Credential Manager)

  • Abre Administrador de credenciales (credenciales de Windows y genéricas).
  • Elimina credenciales del dominio o del servidor afectado.
:: Inventario rápido
cmdkey /list

:: Eliminar credenciales específicas (ejemplos)
cmdkey /delete:SERVER\recurso
cmdkey /delete:TERMSRV/servidor-rdp

:: UI clásica de credenciales almacenadas
rundll32.exe keymgr.dll,KRShowKeyMgr

Unidades de red mapeadas y conexiones persistentes

  • Revisa y actualiza mapeos que usen el usuario afectado.
net use
net use Z: \\SERVIDOR\RECURSO /user:DOMINIO\USUARIO *
net use * /delete

Tareas programadas y servicios

  • Actualiza credenciales en tareas programadas y en Log On As de los servicios.
# Servicios configurados para iniciar como el usuario
Get-WmiObject Win32Service | Where-Object {$.StartName -match "DOMINIO\\USUARIO"} |
  Select-Object Name, DisplayName, StartName, State

Tareas programadas que ejecutan como el usuario

Get-ScheduledTask | Where-Object {\$*.Principal.UserId -match "DOMINIO\USUARIO"} |
Select-Object TaskName, TaskPath, State, @{n="RunAs";e={\$*.Principal.UserId}} 

Aplicaciones que guardan credenciales

  • Clientes de correo, OneDrive/SharePoint, herramientas de sincronización, navegadores (credenciales HTTP/NTLM), agentes de copias de seguridad, VPN, software de impresión, etc.

RDP y sesiones persistentes

  • Borra credenciales de RDP guardadas y perfiles de Conexión a Escritorio remoto.
cmdkey /delete:TERMSRV/servidor-rdp

Perfiles en equipos antiguos o ya retirados

  • Si el equipo aún está encendido en una red secundaria o laboratorio, puede seguir emitiendo intentos. Cierra sesión, elimina el perfil o desconéctalo de la red.

Registro adicional en el cliente (opcional)

  • Habilita auditoría 4625 (Logon Failure) y revisa Logon Type, Process Name y IP de destino para identificar el ejecutable concreto.

Kerberos: purgar tickets tras un cambio de contraseña

klist
klist sessions
klist purge

Importante: Restablecer la contraseña no evita que el usuario vuelva a bloquearse si algún proceso/servicio sigue probando la contraseña antigua desde cualquier dispositivo.


Lista de comprobación rápida

  1. Habilita auditorías en DCs → gpupdate /force y valida auditpol.
  2. Localiza el DC de bloqueo (LockoutStatus.exe).
  3. Revisa 4740, 4771, 4776 → extrae IP/host origen.
  4. En el host origen, elimina/actualiza credenciales, tareas y servicios.
  5. Purgea tickets/credenciales, cierra sesión o reinicia el equipo.
  6. Desbloquea la cuenta y verifica que no reaparecen 4740.

Tablas de referencia rápida

Eventos clave y campos a revisar

EventoComponenteQué indicaCampos críticos
4740Account ManagementLa cuenta fue bloqueada (umbral de intentos alcanzado).Account Name, Caller Computer Name, TimeCreated
4771KerberosPreautenticación fallida u otros errores Kerberos.Client Address (IP), Failure Code (0x18), Account Name
4776NTLMValidación de credenciales via NTLM fallida.Source Workstation, Error Code (0xC000006A), Account Name
4625Logon (cliente)Intento de inicio de sesión fallido en el equipo cliente/servidor.Logon Type, Process Name, Target Server

Códigos de error típicos

CódigoOrigenSignificado usualAcción
0x18Kerberos (4771)Preautenticación fallida; contraseña incorrecta.Actualizar/eliminar credenciales antiguas.
0xC000006ANTLM (4776)Contraseña incorrecta.Revisar origen (Source Workstation) y credenciales.

Posibles orígenes con credenciales guardadas

UbicaciónEjemplosCómo remediar
Administrador de credencialesCredenciales de Windows, genéricas, RDPEliminar entradas antiguas (cmdkey /list /delete)
Unidades mapeadas / sharesnet use persistenteQuitar y volver a mapear con la nueva contraseña
Servicios y tareasAgentes de backup, impresoras, scriptsActualizar “Log On As” / credenciales de tarea
AplicacionesOutlook/OneDrive/Sync/VPN/NavegadoresReiniciar sesión y guardar la nueva contraseña
Dispositivos antiguosPC retirado, VM olvidada, NASDesconectar, deshabilitar o actualizar credenciales
Móvil corporativoCorreo (ActiveSync), apps MDMForzar reautenticación, borrar cachés

Guías y comandos útiles para acelerar la investigación

Filtrar eventos por usuario en todos los DCs (PowerShell)

$User = "USUARIO"
$DCs  = (Get-ADDomainController -Filter *).HostName
$Ids  = 4740,4771,4776

\$results = foreach (\$dc in \$DCs) {
try {
Get-WinEvent -ComputerName \$dc -FilterHashtable @{LogName='Security'; ID=\$Ids} -ErrorAction Stop |
Where-Object { $\_.Message -match \$User } |
Select-Object @{n='DC';e={\$dc}}, Id, TimeCreated, Message
} catch { }
}

\$results | Sort-Object TimeCreated -Descending | Format-Table -AutoSize 

Mapear IP a nombre de host (DHCP/NetBIOS)

# Con DHCP (servidor Windows)
Get-DhcpServerv4Lease -IPAddress 10.1.2.3 | Select-Object IPAddress, HostName, ClientId

NetBIOS/SMB rápido desde CMD

nbtstat -A 10.1.2.3 

Comprobar latencia/replicación y hora

repadmin /replsummary
w32tm /query /status
w32tm /query /peers

Comandos de auditoría granular

auditpol /set /subcategory:"Account Lockout" /failure:enable
auditpol /set /subcategory:"Credential Validation" /failure:enable
auditpol /set /subcategory:"Kerberos Authentication Service" /failure:enable

Buenas prácticas para evitar bloqueos recurrentes

  • Proceso de cambio de contraseña: Comunica al usuario que cierre sesión en todos los dispositivos, reinicie apps que guarden credenciales y, si es posible, reinicie el equipo tras el cambio.
  • Políticas diferenciadas (FGPP): Usa Fine-Grained Password Policies para aplicar umbrales y ventanas de observación razonables en grupos de alto riesgo.
  • Minimiza el uso de cuentas de usuario en servicios/tareas: Prefiere Managed Service Accounts cuando sea posible.
  • Inventario y visibilidad: Mantén un registro de qué equipos y apps usan credenciales de cada cuenta sensible.
  • Sincronización horaria (NTP): Evita desfases que compliquen el análisis de eventos y la validez de tickets Kerberos.
  • Supervisión continua: Centraliza los eventos 4740/4771/4776 en tu SIEM para detectar patrones.

Preguntas frecuentes (FAQ)

He restablecido la contraseña y el usuario sigue bloqueándose, ¿por qué?

Porque algún proceso/servicio en algún dispositivo continúa intentando la contraseña antigua. Hasta que no elimines/actualices esa credencial, volverá a generar fallos y provocará nuevos 4740.

El 4771 muestra una IP privada tras un NAT, ¿cómo identifico el host real?

Consulta registros de DHCP para la subred, mapea dirección MAC/lease a nombre de host, y valida con nbtstat -A <IP>. Si la petición viene a través de un proxy o balanceador, revisa sus logs.

No tengo LockoutStatus.exe, ¿qué alternativa uso?

Usa el script de PowerShell mostrado arriba para consultar simultáneamente todos los DCs por los eventos 4740/4771/4776 e identificar el DC y la hora del bloqueo.

Veo 4625 en un servidor de archivos, ¿me sirve?

Sí: el 4625 en el servidor de destino revela el Logon Type y, a veces, el proceso que dispara la autenticación (p. ej., un servicio). Cruza esa información con el 4740/4771/4776 del DC.

¿Puede la replicación lenta causar confusión?

Sí. Si los DCs no replican con normalidad, el recuento de contraseñas erróneas y los atributos de cuenta pueden verse desfasados, dificultando el análisis. Valida repadmin /replsummary.

El campo “Source Workstation” está vacío en 4776, ¿es normal?

Puede ocurrir según el origen y la ruta de autenticación. Recurre entonces a las trazas Kerberos 4771, los 4625 en el destino, y los registros de infraestructura (DHCP/VPN/Proxy).

¿Cuándo purgar tickets Kerberos?

Tras cambios de contraseña o cuando sospeches de tickets obsoletos. Ejecuta klist purge en el cliente y haz que el usuario inicie sesión de nuevo.


Ejemplo real resumido (del problema a la solución)

  1. El usuario “USUARIO” se bloquea repetidamente.
  2. Habilito auditorías avanzadas y fuerzo gpupdate /force en los DCs.
  3. Con LockoutStatus.exe detecto que el 4740 lo registró DC-02.
  4. En el visor de eventos de DC-02, veo 4771 (cód. 0x18) y 4776 (cód. 0xC000006A) segundos antes, ambos apuntando a PC-VIEJO.
  5. Accedo a PC-VIEJO: encuentro credenciales obsoletas en el Administrador de credenciales y una tarea programada que ejecutaba con el usuario.
  6. Elimino credenciales, actualizo la tarea, purgo tickets (klist purge), reinicio el equipo.
  7. Desbloqueo la cuenta. Monitoreo: no vuelven a aparecer 4740. Incidente cerrado.

Factores adicionales si el problema persiste

  • Replicación de AD y latencia entre DCs.
  • Desfase horario (NTP) entre clientes y DCs.
  • Cuentas usadas en múltiples dispositivos (móvil personal, VMs, NAS, impresoras, scripts).
  • Rutas de autenticación no triviales (VPN, proxys, jump hosts) que ocultan el origen; apóyate en sus logs.

Resultado esperado

Una vez identificados y corregidos todos los orígenes que intentaban autenticarse con la contraseña antigua, la cuenta deja de bloquearse. Mantén la auditoría activa y una ventana de observación de eventos de unos días para confirmar que no reaparecen 4740.


Apéndice: plantillas listas para copiar

Filtro XML para el Visor de eventos (DC)

&lt;QueryList&gt;
  &lt;Query Id="0" Path="Security"&gt;
    &lt;Select Path="Security"&gt;
      *[System[(EventID=4771 or EventID=4776 or EventID=4740)]]
      and
      *[EventData[Data and (Data='USUARIO')]]
    &lt;/Select&gt;
  &lt;/Query&gt;
&lt;/QueryList&gt;

Checklist imprimible

  • ✔ Auditorías en DCs (Account Lockout, Kerberos, Credential Validation, Logon)
  • gpupdate /force y auditpol /get /category:* en DC
  • ✔ DC del bloqueo (LockoutStatus o script)
  • ✔ 4740/4771/4776 correlacionados → IP/host origen
  • ✔ Limpiar credenciales (Administrador de credenciales, cmdkey)
  • ✔ Revisar services.msc, tareas (Get-ScheduledTask)
  • ✔ Unidades mapeadas (net use), RDP (cmdkey /delete:TERMSRV/<host>)
  • klist purge, cerrar sesión/reiniciar
  • ✔ Desbloquear la cuenta y monitorizar 4740

En una línea: los bloqueos reincidentes de cuentas AD se resuelven al identificar qué equipo o proceso sigue usando contraseñas antiguas y al limpiar esas credenciales en su origen. Las auditorías correctas y una metodología clara te llevan al foco en minutos, no horas.


Índice