Directiva de auditoría de seguridad de Windows e investigación práctica del registro de eventos — convertirse en un equipo de TI capaz de leer el 4625

· · Windows, Seguridad, Registro de eventos, Directiva de auditoría, Diseño de registros, PowerShell, Sistemas de información

Historial de revisiones (primera versión, publicada el 1 Aug 2026)
Primera publicación
Citar este artículo(DOI (archivo registrado): 10.5281/zenodo.22175675)

Los DOI siguientes remiten a versiones ya archivadas y pueden diferir del texto actual. Para citar el texto actual, utilice la URL de esta página.

Go Komura (2026). Directiva de auditoría de seguridad de Windows e investigación práctica del registro de eventos — convertirse en un equipo de TI capaz de leer el 4625. KomuraSoft LLC. https://comcomponent.com/es/blog/windows-security-audit-policy-guide/

DOI (archivo registrado)
10.5281/zenodo.22175675
DOI (última versión registrada)
10.5281/zenodo.22175676

«Desde anoche una cuenta se está bloqueando una y otra vez. Averigüe por qué». «Compruebe si alguien está intentando iniciar sesión con la cuenta de un antiguo empleado». «¿Puede decir cuándo y quién ejecutó qué en este servidor?» — son las peticiones que caen de golpe sobre el personal de TI de una pyme o sobre un desarrollador que entrega sistemas a un cliente. Y en lo que acaba apoyándose es el registro de eventos Security de Windows.

Abra el Visor de eventos, no obstante, y le esperan dos realidades. O bien el evento que quiere nunca se registró (la directiva de auditoría no estaba activada), o bien está sepultado bajo una avalancha de eventos e ilegible (el registro está lleno de ruido y ha crecido). La auditoría de seguridad es algo que «se obtiene si se activa», pero si no diseña qué registrar y hasta dónde, no le ayudará cuando importe.

Las dos realidades que esperan en el Visor de eventosAbra el Visor de eventos y hay dos realidades, o la directiva de auditoría no estaba activada y el evento deseado nunca se registró, o el registro está lleno de ruido y ha crecido y el evento queda sepultado bajo una avalancha de entradas, lo que significa que hay que diseñar qué registrar y hasta dóndeNo registradoSepultadoAbrir el Visor de eventos¿Qué realidad espera?El evento deseado nunca se registróIlegible bajo una avalancha de eventosDirectiva de auditoría desactivadaLleno de ruido y crecidoDiseñar qué registrar y hasta dónde

Figura 1: O «no registrado» o «sepultado e ilegible». Ambas vienen de no haber diseñado nunca el alcance de lo que hay que registrar.

Este artículo separa dos cosas: la configuración que conserva los registros que necesita una investigación, y el procedimiento para encontrar la causa en los registros que tiene. Cubre cómo funciona la directiva de auditoría (los dos sistemas, básica y avanzada), las subcategorías que un entorno de tamaño pequeño o mediano debería activar como mínimo, cómo leer 4624/4625/4740/4688, el diseño de capacidad del registro Security y la investigación con PowerShell. Las explicaciones técnicas se basan en fuentes primarias a fecha de agosto de 2026.

Si los artículos que este sitio ha tratado hasta ahora — auditoría NTLM, firma SMB, BitLocker y el firewall — tratan de endurecer las defensas, este artículo trata de hacer posible confirmar después qué ocurrió, y es la continuación que los une.

1. Primero la conclusión

Para que sus registros sirvan para investigar, alinee tres cosas: registrar lo que necesita, leer el elemento correcto en la máquina correcta y conservarlo antes de que desaparezca. Lo importante es no detenerse en activar la auditoría.

Si va a configurar la auditoría: unifique en el lado avanzado y registre solo lo necesario

  • La directiva de auditoría tiene dos sistemas, «básica» y «avanzada» (Advanced Audit Policy), y no debe mezclarlos. Microsoft indica de forma explícita que usar ambos deja los resultados de auditoría en un estado inesperado. Unifique en el lado avanzado (más de 40 subcategorías).1
  • Para comprobar el estado actual, ejecute auditpol /get /category:*. Lista la configuración de auditoría que está en vigor ahora, tanto si viene de una GPO como de la configuración local.2
  • No «active todo». Activar subcategorías que generan enormes cantidades de eventos sepulta los eventos que importan en el ruido y también afecta al rendimiento. Parta de las recomendaciones de referencia de Microsoft y añada solo lo que necesite.34

Si está investigando ahora: compruebe la máquina de registro y los campos, no solo el id. de evento

  • Un inicio de sesión correcto es 4624 y un error es 4625. En el 4624 distingue «qué tipo de inicio de sesión fue» por el tipo de inicio de sesión (2 = interactivo, 3 = red, 10 = Escritorio remoto, etc.).5
  • En el 4625, los códigos Status/Sub Status indican el motivo del error. El conjunto habitual es 0xC0000064 = el nombre de usuario no existe, 0xC000006A = contraseña incorrecta, 0xC0000072 = cuenta deshabilitada, 0xC0000234 = cuenta bloqueada.6
  • En qué máquina se registra un evento está fijado. 4624/4625 van a la máquina a la que se accedió, la validación de credenciales (4776) va a la máquina que tiene autoridad sobre la credencial (un controlador de dominio para una cuenta de dominio) y el error de preautenticación Kerberos (4771) va a un controlador de dominio. Mirar la máquina equivocada le hará diagnosticar por error que «no hay registro».678

Necesario en ambos casos: diseñar la retención del registro y el tratamiento de la información confidencial

  • En el registro Security, el diseño del contenedor (tamaño máximo y retención) es la mitad del trabajo. Si la retención está en sobrescritura, los eventos más antiguos desaparecen uno a uno. Compruebe el tamaño máximo y el recuento de registros con Get-WinEvent -ListLog Security y amplíelo calculando hacia atrás desde los días que necesita conservar.910
  • El registro de la línea de comandos en la creación de procesos (4688) es potente, pero el intercambio es el riesgo de que secretos acaben en texto plano en el registro. Revise sus scripts antes de activarlo.1112

Elija dónde leer según su objetivo o síntoma

Lo que quiere saber ahora Lo que hay que aclarar primero Dónde leer
Quiero ordenar la configuración de auditoría Comprobar la configuración realmente en vigor y la capacidad del registro, luego elegir las subcategorías necesarias Sección 2: comprobación de la configuración, Sección 5: capacidad y retención, Sección 3: la tabla de decisión
Quiero leer éxitos y errores de inicio de sesión En el éxito mire el tipo de inicio de sesión; en el error, Status/Sub Status 4.1: 4624, 4.2: 4625
Quiero saber por qué una cuenta se bloquea una y otra vez Encontrar el origen con 4740 y comprobar también el destino y el DC para el rastro de los errores 4.3: 4740
Quiero saber quién ejecutó qué Leer el proceso primario en 4688 y la definición de tarea en 4698. Añadir el registro de la línea de comandos exige primero una revisión 4.5: 4688, 4.6: 4698, Sección 7: trampas
El registro que quiero falta o desaparece rápido Comprobar dónde se registra, la configuración de auditoría y el periodo realmente conservado Sección 2, Sección 5, Sección 7
Quiero investigar los registros en bloque Conservarlos primero como evtx, luego extraer por id. y intervalo de tiempo 6.3: conservación, 6.2: PowerShell

Si ya le han entregado una petición de investigación, conserve el registro con el método de 6.3, compruebe las notas sobre máquinas de registro y sincronización de reloj de la sección 7 y luego lea el evento correspondiente en la sección 4. Si está ordenando la configuración, compruebe el estado actual en las secciones 2 y 5 y pase después a la sección 3.

En el diagrama, una línea continua marca una relación que siempre se cumple y una línea discontinua una relación condicional (las condiciones están en la explicación de cada relación en la página de detalle). La lista completa de relaciones (34 en total, con evidencia y grado de certeza) y las definiciones de los conceptos principales están reunidas en la página de detalle del mapa de conocimiento (en japonés). Datos: JSON-LD / Turtle

2. Fundamentos de la directiva de auditoría — no mezclar «básica» y «avanzada»

2.1. Entender la diferencia de ubicación y de granularidad

La directiva de auditoría de Windows tiene dos sistemas.1

  • Directiva de auditoría básica: las nueve configuraciones de categoría bajo «Directivas locales > Directiva de auditoría». Es el sistema antiguo, anterior a Windows Vista.
  • Directiva de auditoría avanzada (Advanced Audit Policy Configuration): las más de 40 configuraciones de subcategoría bajo «Configuración de seguridad > Configuración avanzada de la directiva de auditoría». Cada categoría básica se descompone en varias subcategorías; la única categoría básica «Auditar eventos de inicio de sesión de cuenta», por ejemplo, corresponde a cuatro subcategorías en el lado avanzado. Activar una categoría en el lado básico equivale a activar todas las subcategorías correspondientes, lo que registra enormes cantidades de eventos que no le interesan.1

2.2. Unifique en el lado avanzado e impida que el lado básico lo anule

El punto importante es que los dos sistemas no son compatibles. Microsoft indica de forma explícita que no use a la vez la directiva de auditoría básica y la avanzada, porque los resultados de auditoría quedan en un estado inesperado.

Cuando aplica la directiva de auditoría avanzada mediante Directiva de grupo, la configuración de auditoría existente del equipo se borra primero y luego se aplican los ajustes avanzados; a partir de ahí solo el lado avanzado le da un control fiable.

En un entorno que usa el lado avanzado, active la opción de seguridad «Auditoría: forzar la configuración de subcategoría de la directiva de auditoría (Windows Vista o posterior) para anular la configuración de categoría de la directiva de auditoría» para que el lado básico no anule su configuración (está activada de forma predeterminada en equipos independientes).14

La relación entre la directiva de auditoría básica y la avanzadaLa directiva de auditoría básica y la avanzada no son compatibles y usar ambas deja los resultados de auditoría en un estado inesperado, así que unifique en el lado avanzado y active el forzado de la configuración de subcategoría para impedir que el lado básico la anuleSíNoDirectiva de auditoría básica (9 categorías)¿Usar ambas?Directiva de auditoría avanzada (más de 40 subcategorías)Resultados de auditoría en un estado inesperadoUnificar en el lado avanzadoActivar el forzado de la configuración de subcategoríaImpide que la configuración básica anule

Figura 2: Los dos sistemas no son compatibles. Unifique en el lado avanzado y use el ajuste «forzar» para impedir que el lado básico lo anule.

2.3. Use auditpol para comprobar la directiva que realmente está en vigor

Comprobar el estado actual es un solo comando. Ejecútelo desde un símbolo del sistema de administrador.2

El ejemplo siguiente muestra tres operaciones distintas: mostrar el estado actual, hacer una copia de seguridad antes de un cambio y restaurar. Compruebe primero la visualización y haga una copia de seguridad antes de cambiar. La línea /restore es lo que ejecuta cuando necesita restaurar, no un paso que encadene justo después de la visualización para comprobar el estado actual.

rem Enumerar la configuración de auditoría actualmente en vigor, por subcategoría
auditpol /get /category:*

rem Copia de seguridad (CSV) antes de un cambio, y restauración
auditpol /backup /file:C:\logs\auditpol-backup.csv
auditpol /restore /file:C:\logs\auditpol-backup.csv

La salida de auditpol es «la directiva que está en vigor como resultado», tanto si vino de una GPO como de la configuración local. Eso también la hace útil para cruzar cuando una configuración que cree estar distribuyendo por GPO no ha surtido efecto.

Tenga en cuenta que cambiar la configuración de auditoría en sí registra el evento 4719, así que «la auditoría se había desactivado en silencio» también es rastreable a posteriori.12

Lo que muestra auditpol es la directiva resultanteLa salida de auditpol es la directiva de auditoría en vigor como resultado tanto si vino de una GPO como de la configuración local, así que puede usarse para cruzar cuando la configuración de GPO no ha surtido efecto, y los cambios de la configuración de auditoría en sí quedan rastreables a posteriori mediante el evento 4719Configuración distribuida por GPOLa directiva en vigor como resultadoConfiguración localEnumerar con auditpol /getÚtil para cruzar cuando la GPO no se ha aplicadoCambio de la configuración de auditoría en síSe registra 4719 y es rastreable a posteriori

Figura 3: auditpol devuelve «la configuración en vigor» con independencia de su origen. Los cambios de la configuración de auditoría en sí quedan en 4719.

3. Una tabla de decisión de las subcategorías que activar como mínimo

3.1. Por qué «activar todo» es un error

La razón por la que «simplemente active todo» es una mala idea está clara. Microsoft advierte, por ejemplo, que auditar las subcategorías de uso de privilegios hasta el éxito produce tantos eventos que encontrar otras entradas se vuelve difícil, y que también hay impacto en el rendimiento.4 El contenedor del registro (sección 5) es finito, así que cuanto más ruido registre, menos días de retención quedan para los eventos que realmente necesita. El diseño de la auditoría consiste en decidir qué no registrar.

Por qué activar todo es una mala ideaActivar cada subcategoría genera enormes cantidades de eventos que sepultan los eventos que importan en el ruido y afectan al rendimiento, y en un contenedor de registro finito también recorta el periodo de retención de los eventos que necesitaActivar cada subcategoríaEnormes cantidades de eventosLos eventos que importan quedan sepultadosImpacto en el rendimientoEl periodo de retención se recortaEl diseño de la auditoría consiste en decidir qué no registrar

Figura 4: «Activar todo» sepulta los eventos que importan. El diseño de la auditoría consiste en decidir qué no registrar.

3.2. Parta de la referencia y elija los registros que necesita

Microsoft publica recomendaciones de referencia y recomendaciones más estrictas por separado para estaciones de trabajo y servidores, y ese es el punto de partida.3 Encima, la tabla siguiente organiza las cosas desde la perspectiva «como mínimo, esto es lo que quiero poder leer durante un incidente» de un entorno de tamaño pequeño o mediano. Es la tabla de decisión de este artículo, construida sobre las recomendaciones de Microsoft como punto de partida, no una lista de configuración para aplicar de forma uniforme a todos los entornos.

Subcategoría (categoría) Id. de evento principales Lo que le dice Recomendación para entornos de tamaño pequeño o mediano
Audit Logon (Logon/Logoff) 4624 / 4625 Éxitos y errores de inicio de sesión, tipo de inicio de sesión, origen Éxito + error. El éxito y el error están activados de forma predeterminada en Windows 10 1809 y posteriores3
Audit Special Logon (la misma) 4672 / 4964 Aparición de un inicio de sesión que lleva privilegio administrativo Éxito
Audit Account Lockout (la misma) 4625 Inicio de sesión fallido contra una cuenta bloqueada Error (4625 es un evento de error; no hay evento de éxito en esta subcategoría)13
Audit User Account Management (Account Management) 4720 / 4726 / 4738 / 4740 Creación, eliminación, modificación y bloqueo de cuenta Éxito + error
Audit Security Group Management (la misma) 4728 / 4732 / 4756 (añadidos), 4729 / 4733 / 4757 (quitados) Miembros añadidos o quitados de grupos como el de administradores (global/local/universal) Éxito (no hay evento de error en esta subcategoría)14
Audit Credential Validation (Account Logon) 4776 Éxito o error de la autenticación NTLM. En cuentas de dominio se registra en el DC7 Éxito + error
Audit Kerberos Authentication Service (la misma, solo DC) 4768 / 4771 Emisión de TGT y errores de preautenticación como una contraseña incorrecta8 Éxito + error en los DC
Audit Process Creation (Detailed Tracking) 4688 Quién inició qué, y desde qué proceso primario Éxito. Lea las advertencias de la sección 7 antes de activar el registro de la línea de comandos
Audit Other Object Access Events (Object Access) 4698 Creación de tareas programadas (un clásico de la persistencia del atacante)15 Considere el éxito
Audit Audit Policy Change (Policy Change) 4719 Cambios de la configuración de auditoría en sí Éxito + error

3.3. Para las que se registran en masa, estreche los destinos y la ventana de tiempo

A la inversa, es más seguro no tocar de forma predeterminada la auditoría de acceso a objetos del sistema de archivos y del Registro, el uso de privilegios ni las subcategorías de filtro de paquetes (5152 y similares). Estas rinden con una configuración SACL estrechamente dirigida o una ventana limitada en el tiempo durante el triaje; dejarlas abiertas del todo todo el tiempo se come el registro.4

Cómo tratar las subcategorías de alto volumenLa auditoría de acceso a objetos del sistema de archivos y del Registro, el uso de privilegios y las subcategorías de filtro de paquetes se comen el registro cuando se dejan abiertas del todo todo el tiempo, y solo rinden con una configuración SACL estrechamente dirigida o una ventana limitada en el tiempo durante el triajeAbiertas del todo todo el tiempoSACL estrechamente dirigidaVentana limitada durante el triajeSubcategorías de alto volumen¿Cómo las activa?Auditoría de acceso a objetosUso de privilegios y subcategorías de filtro de paquetesSe come el registroRindeRinde

Figura 5: No deje el acceso a objetos ni el uso de privilegios abiertos del todo todo el tiempo. Solo rinden con destinos y ventanas de tiempo estrechos.

4. Cómo leer los id. de evento estándar

Compruebe tres cosas como conjunto: de qué evento se trata, en qué máquina queda y qué campo mirar. Los inicios de sesión empiezan en 4.1 y 4.2, los bloqueos en 4.3, los cambios de cuenta en 4.4 y las operaciones que se ejecutaron en 4.5 y 4.6. En una investigación real, conserve primero el registro con el método de 6.3.

4.1. 4624 — Ordene los inicios de sesión correctos por tipo de inicio de sesión

4624 es «Se inició sesión correctamente en una cuenta» y se registra en la máquina donde se creó la sesión de inicio de sesión, es decir, la máquina a la que se accedió.5 Como se registra en gran número, empiece por ordenarlo por tipo de inicio de sesión cuando lo lea.5

Tipo de inicio de sesión Nombre Qué significa en la práctica
2 Interactive Inicio de sesión en la consola de ese PC
3 Network Acceso por la red (carpetas compartidas, herramientas de administración, etc.). El tipo más frecuente, ya que aparece una vez por máquina
4 Batch Ejecución por lotes (tareas programadas y similares)
5 Service Inicio de un servicio (Service Control Manager)
7 Unlock Desbloqueo de una pantalla bloqueada
8 NetworkCleartext Un inicio de sesión de red en el que la contraseña se pasó al paquete de autenticación en texto claro
9 NewCredentials Duplicación con credenciales distintas (equivalente a runas /netonly)
10 RemoteInteractive Escritorio remoto
11 CachedInteractive Inicio de sesión con credenciales en caché (cuando el DC no es accesible)

Tras ordenar por tipo, mire la cuenta, el origen y el privilegio

Los demás campos que mirar son el nombre de cuenta bajo «New Logon», la dirección de origen bajo «Network Information», el «Authentication Package» (NTLM o Kerberos) y el «Elevated Token» (si es una sesión administrativa). Si quiere seguir solo los inicios de sesión administrativos, también puede usar 4672 (privilegios especiales asignados a un nuevo inicio de sesión), que se registra con el mismo id. de inicio de sesión.5

El procedimiento para ordenar los 4624Como 4624 se registra en gran número, ordénelo primero por tipo de inicio de sesión, luego compruebe el nombre de cuenta y el origen, el paquete de autenticación y el token elevado, y cruce los inicios de sesión administrativos con el 4672 del mismo id. de inicio de sesión4624 inicio de sesión correctoOrdenar por tipo de inicio de sesiónComprobar los campos principalesNombre de cuenta y origenPaquete de autenticaciónToken elevadoSeguir el privilegio administrativoEl 4672 con el mismo id. de inicio de sesión

Figura 6: Ordene el 4624 por tipo de inicio de sesión antes de leer los campos. Correlacione los inicios de sesión con privilegios con 4672.

4.2. 4625 — Fije el motivo del error con los códigos Status/Sub Status

4625 es «Error al iniciar sesión en una cuenta» y se registra en la máquina donde se intentó el inicio de sesión.6 En lugar del texto del campo «Failure Reason», leer los códigos hexadecimales Status/Sub Status es el enfoque fiable. El conjunto habitual es el siguiente.6

Primero, lea el motivo del error a partir de Status/Sub Status

  • 0xC0000064: el nombre de usuario no existe. Una serie de estos en una ventana corta es señal de un ataque de enumeración de cuentas
  • 0xC000006A: contraseña incorrecta. Una serie de estos contra una cuenta concreta es señal de un ataque de adivinación de contraseñas
  • 0xC000006D: nombre de usuario o información de autenticación incorrectos
  • 0xC000006F: fuera de las horas permitidas
  • 0xC0000070: desde un equipo que no está permitido
  • 0xC0000072: cuenta deshabilitada por un administrador (los intentos contra la cuenta de un antiguo empleado aparecen aquí)
  • 0xC000015B: el tipo de inicio de sesión solicitado no está concedido en esta máquina
  • 0xC0000193: cuenta expirada
  • 0xC0000234: cuenta bloqueada

Combine la cuenta de destino, el origen y el motivo del error

«Quién, desde dónde y por qué falló» se fija con el conjunto de tres: la cuenta de destino, el origen (nombre de equipo / dirección IP) y este código. La sección 6.2 tiene PowerShell que extrae los tres de una pasada.

El flujo para fijar el motivo de un error 4625Fije el motivo de un error 4625 con el código hexadecimal Status/Sub Status, lea las señales de un ataque a partir del patrón de códigos y luego identifíquelo con el conjunto de tres que añade la cuenta de destino y el origenUna serie de 0xC0000064Una serie de 0xC000006A0xC00000724625 inicio de sesión fallidoComprobar el código Sub Status¿Cuál es el patrón de códigos?Señal de enumeración de cuentasSeñal de adivinación de contraseñasIntento contra la cuenta de un antiguo empleadoFijarlo con el conjunto de tresCuenta de destino + origen + código

Figura 7: Fije el motivo con el código y léalo junto con la cuenta de destino y el origen como un conjunto de tres.

4.3. 4740 — El origen de un bloqueo es el «Caller Computer Name»

Encontrar el origen: el nombre del equipo de llamada en 4740

4740 es «Se bloqueó una cuenta de usuario» (la subcategoría es Audit User Account Management). El campo que impulsa este evento es «Caller Computer Name», que registra desde qué equipo vino el intento de inicio de sesión que desencadenó el bloqueo.16 El movimiento habitual es identificar aquí el equipo de origen y luego revisar ese equipo en busca de credenciales antiguas que sigan en él.

En la mayoría de los casos la causa es algo que sigue usando credenciales antiguas después de un cambio de contraseña: credenciales guardadas, una sesión RDP que quedó desconectada, o un servicio o una tarea configurados con la contraseña antigua.

El movimiento habitual para investigar un bloqueo de cuentaIdentifique el equipo de origen a partir del nombre del equipo de llamada en 4740 y revise ese equipo en busca de credenciales guardadas, sesiones de Escritorio remoto que quedaron desconectadas y servicios o tareas configurados con la contraseña antigua4740 se produjo el bloqueoComprobar el nombre del equipo de llamadaIdentificar el equipo de origenRevisar credenciales antiguasCredenciales guardadasSesiones RDP que quedaron desconectadasServicios y tareas con la contraseña antigua

Figura 8: Identifique el origen a partir del «Caller Computer Name» de 4740 y luego revise ese equipo en busca de credenciales antiguas.

Encontrar el rastro del error: mire el lado que lo aceptó, no el origen

Hay una salvedad. El 4625 se registra en el equipo que aceptó el intento de inicio de sesión. Si la causa es un inicio de sesión de red desde el equipo de origen hacia un servidor de archivos o similar, no queda ningún 4625 en el registro Security del propio equipo de origen; el rastro queda en el 4625 del servidor de destino o, en una cuenta de dominio, en 4776 (NTLM) / 4771 (error de preautenticación Kerberos) en el DC.78 Cuando «no hay nada en el registro del equipo de origen», vaya a mirar el lado que aceptó.

El flujo de la investigación se puede organizar así: encontrar el origen a partir del llamador en 4740, cruzar en orden cronológico el 4625 del destino y el 4776/4771 del DC, luego comprobar las credenciales guardadas, los servicios, las tareas, etc. en el equipo de origen. Encontrar el origen y encontrar dónde se registran los eventos de error son dos cosas distintas.

Las máquinas donde permanece el rastro de un errorUn error de inicio de sesión de red no permanece en el propio equipo de origen, sino que se registra en el 4625 del servidor de destino que aceptó el intento, y en una cuenta de dominio el rastro también permanece en 4776 o 4771 en el DCInicio de sesión de redAutenticación de cuenta de dominioEquipo de origen (sin 4625 propio)Servidor de destinoSe registra 4625Controlador de dominio4776 (NTLM) / 4771 (Kerberos)

Figura 9: El 4625 permanece en el lado que aceptó el intento. Si no hay nada en el equipo de origen, mire el servidor de destino y el DC.

4.4. La familia 4720 — Creación y modificación de cuentas y adiciones a grupos

Separe los cambios de cuenta de los cambios de pertenencia a un grupo

Los eventos de administración de cuentas van en secuencia: 4720 (se creó una cuenta de usuario)17, 4726 (eliminada), 4738 (cambiada) y luego las adiciones y extracciones de miembros en el lado del grupo.

Tenga en cuenta que los cambios de pertenencia a un grupo se reparten entre id. de evento según el tipo de grupo. Los grupos locales son 4732/4733, los globales 4728/4729 y los universales 4756/4757.14 Domain Admins es un grupo global, así que una adición se registra en 4728: si pone solo 4732 como condición de alerta, se perderá precisamente lo que más quiere ver.

Una adición inesperada a un grupo de administradores merece investigación incluso como caso aislado

En el día a día son registros del trabajo del servicio de asistencia, pero «un usuario estándar se añadió de pronto a un grupo de administradores» o «se creó una cuenta que nadie conoce» es un asunto de investigación inmediata incluso como aparición única. Microsoft también enumera una adición inesperada de miembro a un grupo privilegiado como ejemplo de evento sobre el que alertar de forma individual.3

Tipos de grupo y eventos de adición de miembroUna adición de miembro a un grupo se reparte entre id. de evento según el tipo de grupo, registrada en 4732 para local, 4728 para global y 4756 para universal, así que una adición al grupo global Domain Admins aparece en 4728LocalGlobalUniversalMiembro añadido a un grupo¿Qué tipo de grupo?Registrado en 4732Registrado en 4728Registrado en 4756Las adiciones a Domain Admins aterrizan aquíVigilar solo 4732 las pierde

Figura 10: El id. de evento de una adición de miembro se separa según el tipo de grupo. Una adición a Domain Admins es 4728.

4.5. 4688 — Creación de proceso. El registro de la línea de comandos es un interruptor aparte

Lo que le dice la auditoría de creación de procesos

4688 es «Se ha creado un proceso nuevo» y, en cada creación de proceso, registra la cuenta que lo creó, la ruta del ejecutable del proceso nuevo, el proceso primario y el tipo de elevación de token.11 Es un evento de investigación de alto valor que puede responder a «quién ejecutó qué en este servidor».

Conservar la línea de comandos exige una configuración aparte y primero una revisión

De forma predeterminada, no obstante, los argumentos de la línea de comandos no se registran. Solo cuando activa por separado la configuración de Directiva de grupo «Incluir línea de comandos en eventos de creación de procesos» (Plantillas administrativas > Sistema > Auditoría de creación de procesos) aparecen los argumentos en el campo «Process Command Line» de 4688.1112 Es de hecho obligatorio para seguir inicios sospechosos como powershell -EncodedCommand ..., pero actívelo solo después de entender el riesgo de que se filtren secretos al registro descrito en la sección 7. Lea primero la sección 7, corrija los sitios que pasan secretos como argumentos y luego configúrelo.

La relación entre 4688 y el registro de la línea de comandosActivar la auditoría de creación de procesos registra la cuenta, la ruta del ejecutable y el proceso primario en 4688, pero los argumentos de la línea de comandos solo se registran cuando se activa una configuración aparte de Directiva de grupo, lo que conlleva el riesgo de que aparezcan secretos en texto planoDejado en el valor predeterminadoActivar la GPO adicionalActivar la auditoría de creación de procesosSe registra 4688Cuenta, ruta, proceso primario¿Quiere también los argumentos?La línea de comandos está vacíaSe registran los argumentosRiesgo de secretos en texto plano

Figura 11: El registro de la línea de comandos de 4688 es un interruptor aparte. Activarlo exige revisar primero el riesgo de que se filtren secretos.

4.6. 4698 — Se creó una tarea programada

4698 es «Se creó una tarea programada» y registra el nombre de la tarea y el XML completo de la definición de la tarea (incluida la orden que se ejecuta). Como registrar una tarea es la técnica habitual que usa el malware para sobrevivir a un reinicio, Microsoft recomienda supervisar los eventos de creación de tareas.15 Incluso en entornos que usan muchas tareas con fines de negocio, una creación no es un hecho cotidiano, así que el ruido es reducido.

Persistencia mediante el registro de tareas y 4698El malware registra habitualmente tareas programadas para sobrevivir a un reinicio, así que supervisar el 4698 registrado al crear una tarea permite seguir la definición de la tarea hasta la orden que ejecutaPersistencia de malwareRegistrar una tarea para sobrevivirSe registra 4698XML completo incluida la orden que se ejecutaDetectarlo supervisando la creación de tareasLa creación no es un hecho cotidiano, así que poco ruido

Figura 12: El registro de tareas, la técnica habitual de persistencia, queda en 4698. El XML completo de la definición permite seguirla hasta la orden.

Para saber si el propio registro se borró, compruebe también 1102

Otro que conviene tener presente es 1102, «Se borró el registro de auditoría». Borrar el registro Security deja siempre este evento, así que cuando «el registro está vacío» puede saber si fue una operación deliberada o algo que salió mal.18

Usar 1102 para clasificar un registro borradoBorrar el registro Security deja siempre un 1102, así que cuando el registro está vacío, comprobar si hay un 1102 indica si el borrado fue una operación que alguien realizó o algo que salió malSíNoEl registro está vacíoEl borrado deja siempre un 1102¿Hay un 1102?Alguien realizó un borradoSospechar que algo salió mal

Figura 13: Borrar el registro Security deja siempre un 1102. En un registro vacío, la presencia de 1102 separa una operación deliberada de algo que salió mal.

5. Diseñar el contenedor del registro — tamaño máximo y retención

5.1. Cuando se llena, ¿qué se pierde, los registros antiguos o los nuevos?

Antes de añadir directivas de auditoría, compruebe el recipiente que tiene que recogerlas. El registro Security tiene un tamaño máximo y un modo de retención, y en modo de sobrescritura (la configuración de facto estándar), al alcanzar el tamaño máximo los eventos nuevos sobrescriben los más antiguos. En modo de retención (no sobrescribir), por el contrario, los que se descartan son los eventos nuevos cuando el registro está lleno.10 Ambos comportamientos son una causa de «el registro ya no estaba cuando me di cuenta», así que entender el estado actual va primero.

5.2. Calcule la capacidad que necesita a partir de los días realmente conservados

# Comprobar el contenedor del registro Security: modo de retención, tamaño máximo, recuento actual
Get-WinEvent -ListLog Security |
    Select-Object LogName, LogMode, MaximumSizeInBytes, RecordCount

# Cuántos días se conservan realmente ahora mismo (marca de tiempo del evento más antiguo)
Get-WinEvent -LogName Security -Oldest -MaxEvents 1 |
    Select-Object TimeCreated

Get-WinEvent -ListLog devuelve juntos la configuración del registro y el recuento.9 La diferencia entre «la marca de tiempo del evento más antiguo» y el presente es el periodo de retención que tiene realmente, y si no llega a su propio requisito (los días a los que quiere poder retroceder en una investigación de incidente), amplía el tamaño máximo. La configuración se puede distribuir con wevtutil sl Security /ms:<bytes> o mediante Directiva de grupo.10

Piense la capacidad en términos de «cuántos días queremos conservar». Añadir subcategorías de auditoría aumenta el volumen de eventos, así que vuelva a comprobar los días realmente conservados después de cambiar la configuración. También necesita la práctica operativa de exportar con un calendario antes de que se sobrescriban los eventos, o de agregarlos en otra máquina.

Diseño de capacidad calculado hacia atrás desde el periodo de retenciónCompruebe la configuración y el recuento con el parámetro ListLog de Get-WinEvent, derive el periodo de retención realmente disponible a partir de la marca de tiempo del evento más antiguo y amplíe el tamaño máximo si no llega a los días a los que quiere retroceder en una investigación de incidenteSíNoComprobar configuración y recuento con ListLogComprobar la marca de tiempo del evento más antiguoCalcular el periodo de retención realmente disponible¿Cumple el requisito?Mantener el tamaño actualAmpliar el tamaño máximoConfigurar con wevtutil sl o GPO

Figura 14: Confirme los días realmente conservados y fije el tamaño máximo calculando hacia atrás desde los días a los que quiere retroceder.

5.3. CrashOnAuditFail no es una configuración que resuelva un déficit de capacidad

Tenga en cuenta que las opciones de seguridad incluyen «Auditoría: apagar el sistema inmediatamente si no se pueden registrar las auditorías de seguridad» (lo que se suele llamar CrashOnAuditFail). Cuando está activada y ya no se pueden registrar las auditorías de seguridad, el sistema se detiene con el error STOP C0000244. Es una configuración para requisitos de certificación en los que la pista de auditoría no debe perderse en absoluto, y está desactivada de forma predeterminada.

El propio Microsoft advierte que puede convertirse en un DoS en el que un atacante detiene a propósito un servidor generando enormes cantidades de eventos, así que no es algo que activar a la ligera en un entorno ordinario de tamaño pequeño o mediano.19

Comportamiento cuando el registro se llenaLa configuración de retención tiene dos formas, modo de sobrescritura y modo de no sobrescribir, y cuando ya no se pueden registrar auditorías en el modo de no sobrescribir, la configuración aparte CrashOnAuditFail detiene el sistema con el error STOP C0000244 si está activadaModo de sobrescrituraNo sobrescribirSíEl registro Security alcanza el tamaño máximo¿Cuál es la configuración de retención?Se sobrescriben los eventos más antiguosSe descartan los eventos nuevosAmbos hacen que el registro desaparezca antes de que se dé cuenta¿También está activado CrashOnAuditFail?El sistema se detiene con el error STOP C0000244

Figura 15: La configuración de retención es o bien sobrescribir o bien descartar. CrashOnAuditFail es una configuración aparte que detiene el sistema cuando no se puede registrar la auditoría.

6. La investigación en la práctica — filtros, Get-WinEvent y exportación

El orden en el que trabaja de verdad es «conservar en 6.3 y luego analizar en 6.1 o 6.2». Esta sección recorre cada herramienta de investigación. Para un caso aislado, use el Visor de eventos; cuando el volumen es grande o la investigación se repite, use PowerShell.

6.1. Filtrar en el Visor de eventos

Para una investigación aislada, basta el Visor de eventos. Abra el registro Security y especifique el id. de evento (4625, por ejemplo) y el intervalo de tiempo en «Filtrar registro actual». Guarde las condiciones que consulta de forma repetida con «Crear vista personalizada» y la próxima vez estarán a un clic. Si quiere restringir por algo distinto del id. de evento, como una cuenta concreta, puede editar la consulta XPath directamente en la pestaña XML del cuadro de diálogo de filtro.

6.2. Extracción con Get-WinEvent

Para investigaciones con gran volumen, varias condiciones o un calendario recurrente, pase al Get-WinEvent de PowerShell. La clave es usar -FilterHashtable, que hace que el filtro surta efecto en el servidor.9

Elegir entre las herramientas de investigaciónUna investigación aislada se resuelve con el filtro del Visor de eventos, las condiciones que consulta de forma repetida se guardan como vista personalizada, y las investigaciones con gran volumen, varias condiciones o un calendario recurrente pasan a Get-WinEventAisladaCondiciones que vuelve a verGrande, varias condiciones, programada¿Qué tipo de investigación?Filtrar en el Visor de eventosGuardar como vista personalizadaPasar a Get-WinEventFiltrar con FilterHashtable

Figura 16: Visor de eventos para casos aislados, vistas personalizadas para repeticiones, Get-WinEvent cuando el volumen es grande.

Restrinja por id. e intervalo de tiempo y luego extraiga la cuenta de destino, el origen y el motivo del error

La primera mitad siguiente recupera los eventos 4625 de las últimas 24 horas. La segunda extrae los campos individuales del XML y es un ejemplo que cuenta las apariciones por combinación de cuenta, Status, SubStatus y origen. La tabla final no es un listado cronológico de eventos individuales; muestra cuántas veces ocurrió cada combinación, en orden descendente.

# Recuperar inicios de sesión fallidos (4625) de las últimas 24 horas
Get-WinEvent -FilterHashtable @{
    LogName   = 'Security'
    Id        = 4625
    StartTime = (Get-Date).AddDays(-1)
}

# Dar forma de tabla a «quién, desde dónde y por qué»
Get-WinEvent -FilterHashtable @{
    LogName   = 'Security'
    Id        = 4625
    StartTime = (Get-Date).AddDays(-1)
} | ForEach-Object {
    $x = [xml]$_.ToXml()
    $d = @{}
    $x.Event.EventData.Data | ForEach-Object { $d[$_.Name] = $_.'#text' }
    [pscustomobject]@{
        Time      = $_.TimeCreated
        Account   = "$($d.TargetDomainName)\$($d.TargetUserName)"
        LogonType = $d.LogonType
        Source    = "$($d.WorkstationName) $($d.IpAddress)"
        Status    = $d.Status
        SubStatus = $d.SubStatus
    }
} | Group-Object Account, Status, SubStatus, Source |
    Sort-Object Count -Descending |
    Format-Table Count, Name -AutoSize

Reutilice el patrón para leer los campos que necesita del XML en otros eventos

Una vez que tiene este patrón para extraer EventData de la representación XML de un evento, puede reutilizarlo igual para 4624 o 4688. El diseño del filtrado de Get-WinEvent (cuándo usar FilterHashtable frente a XPath, y cómo corregir una consulta lenta) se trata en detalle en «Investigar el registro de eventos con Get-WinEvent de forma práctica — la velocidad del filtrado determina el tiempo de investigación».

El patrón de forma para extraer EventDataConvierta un evento recuperado con Get-WinEvent en su representación XML, extraiga cada campo EventData y déle forma de tabla, y reutilice este patrón igual para 4624 y 4688 además de 4625Recuperar con Get-WinEventConvertir el evento en su representación XMLExtraer EventDataDar forma de tabla y agregarIgual para 4624 y 4688

Figura 17: El patrón de extraer EventData de la representación XML a una tabla es reutilizable cuando cambia el id. de evento.

6.3. Exportar con wevtutil

Como norma, los registros de la máquina bajo investigación deben exportarse y asegurarse primero, antes de que la sobrescritura los elimine.10

rem Conservar todo el registro Security como evtx
wevtutil epl Security C:\logs\security-20260801.evtx

rem Exportar solo 4625, restringido con XPath
wevtutil epl Security C:\logs\security-4625.evtx /q:"*[System[(EventID=4625)]]"

Analice el evtx guardado en otra máquina

El .evtx exportado se puede analizar en otra máquina exactamente igual, con Get-WinEvent -Path C:\logs\security-20260801.evtx.9 El hábito de conservar antes de analizar es el mismo pensamiento que «asegure primero el volcado» en una investigación de fallo (véase «Introducción a la recolección de volcados de memoria de fallos en Windows - WER/ProcDump/WinDbg»).

El flujo de conservar antes de analizarExporte y asegure el registro Security de la máquina bajo investigación en un archivo evtx con wevtutil epl, luego analícelo igual en otra máquina apuntando Get-WinEvent a la rutaMáquina bajo investigaciónConservar como evtx con wevtutil eplLlevarlo a otra máquinaAnalizar con Get-WinEvent -PathAsegurarlo antes de que la sobrescritura lo elimine

Figura 18: Conservar primero, analizar después. Una vez asegurado como evtx puede investigarlo igual en otra máquina.

7. Trampas — cuatro en las que es fácil caer en el terreno

7.1. Secretos que viajan en la línea de comandos de 4688

Active el registro de la línea de comandos y los argumentos de todos los procesos van al registro Security en texto plano. Microsoft indica de forma explícita que «todos los usuarios con acceso de lectura a los eventos de seguridad pueden leer los argumentos de la línea de comandos de cualquier proceso creado correctamente, y esos argumentos pueden contener datos confidenciales como contraseñas».12 Si existe aunque sea una aplicación de negocio o un script que inicia algo como myapp.exe /user:admin /password:P@ssw0rd, eso es la revelación del secreto a todos los que pueden leer el registro.

Antes de activarlo, encuentre y corrija los sitios que pasan secretos como argumentos. El mismo nivel de tratamiento se exige entonces allí donde se conservan y reenvían los registros.

El orden para activar el registro de la línea de comandosAntes de activar el registro de la línea de comandos de 4688, encuentre las aplicaciones de negocio y los scripts que pasan secretos como argumentos, mantenga el orden de corregirlos antes de activar la configuración y exija el mismo nivel de tratamiento para los destinos de conservación y reenvío de los registrosSíNoEncontrar los secretos pasados como argumentos¿Hay alguno?Corregir los sitios que los pasanActivar el registro de la línea de comandosMismo nivel de tratamiento para conservación y reenvío

Figura 19: El registro de la línea de comandos es «encontrarlos, corregirlos y luego activar». Invierta el orden y revela los secretos.

7.2. Operar sin conocer el comportamiento cuando el registro se llena

En modo de sobrescritura los registros antiguos desaparecen en silencio, con la sobrescritura desactivada se descartan los eventos nuevos, y con CrashOnAuditFail activado el propio sistema se detiene (sección 5).1019 El enfoque correcto es saber qué comportamiento ha elegido y poner un mecanismo que «los recoja antes de que desaparezcan» (exportaciones programadas o una plataforma de recolección de registros).

7.3. Los controladores de dominio y las estaciones de trabajo exigen registros distintos

4624/4625 se registran en la máquina a la que se accedió.56 La validación de credenciales de una cuenta de dominio (el 4776 de NTLM), en cambio, se registra en la máquina que tiene autoridad sobre la credencial, que para una cuenta de dominio es un DC7, y el error de preautenticación Kerberos (4771) se registra solo en un DC.8 «No hay un 4625 en el servidor de archivos» no significa «no hubo ataque»; solo tiene el panorama completo cuando también cruza 4776/4771 en el DC. Para cómo fluye realmente cada protocolo de autenticación, véase «NTLM y Kerberos explicados con diagramas — por qué la autenticación «cae» a NTLM».

7.4. Si los relojes no están sincronizados, no puede cruzar

Alinear registros de varias máquinas para seguir «qué equipo produjo un 4625 justo antes de este 4740» supone que los relojes de esas máquinas coinciden. En un entorno de dominio, Kerberos mismo fija un límite superior al desfase de reloj (5 minutos de forma predeterminada), y más allá la propia autenticación empieza a fallar.20 Desde el punto de vista de la investigación, un desfase de unos segundos —por no hablar de cinco minutos— basta para leer mal el orden de los eventos, así que ponga una comprobación del estado de sincronización de w32time al principio mismo de su procedimiento de investigación.

Además, las marcas de tiempo de los eventos se almacenan en UTC y se muestran según la zona horaria de la máquina que los consulta, así que cuando lea un evtx traído de un sitio en el extranjero o de un servidor configurado en UTC, no olvide convertir la zona horaria.

La sincronización de reloj como requisito previo del cruceUna investigación que alinea registros de varias máquinas en orden cronológico supone que los relojes de esas máquinas coinciden, ya que un desfase de unos segundos basta para leer mal el orden de los eventos y un desfase más allá de los cinco minutos predeterminados hace fallar la propia autenticación Kerberos, así que ponga una comprobación de w32time al inicio del procedimientoDe acuerdoUnos segundos de desfaseMás allá de los 5 minutos predeterminadosCruzar registros de varias máquinasSupone que los relojes coinciden¿Cuánto están desfasados los relojes?Puede seguirlos en orden cronológicoLeer mal el orden de los eventosFalla la autenticación KerberosPoner la comprobación de w32time al inicio del procedimiento

Figura 20: Cruzar varias máquinas supone que los relojes están alineados. Incluso unos segundos de desfase llevan a leer mal el orden de los eventos.

8. Resumen

Para usar el registro Security de Windows en una investigación, diseñe juntas tres cosas: el alcance de lo que registra, el lugar y los campos que lee, y el mecanismo que lo conserva.

Cuando ordena la configuración

No mezcle la directiva de auditoría «básica» y la «avanzada»; unifique en el lado avanzado. Compruebe el estado actual con auditpol /get /category:* y parta de la tabla de decisión de la sección 3, construida en torno al inicio de sesión, la administración de cuentas y la creación de procesos, con las recomendaciones de referencia de Microsoft como punto de partida. «Activar todo» dificulta la investigación por el ruido y el hinchamiento.

El contenedor del registro (tamaño máximo y modo de retención) es la mitad del diseño de la auditoría. Compruebe los días realmente conservados, decida el tamaño calculando hacia atrás desde su requisito y exporte o agregue antes de que desaparezcan los eventos. Active el registro de la línea de comandos de 4688 solo después de revisar el riesgo de que se filtren secretos.

Cuando investiga

Conservar primero, analizar después. Asegure el registro con wevtutil epl, compruebe la máquina de registro de cada evento y la sincronización de reloj, y solo entonces empiece a leer. Use el filtro del Visor de eventos para casos aislados y Get-WinEvent -FilterHashtable para las investigaciones que se repiten.

Los puntos clave al leer son el tipo de inicio de sesión en 4624, Status/Sub Status en 4625, el nombre del equipo de llamada en 4740, y el proceso primario y la línea de comandos en 4688. No juzgue solo por el id. de evento: confirme qué información se registró dónde y cruce los registros que necesita.

Artículos relacionados

Áreas de consultoría relacionadas

En Komura Soft LLC nos ocupamos de la consultoría sobre directiva de auditoría y diseño de registros en entornos Windows, la investigación de «cuándo, quién y qué» a partir del registro de eventos, y el análisis de la causa de los problemas que las aplicaciones de negocio provocan en torno a la autenticación y la auditoría. Empezar por «me han pedido que mire los registros, pero ¿por dónde empiezo?» está perfectamente bien.

Referencias

  1. Microsoft Learn, Advanced security auditing FAQ. Sobre la diferencia entre la directiva de auditoría básica (los nueve ajustes bajo Directivas locales) y la directiva de auditoría avanzada, sobre el hecho de que activar una categoría básica equivale a activar todas las subcategorías correspondientes, sobre que ambas son incompatibles de modo que usarlas juntas deja los resultados de auditoría en un estado inesperado y no deben mezclarse, sobre que los ajustes de auditoría existentes se borran cuando la directiva avanzada se aplica por Directiva de grupo, sobre la necesidad de activar «Auditoría: forzar la configuración de subcategoría de la directiva de auditoría», y sobre minimizar el volumen de eventos identificando y restringiendo a los recursos, actividades y usuarios importantes. ↩ ↩2 ↩3 ↩4

  2. Microsoft Learn, auditpol. Sobre que el comando auditpol puede mostrar (/get), establecer (/set), hacer copia de seguridad en CSV (/backup), restaurar (/restore) y borrar (/clear) la directiva de auditoría del sistema. ↩ ↩2

  3. Microsoft Learn, System Audit Policy recommendations. Sobre las tablas de valores predeterminados de Windows, recomendaciones de referencia y recomendaciones reforzadas, por separado para estaciones de trabajo y servidores, sobre que las recomendaciones no son más que un punto de partida que cada organización debe evaluar y probar frente a sus propias amenazas y tolerancia al riesgo, sobre que la subcategoría Logon tiene el éxito y el error activados de forma predeterminada a partir de Windows 10 1809, sobre la importancia de supervisar también las estaciones de trabajo y no solo los servidores, sobre ejemplos de eventos sobre los que alertar de forma individual como una adición inesperada de miembro a un grupo con privilegios, y sobre la idea de detectar un aumento súbito de inicios de sesión fallidos por comparación con una referencia. ↩ ↩2 ↩3 ↩4

  4. Microsoft Learn, Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings. Sobre poder gestionar la auditoría con precisión a través de más de 40 subcategorías de auditoría, sobre que dejar este ajuste activado es la práctica recomendada con un valor efectivo predeterminado Enabled en clientes, servidores miembro y DC, y sobre la advertencia de que los ajustes que generan enormes cantidades de eventos, como activar todas las subcategorías de uso de privilegios, hacen más difíciles de encontrar las demás entradas en el registro de seguridad y pueden tener un impacto importante en el rendimiento. ↩ ↩2 ↩3 ↩4

  5. Microsoft Learn, 4624(S): An account was successfully logged on. Sobre que 4624 se registra en el equipo al que se accedió cuando se crea una sesión de inicio de sesión, sobre la lista de tipos de inicio de sesión (2 = Interactive, 3 = Network, 4 = Batch, 5 = Service, 7 = Unlock, 8 = NetworkCleartext, 9 = NewCredentials, 10 = RemoteInteractive, 11 = CachedInteractive), sobre el indicador Elevated Token, sobre el paquete de autenticación (NTLM/Kerberos/Negotiate) y el NTLM Package Name (NTLM V1/V2/LM), y sobre la correlación con 4672 y otros a través del id. de inicio de sesión. ↩ ↩2 ↩3 ↩4 ↩5

  6. Microsoft Learn, 4625(F): An account failed to log on. Sobre que 4625 se registra en el equipo donde se intentó el inicio de sesión (la estación de trabajo, si el intento se hizo en la estación de un usuario), sobre que las subcategorías son Account Lockout y Logon, sobre el significado de los códigos Status/Sub Status (0xC0000064 = nombre de usuario incorrecto, 0xC000006A = contraseña errónea, 0xC000006D = nombre de usuario o información de autenticación incorrectos, 0xC000006F = fuera de las horas permitidas, 0xC0000070 = estación de trabajo no permitida, 0xC0000072 = cuenta deshabilitada, 0xC000015B = tipo de inicio de sesión no concedido, 0xC0000193 = cuenta expirada, 0xC0000234 = bloqueada), y sobre que una serie de 0xC0000064 puede ser signo de un ataque de enumeración de cuentas. ↩ ↩2 ↩3 ↩4 ↩5

  7. Microsoft Learn, 4776(S, F): The computer attempted to validate the credentials for an account. Sobre que 4776 se registra cada vez que se validan credenciales mediante autenticación NTLM, sobre que solo se registra en el equipo que tiene autoridad sobre esa credencial, es decir un controlador de dominio para una cuenta de dominio y el equipo local para una cuenta local, y sobre que se registran tanto el éxito como el error. ↩ ↩2 ↩3 ↩4

  8. Microsoft Learn, 4771(F): Kerberos pre-authentication failed. Sobre que 4771 se registra cada vez que el KDC no consigue emitir un TGT Kerberos (por una contraseña errónea, una cuenta expirada, etc.), y sobre que este evento solo se genera en controladores de dominio. ↩ ↩2 ↩3 ↩4

  9. Microsoft Learn, Get-WinEvent (Microsoft.PowerShell.Diagnostics). Sobre recuperar la configuración del registro (LogMode, MaximumSizeInBytes, RecordCount) con -ListLog, sobre el filtrado eficiente especificando LogName, Id, StartTime, etc. en una tabla hash con -FilterHashtable, sobre leer un archivo .evtx guardado con -Path, y sobre recuperar primero el más antiguo con un recuento de registros mediante -Oldest y -MaxEvents. ↩ ↩2 ↩3 ↩4

  10. Microsoft Learn, wevtutil. Sobre ajustar el tamaño máximo (/ms) y el modo de retención (/rt) con set-log (sl), sobre que un modo de retención true conserva los eventos existentes y descarta los nuevos cuando el registro está lleno mientras que false hace que los nuevos sobrescriban los más antiguos, sobre exportar un registro de eventos a un archivo con export-log (epl) y filtrarlo con una consulta XPath mediante la opción /q, y sobre ejecutar consultas con query-events (qe). ↩ ↩2 ↩3 ↩4 ↩5

  11. Microsoft Learn, 4688(S): A new process has been created. Sobre que 4688 se registra cada vez que se inicia un proceso nuevo, sobre que incluye la cuenta creadora, la ruta del ejecutable del proceso nuevo, el nombre del proceso creador (primario) y el tipo de elevación de token, y sobre que el campo Process Command Line está vacío de forma predeterminada y solo se registra una vez activado el ajuste de Directiva de grupo «Incluir línea de comandos en los eventos de creación de procesos». ↩ ↩2 ↩3

  12. Microsoft Learn, Command line process auditing. Sobre que el registro de la línea de comandos exige tanto Audit Process Creation de la directiva de auditoría avanzada como «Incluir línea de comandos en los eventos de creación de procesos» (Plantillas administrativas > Sistema > Auditoría de creación de procesos, No configurado de forma predeterminada), sobre la advertencia de que una vez activado la información de línea de comandos de todos los procesos se registra en texto plano en el registro de eventos de seguridad de modo que todos los usuarios con acceso de lectura pueden leer argumentos que pueden contener secretos como contraseñas, y sobre que el evento 4719 se registra cuando la directiva de auditoría avanzada queda anulada por los ajustes básicos y el ajuste «forzar» lo impide. ↩ ↩2 ↩3 ↩4

  13. Microsoft Learn, Audit Account Lockout. Sobre que la subcategoría Account Lockout audita los inicios de sesión fallidos contra cuentas bloqueadas, sobre que el evento que genera es 4625(F), sobre que no hay evento de éxito en esta subcategoría de modo que activar la auditoría de éxito no sirve de nada, y sobre que la auditoría de errores se recomienda para todos los tipos de equipo. ↩

  14. Microsoft Learn, Audit Security Group Management. Sobre que esta subcategoría audita la creación, modificación y eliminación de grupos de seguridad junto con las adiciones y retiradas de miembros, sobre que los id. de evento de adiciones y retiradas de miembros se separan según el tipo de grupo en 4732/4733 para grupos locales, 4728/4729 para grupos globales y 4756/4757 para grupos universales, sobre la existencia de eventos propios de grupos de dominio como 4728, y sobre que no hay evento de error en esta subcategoría de modo que la auditoría de éxito se recomienda para todos los tipos de equipo. ↩ ↩2

  15. Microsoft Learn, 4698(S): A scheduled task was created. Sobre que 4698 se registra cada vez que se crea una tarea programada, sobre que la subcategoría es Other Object Access Events, sobre que se registran el nombre de la tarea y el XML completo de la definición de tarea incluido el comando a ejecutar, y sobre que supervisar los eventos de creación de tareas se recomienda sobre todo en las máquinas importantes porque el malware usa habitualmente las tareas para persistir tras un reinicio. ↩ ↩2

  16. Microsoft Learn, 4740(S): A user account was locked out. Sobre que 4740 se registra cada vez que se bloquea una cuenta de usuario, sobre que la subcategoría es User Account Management, y sobre que el campo Caller Computer Name registra el nombre del equipo desde el que se recibió el intento de inicio de sesión que causó el bloqueo. ↩

  17. Microsoft Learn, 4720(S): A user account was created. Sobre que 4720 se registra en controladores de dominio, servidores miembro y estaciones de trabajo cada vez que se crea un objeto de usuario nuevo, y sobre que la subcategoría es User Account Management. ↩

  18. Microsoft Learn, 1102(S): The audit log was cleared. Sobre que el evento 1102 se registra cada vez que se borra el registro de auditoría de seguridad de Windows. ↩

  19. Microsoft Learn, Audit: Shut down system immediately if unable to log security audits. Sobre que el sistema se detiene con el mensaje STOP C0000244 {Audit Failed} cuando no se pueden registrar las auditorías de seguridad con este ajuste activado, sobre que el valor predeterminado es Disabled, sobre que puede convertirse en un DoS que fuerza deliberadamente un apagado generando enormes cantidades de eventos de seguridad, y sobre el riesgo de que los datos de aplicación queden inutilizables por la parada brusca. ↩ ↩2

  20. Microsoft Learn, Maximum tolerance for computer clock synchronization. Sobre que Kerberos v5 usa marcas de tiempo como contramedida frente a ataques de repetición, de modo que se fija una tolerancia máxima (5 minutos tanto de forma predeterminada como por recomendación) para el desfase de reloj entre el cliente y el controlador de dominio, más allá de la cual la marca de tiempo no se considera auténtica. ↩

Artículos recientes con las mismas etiquetas para profundizar en temas cercanos.

Estas páginas sitúan el tema en un contexto más amplio de servicios y decisiones.

El artículo está directamente relacionado con los siguientes servicios.

Preguntas frecuentes

Preguntas habituales en las consultas sobre el tema del artículo.

No hemos configurado ninguna directiva de auditoría, ¿por qué se registran 4624 y 4625 en el registro Security?
Porque Windows tiene subcategorías de auditoría activadas de forma predeterminada. La subcategoría «Audit Logon», por ejemplo, tiene el éxito y el error activados de forma predeterminada desde Windows 10 versión 1809, de modo que 4624 (éxito) y 4625 (error) se registran aunque no configure nada. Con los valores predeterminados, no obstante, no se registran muchos de los eventos que acaba necesitando en una investigación, como la validación de credenciales (4776) y la creación de procesos (4688). Puede comprobar qué está activado en su entorno con auditpol /get /category:*. A partir de ahí, la práctica habitual es activar explícitamente las subcategorías que falten en el lado de la directiva de auditoría avanzada.
Quiero investigar un inicio de sesión fallido, pero no encuentro el 4625 en el registro Security del servidor en cuestión. ¿Dónde debo mirar?
Confirme primero el principio de que el 4625 se registra en «el equipo en el que se intentó el inicio de sesión». Si el fallo de inicio de sesión ocurrió en el equipo de un usuario, ese equipo; si el fallo fue al acceder a un servidor de archivos, el servidor de archivos. A continuación, compruebe con auditpol /get /category:* si la auditoría de errores está activada para la subcategoría «Audit Logon». En una cuenta de dominio, el registro suele quedar en la validación de credenciales (4776) o en el error de preautenticación Kerberos (4771) del controlador de dominio, y cuando no puede identificar el equipo, empezar por el DC suele ser el camino más rápido. Si aun así no encuentra nada, compruebe si las entradas antiguas ya se han perdido por sobrescritura (compare el tamaño máximo del registro con la marca de tiempo del evento más antiguo).
¿Deberíamos activar el registro de la línea de comandos para la creación de procesos (4688)?
Su valor de investigación es muy alto, pero es una configuración que debe activar solo después de entender el riesgo. Una vez activada, los argumentos de la línea de comandos de todos los procesos se registran en texto plano en el registro Security. Si existe aunque sea un solo script o una aplicación de negocio que pase una contraseña o una clave de API en la línea de comandos, ese secreto queda visible para cualquiera que pueda leer el registro Security. El propio Microsoft documenta esta advertencia de forma explícita. Recomendamos este orden: primero comprobar si sus propios scripts pasan secretos como argumentos de línea de comandos, corregir esos casos y solo entonces activar la configuración.
¿Cuál debería ser el tamaño máximo del registro Security?
El enfoque correcto es calcular hacia atrás desde «cuántos días queremos conservar a mano»; no hay una cifra universal. Puede comprobar la configuración actual y el comportamiento real con Get-WinEvent -ListLog Security, y la diferencia entre la marca de tiempo del evento más antiguo y la hora actual es «cuántos días se conservan realmente ahora mismo». Añadir subcategorías de auditoría aumenta el volumen de eventos, así que vuelva a comprobar siempre este periodo de retención real después de cambiar la configuración. En la respuesta a incidentes no es raro necesitar registros de hace semanas o meses, así que resulta tranquilizador exportar el registro con regularidad antes de que la sobrescritura lo elimine, o agregarlo en otra máquina con un mecanismo de recolección de registros.
¿Cómo investigo la causa de un bloqueo de cuenta (4740)?
El campo «Caller Computer Name» del evento 4740 es la primera pista. Registra el equipo que originó el intento de inicio de sesión fallido que desencadenó el bloqueo. Tenga en cuenta, no obstante, que el registro del fallo en sí (4625) permanece en el lado que aceptó el intento de inicio de sesión, no en la máquina de origen. Si vino de un inicio de sesión de red, siga en orden cronológico el 4625 del servidor de destino o, en una cuenta de dominio, el 4776/4771 del controlador de dominio. Luego, en el equipo identificado como origen, revise todo lo que siga conservando credenciales antiguas después del cambio de contraseña: credenciales guardadas, sesiones de Escritorio remoto que quedaron desconectadas, y servicios o tareas programadas configurados con la contraseña antigua. Si los bloqueos se repiten, compruebe también si la sincronización de reloj se ha desfasado.

Perfil del autor

Página de presentación del autor del artículo.

Go Komura

Representante de KomuraSoft LLC

Especializado en desarrollo de software para Windows, consultoría técnica e investigación de fallos, sobre todo en proyectos con sistemas existentes y errores difíciles de reproducir.

Volver al blog