Dentro del Arte de Kimsuky con CHM: Ejecución en Múltiples Etapas y Entrega Selectiva de Cargas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Kimsuky utiliza archivos HTML Compilados maliciosos (.chm) como cebos iniciales para desencadenar una cadena de infección de múltiples etapas. La operación abusa de utilidades nativas de Windows como PowerShell, certutil, y wscript para perfilar el sistema, establecer persistencia a través de tareas programadas, y exfiltrar datos recopilados. El actor también aplica la entrega selectiva de cargas útiles, proporcionando el componente operativo final solo después de que se satisfacen ciertas condiciones ambientales o de comportamiento.
Investigación
El investigador analizó una muestra CHM sospechosa y reconstruyó su cadena de ejecución, que consistía en múltiples etapas de VBScript y PowerShell. Al reproducir solicitudes de red y probar desde diferentes ubicaciones de proxy, el investigador descubrió un modelo de respuesta selectiva en el que la carga útil final no se entregaba al entorno enjaulado. La investigación también conectó la infraestructura a una actividad conocida de Kimsuky a través de similitudes de favicon y toma de huellas dactilares de servidores web.
Mitigación
Las organizaciones deben monitorear la ascendencia de los procesos sospechosos, especialmente casos donde hh.exe or wscript.exe lanza PowerShell o cmd.exe. Restringir la ejecución de contenido de script desde ubicaciones escribibles por el usuario, como el caché de Internet, puede ayudar a bloquear la persistencia. Monitorear cambios no autorizados en la configuración del registro de Internet Explorer y Microsoft Edge también puede mejorar la detección de la manipulación del host.
Respuesta
Si se detecta esta actividad, aísle el punto final afectado inmediatamente para prevenir tráfico adicional de comando y control. Realice análisis forense de memoria para identificar cualquier carga útil de PowerShell sin archivos cargada en la memoria del proceso. Revise tareas programadas en busca de entradas sospechosas como Edge Updater e inspeccione el directorio %USERPROFILE%Links en busca de .dat or .ini archivos engañosos.
Flujo de Ataque
Detecciones
Uso Sospechoso de Invoke-RestMethod (vía powershell)
Ver
Posible Enumeración de Software Antivirus o Firewall (vía creación_de_proceso)
Ver
Posible Enumeración del Sistema (vía cmdline)
Ver
LOLBAS WScript / CScript (vía creación_de_proceso)
Ver
Uso de Certutil para Codificación de Datos y Operaciones de Certificado (vía cmdline)
Ver
Decodificación Sospechosa de Archivos con certutil.exe [Windows Sysmon]
Ver
Actividad Maliciosa de Kimsuky PowerShell a través de Archivo CHM [Windows PowerShell]
Ver
Análisis de Ejecución de Archivo CHM de Kimsuky [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Chequeo Previo de Telemetría y Baseline debe haber pasado.
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 TTP identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a diagnósticos erróneos.
-
Narrativa de Ataque y Comandos: El adversario apunta a lograr la ejecución inicial a través de un archivo
.chmarmado. Una vez que el usuario abre el archivo, el archivo de Ayuda HTML Compilada usa un script incrustado para invocarhh.exe. Para evadir la detección estándar, el actor utilizahh.exepara lanzarPowerShell, enmascarando efectivamente la ejecución del shell bajo un proceso legítimo de ayuda de Windows. El objetivo es establecer un punto de apoyo ejecutando un comando PowerShell oculto que puede descargar una carga útil de segunda etapa. -
Script de Prueba de Regresión:
# Simulación de Cadena de Ejecución de Kimsuky CHM-a-PowerShell # Este script simula el comportamiento de hh.exe generando PowerShell según lo detectado por la regla. Write-Host "[+] Iniciando Simulación de Kimsuky CHM..." -ForegroundColor Cyan # 1. Simular hh.exe generando PowerShell (Coincide con selección_hh) Write-Host "[+] Activando Regla: hh.exe generando PowerShell..." -ForegroundColor Yellow Start-Process "hh.exe" -ArgumentList "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command Write-Output 'Simulación Exitosa'" # 2. Simular wscript.exe ejecutando VBScript (Coincide con selección_wscript) Write-Host "[+] Activando Regla: wscript.exe con bandera VBScript..." -ForegroundColor Yellow $tempVBS = "$env:TEMPtest_sim.vbs" "WScript.Echo ""Simulación Exitosa""" | Out-File -FilePath $tempVBS -Encoding ascii Start-Process "wscript.exe" -ArgumentList "/e:vbscript $tempVBS" # 3. Simular cmd.exe con ventana oculta (Coincide con selección_cmd) Write-Host "[+] Activando Regla: cmd.exe con Estilo de Ventana Oculta..." -ForegroundColor Yellow Start-Process "cmd.exe" -ArgumentList "/c PowerShell -WindowStyle Hidden -Command Write-Output 'Simulación Exitosa'" Write-Host "[+] Comandos de simulación despachados." -ForegroundColor Green -
Comandos de Limpieza:
# Limpiar archivos temporales creados durante la simulación Remove-Item -Path "$env:TEMPtest_sim.vbs" -ErrorAction SilentlyContinue Write-Host "[+] Limpieza completa." -ForegroundColor Cyan