T1547.003 Proveedores de Tiempo en MITRE ATT&CK Explicado
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El artículo explica cómo los atacantes pueden establecer persistencia en Windows abusando del servicio W32Time. Al registrar una DLL maliciosa como proveedor de tiempo a través de un cambio en el registro, la carga útil se carga automáticamente cada vez que se inicia el servicio. Este método oculta la ejecución maliciosa detrás de un componente legítimo de Windows, ayudando al atacante a camuflar la actividad de persistencia en el comportamiento normal del sistema.
Investigación
El informe no se centra en una muestra específica de malware o campaña de intrusión. En su lugar, recorre el proceso técnico que un atacante podría usar para alterar la configuración del registro del servicio W32Time y forzar la carga de una DLL maliciosa. También resalta la sintaxis del comando relevante y la ruta del registro necesaria para implementar el abuso.
Mitigación
Las organizaciones deben usar Group Policy para proteger los archivos del servicio W32Time y las claves de registro relacionadas contra modificaciones no autorizadas. El acceso de escritura al registro debe limitarse a administradores de confianza, y los defensores deben monitorear los cambios en la subclave TimeProviders. Las verificaciones de integridad de archivos para las DLL de W32Time y controles estrictos de privilegios mínimos para la cuenta de Local Service pueden reducir aún más el riesgo.
Respuesta
Los equipos de detección deben alertar sobre la creación o modificación de subclaves debajo de la ruta del registro W32TimeTimeProviders. Los valores de registro que hagan referencia a DLLs desconocidas deben investigarse de inmediato. Estas señales deben correlacionarse con la actividad de procesos que involucren a w32tm.exe cargando una DLL no estándar, junto con cualquier comportamiento de persistencia relacionado.
Flujo de Ataque
Todavía estamos actualizando esta parte. Regístrese para recibir notificaciones
NotifícameDetecciones
Posible abuso de TimeProviders (a través de registry_event)
Ver
Extensión de archivo sospechosa añadida a las claves de ejecución [ASEPs] (a través de registry_event)
Ver
Puntos de persistencia posibles [ASEPs – Hive Software/NTUSER] (a través de cmdline)
Ver
Intento de abuso de TimeProviders posible (a través de cmdline)
Ver
Puntos de persistencia posibles [ASEPs – Hive Software/NTUSER] (a través de registry_event)
Ver
IOCs (Emails) para detectar: T1547.003 Proveedores de Tiempo en MITRE ATT&CK Explicado
Ver
Detectar Manipulación del Registro para un Proveedor de Tiempo Malicioso de DLL [Evento de Registro de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La verificación previa de Telemetría y Línea Base debe haber pasado.
-
Narrativa del Ataque y Comandos:
Un adversario con derechos de administrador local quiere persistencia que sobreviva a reinicios del sistema y sea difícil de detectar. Elige abusar del Servicio de Tiempo de Windows (W32Time) registrando una DLL maliciosa como un proveedor de tiempo. Esta técnica aprovecha la utilidadreg.exe(living‑off‑the‑land) para modificar la clave del registroHKLMSystemCurrentControlSetServicesW32TimeTimeProviders<CustomProvider>. Una vez que el servicio carga la DLL al iniciar, el atacante obtiene ejecución de código con privilegios de SISTEMA. -
Script de Prueba de Regresión:
# ------------------------------------------------- # Registrar DLL maliciosa como un Proveedor de Tiempo W32Time # ------------------------------------------------- $providerName = "MaliciousTimeProvider" $dllPath = "C:TempevilTime.dll" # 1. Crear un marcador de posición de DLL maliciosa de prueba (solo para prueba) New-Item -Path $dllPath -ItemType File -Force | Out-Null # 2. Agregar la clave de registro del proveedor de tiempo $regPath = "HKLMSystemCurrentControlSetServicesW32TimeTimeProviders$providerName" reg add "HKLMSystemCurrentControlSetServicesW32TimeTimeProviders$providerName" /v "Dll" /t REG_SZ /d $dllPath /f # 3. Habilitar el proveedor (valor Enabled = 1) reg add "HKLMSystemCurrentControlSetServicesW32TimeTimeProviders$providerName" /v "Enabled" /t REG_DWORD /d 1 /f Write-Host "Proveedor de tiempo malicioso registrado. Verifique SIEM para detección." -
Comandos de Limpieza:
# ------------------------------------------------- # Eliminar el registro del proveedor de tiempo malicioso # ------------------------------------------------- $providerName = "MaliciousTimeProvider" $regPath = "HKLMSystemCurrentControlSetServicesW32TimeTimeProviders$providerName" # Eliminar la clave del proveedor de forma recursiva reg delete "HKLMSystemCurrentControlSetServicesW32TimeTimeProviders$providerName" /f # Eliminar el archivo DLL falso Remove-Item "C:TempevilTime.dll" -Force -ErrorAction SilentlyContinue Write-Host "Limpieza completa."