El Backdoor SLEEPWALKER Utiliza Su Propio Lenguaje de Comandos
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
SLEEPWALKER es una puerta trasera pasiva altamente sofisticada que permanece inactiva en la memoria hasta que es activada por un paquete de red especialmente diseñado. Utiliza un lenguaje de comandos en código de bytes personalizado para realizar tareas que incluyen exfiltración de datos, movimiento lateral y ejecución de shellcode en memoria. Al evitar el comportamiento tradicional de sondeo, el malware se vuelve significativamente más difícil de detectar a través del monitoreo de red convencional.
Investigación
La investigación encontró que SLEEPWALKER es un DLL de Windows de 64 bits diseñado para carga lateral de DLL en el proceso del Agente de Gestión ESET (ERAAgent.exe). Los investigadores identificaron un esquema de cifrado AES-256-CCM personalizado y un intérprete de código byte único que admite 23 instrucciones. El análisis también reveló métodos de comunicación encubierta que incluyen sniffing de sockets en bruto, desencadenantes basados en DNS y abuso de VMware VMCI.
Mitigación
Las organizaciones deben monitorear DLLs no autorizados, particularmente archivos que se hacen pasar por dpapi.dll, ubicados junto a los componentes del Agente de Gestión ESET. La fortificación de configuraciones de registros relacionadas con acceso anónimo y NullSessionPipes también es crítica. Los equipos de seguridad deben además monitorear las interfaces de red para detectar actividades inusuales en modo promiscuo que puedan indicar una inspección pasiva del tráfico.
Respuesta
Si se detecta SLEEPWALKER, los hosts afectados deben considerarse completamente comprometidos y reconstruidos a partir de copias de seguridad conocidas como buenas. Los respondedores de incidentes deben realizar un análisis forense del directorio que contiene ERAAgent.exe para identificar el origen de la DLL cargada lateralmente. También se deben revisar las configuraciones de registro en busca de modificaciones no autorizadas que involucren LSA y LanmanServer parámetros.
Flujo de Ataque
Todavía estamos actualizando esta parte.
Detecciones
Agente de Gestión ESET (ERAAgent) Posible Carga Lateral de DLL (vía carga de imagen)
IOCs (HashSha256) para detectar: SLEEPWALKER: Una Puerta Trasera Pasiva Con Su Propio Lenguaje de Comando
IOCs (HashSha1) para detectar: SLEEPWALKER: Una Puerta Trasera Pasiva Con Su Propio Lenguaje de Comando
IOCs (HashMd5) para detectar: SLEEPWALKER: Una Puerta Trasera Pasiva Con Su Propio Lenguaje de Comando
Detección del Modo Promiscuo de Puerta Trasera SLEEPWALKER y Paquete de Activación [Conexión de Red de Windows]
Detección de Puerta Trasera SLEEPWALKER con Nombre de Proceso Específico [Creación de Proceso en Windows]
## Ejecución de Simulación
Prerequisito: El Chequeo Pre-vuelo de Telemetría y Línea Base debe estar aprobado.
Razonamiento: 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. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos: El adversario pretende desplegar la puerta trasera SLEEPWALKER. Para eludir el monitoreo estándar, crean un directorio engañoso llamado
C:WindowsSystem32dpapi.dll(haciéndose pasar por un directorio DLL). Dentro de esta carpeta, colocan el binario malicioso renombrado aERAAgent.exe. Cuando se ejecuta, la ruta completa de la imagenC:WindowsSystem32dpapi.dllERAAgent.execoincide con el requisito de la lógica de detección para ambos el sufijo específico y la presencia de ladpapi.dllcadena. -
Script de Prueba de Regresión:
# Script de Simulación para Validación de Detección de SLEEPWALKER $targetDir = "C:UsersPublicDocumentsdpapi.dll" $exeName = "ERAAgent.exe" $exePath = Join-Path $targetDir $exeName # 1. Crear la estructura de directorios engañosa if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # 2. Crear un ejecutable falso para simular la puerta trasera # Usamos una copia renombrada de cmd.exe para asegurar que sea un ejecutable real Copy-Item "C:WindowsSystem32cmd.exe" -Destination $exePath -Force # 3. Ejecutar el 'backdoor' para activar la detección Write-Host "Ejecutando puerta trasera simulada: $exePath" Start-Process -FilePath $exePath -ArgumentList "/c echo SLEEPWALKER_TRIGGERED" -WindowStyle Hidden Write-Host "Ejecución de simulación completa." -
Comandos de Limpieza:
# Script de limpieza para eliminar artefactos de simulación $targetDir = "C:UsersPublicDocumentsdpapi.dll" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force } Write-Host "Limpieza completa. Artefactos eliminados."