SOC Prime Bias: Crítico

25 Mar 2026 18:21

T1547.003 Proveedores de Tiempo en MITRE ATT&CK Explicado

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
T1547.003 Proveedores de Tiempo en MITRE ATT&CK Explicado
shield icon

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ícame

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 utilidad reg.exe (living‑off‑the‑land) para modificar la clave del registro HKLMSystemCurrentControlSetServicesW32TimeTimeProviders<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."