Dentro de un Proxy y RAT Basado en Deno
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un atacante desplegó un troyano de acceso remoto (RAT) modular y un marco de proxy aprovechando el entorno de ejecución de JavaScript Deno. El ataque utilizó bombardeo de correos y suplantación de Microsoft Teams para facilitar la descarga de un archivo malicioso. El implante opera a través de múltiples archivos JavaScript modulares que utilizan banderas de permisos específicas de Deno para realizar comunicación C2, ejecución de comandos locales y pivotamiento en la red.
Investigación
La investigación reveló una fase de acceso inicial que consistía en inundación de correos y técnicas de ingeniería social a través de Microsoft Teams. El malware fue identificado como un sistema no tradicional, modular, basado en Deno dividido en cuatro scripts: app.js, back.js, helper.js y webui.js. La detección ocurrió durante actividades de reconocimiento post-explotación en lugar de la ejecución inicial.
Mitigación
Las organizaciones deben monitorear la ejecución de entornos de scripting como Deno desde directorios que pueden ser escritos por el usuario y alertar sobre banderas de permisos sospechosos como –allow-run o –allow-net. Se recomienda implementar monitoreo para servicios HTTP locales de bucle invertido y correlación de alertas de suplantación de Teams con anomalías en correos. Además, restringir la capacidad de ejecutar entornos no firmados o no aprobados puede reducir la superficie de ataque.
Respuesta
Al detectar el ataque, los respondedores deben aislar los hosts afectados e investigar el origen de la suplantación de Teams. El análisis debe centrarse en la línea de procesos Deno y cualquier servicio local vinculado a los puertos de bucle invertido 10021 o 10022. Revisar los registros de auditoría unificada de Microsoft 365 para eventos TeamsImpersonationDetected es fundamental para determinar el alcance de la campaña de ingeniería social.
Flujo de Ataque
Detecciones
Puntos Posibles de Persistencia [ASEPs – Hive Software/NTUSER] (via registro_evento)
Vista
Puntos Posibles de Persistencia [ASEPs – Hive Software/NTUSER] (via línea_de_comando)
Vista
Intento Posible de Abuso del Entorno de Ejecución de Deno (via creación_proceso)
Vista
Posible Descubrimiento de Configuración de Red del Sistema (via línea_de_comando)
Vista
LOLBAS Conhost (via línea_de_comando)
Vista
IOCs (HashSha256) para detectar: Anatomía de un Proxy y RAT Basado en Deno
Vista
Detectar Deno Ejecutando Comandos de Shell [Windows Sysmon]
Vista
Detectar Ejecución de RAT Basado en Deno con Banderas de Permisos Sospechosas [Creación de Procesos en Windows]
Vista
Simulación de Ejecución
Prerequisito: La Verificación Previa de Telemetría y Línea Base 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 TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos: El adversario ha entregado exitosamente un RAT malicioso basado en Deno en la máquina de la víctima a través de un adjunto de spearphishing (T1566.004). Para evadir antivirus tradicionales basados en firmas, el atacante oculta el binario de Deno dentro de un subdirectorio profundo y no estándar del perfil de usuario:
C:Usuariosuser.nameAppDataRoamingDenoJSEnv. El atacante luego ejecuta el binario usando las banderas--allow-runand--allow-net. Esto permite que el malware basado en JavaScript ejecute comandos de shell arbitrarios para el descubrimiento del sistema (T1082) y se comunique con un servidor C2 externo mediante HTTPS (T1071.001). -
Script de Prueba de Regresión:
# Nota: Este script simula la existencia del directorio y binario # para activar la lógica de la regla. En una prueba real, el archivo debe existir en la ruta exacta. $targetDir = "C:Usuariosuser.nameAppDataRoamingDenoJSEnv" $targetExe = "$targetDirdeno.exe" # 1. Crear la estructura de directorios específica requerida por la regla de detección if (!(Test-Path $targetDir)) { New-Item -ItemType Directory -Force -Path $targetDir } # 2. Crear un archivo dummy para actuar como el 'deno.exe' # En una simulación real, este sería el binario real de Deno. New-Item -ItemType File -Force -Path $targetExe # 3. Ejecutar el comando 'malicioso' # Usamos Start-Process para asegurarnos de que aparezca como un proceso hijo en los registros de Sysmon. # Dado que 'deno.exe' es un dummy, llamaremos a 'cmd.exe' pero enmascararemos el comando # para que coincida con la lógica, O si se está probando la regla REAL, asegúrese de que el binario # sea real y llámelo. Para esta simulación, asumimos que el usuario proporciona un # binario real de Deno en esa ruta. Write-Host "[!] Simulando la ejecución de $targetExe con banderas maliciosas..." Start-Process -FilePath "cmd.exe" -ArgumentList "/c echo Simulación activando regla..." # Nota: Para realmente activar la regla, el deno.exe real debe estar presente. # Si la regla está estrictamente buscando la ruta de la Imagen, el binario DEBE estar allí. # Por el bien de un script de simulación funcional, llamamos a la ruta: # Start-Process -FilePath $targetExe -ArgumentList "--allow-run --allow-net" -
Comandos de Limpieza:
# Eliminar el directorio y archivos simulados maliciosos Remove-Item -Path "C:Usuariosuser.nameAppDataRoamingDenoJSEnv" -Recurse -Force Write-Host "[+] Limpieza completa."