Remcos RAT Entregue Através de um Pedido de Compra Enganoso
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
Um email de phishing com tema de pedido de compra entrega um arquivo com uma dupla extensão que extrai um carregador VBS malicioso. Esse carregador inicia um processo PowerShell oculto, que recupera um arquivo PNG falso contendo uma carga útil codificada. A carga útil é então desobfuscada, reconstruída como um executável portátil .NET e carregada diretamente na memória, implantando, por fim, o trojan de acesso remoto Remcos. A campanha destaca uma cadeia de execução sem arquivos construída em torno de técnicas de ataque baseadas em email familiares.
Investigação
A análise seguiu toda a sequência de infecção desde o email de phishing original até a implantação final do Remcos RAT. Os investigadores identificaram artefatos chave, incluindo o nome do script VBS, o uso de variáveis de ambiente do PowerShell e a URL usada para baixar o arquivo PNG falso. O assembly .NET reconstruído foi carregado na memória, enquanto entradas específicas do registro do Remcos e artefatos de mutex ajudaram a confirmar a carga útil final. Os pesquisadores também capturaram indicadores de rede relevantes, incluindo o domínio de comando e controle vinculado à campanha.
Mitigação
As organizações devem fortalecer a análise de anexos e bloquear arquivos de arquivamento que usam extensões duplas enganosas. As políticas de execução do PowerShell devem ser aplicadas, e o uso de wscript.exe deve ser restrito ao máximo possível. Defensores também devem monitorar chaves de registro suspeitas sob HKCUSOFTWARE e rastrear impressões digitais de TLS JA3 associadas com a atividade do Remcos. Gateways de segurança de email devem ser atualizados regularmente para melhorar a detecção de iscas de phishing que visam fluxos de trabalho de compras e finanças.
Resposta
Se esta atividade for detectada, isole imediatamente o endpoint afetado e finalize processos PowerShell or wscript.exe suspeitos. Colete dumps de memória e artefatos de registro relevantes para análise forense antes da limpeza. Remova a carga útil do Remcos e entradas de persistência relacionadas, depois redefina quaisquer credenciais que possam ter sido expostas. Uma busca mais ampla de ameaças também deve ser conduzida em todo o ambiente para identificar sistemas que apresentem indicadores semelhantes.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef config fill:#dddddd %% Node definitions action_phishing["<b>Ação</b> – <b>T1566.001 Anexo de Spearphishing</b><br/>A vítima recebe um email com arquivo malicioso nomeado <i>Sarens PO_SB-0407026-001_PDF.txz</i>"] class action_phishing action technique_masquerade["<b>Técnica</b> – <b>T1036.007 Mascaramento: Dupla Extensão de Arquivo</b><br/>O arquivo usa extensão .txz mas aparece como .pdf para enganar o usuário"] class technique_masquerade technique action_user_exec["<b>Ação</b> – <b>T1204.002 Execução do Usuário</b><br/>A vítima abre o arquivo, causando a extração de um script VBS"] class action_user_exec action file_vbs["<b>Arquivo</b> – <b>Script VBS</b><br/>Nome: Sarens PO_SB-0407026-001_PDF.vbs"] class file_vbs file process_wscript["<b>Processo</b> – <b>wscript.exe</b><br/>Executa o script VBS"] class process_wscript process process_powershell["<b>Processo</b> – <b>PowerShell</b><br/>Inicia com bypass de execution-policy para baixar carga útil remota"] class process_powershell process file_payload_image["<b>Arquivo</b> – <b>Imagem Falsa</b><br/>Nome: optimized_MSI.png<br/>Contém carga útil .NET PE codificada em Base64"] class file_payload_image file technique_proc_inject_tls["<b>Técnica</b> – <b>T1055.005 Injeção de Processo: Armazenamento em Thread Local</b><br/>PowerShell injeta código via TLS"] class technique_proc_inject_tls technique technique_proc_inject_apc["<b>Técnica</b> – <b>T1055.004 Injeção de Processo: Chamada de Procedimento Assíncrona</b><br/>PowerShell injeta código via APC"] class technique_proc_inject_apc technique technique_proc_inject_pe["<b>Técnica</b> – <b>T1055.002 Injeção de Processo: Injeção de Executável Portátil</b><br/>PE .NET reconstruído carregado na memória com AppDomain.Load"] class technique_proc_inject_pe technique malware_remcos["<b>Malware</b> – <b>Remcos RAT</b><br/>Estabelece canal TLS criptografado para o domínio C2"] class malware_remcos malware comm_c2_web["<b>Técnica</b> – <b>T1102.003 Serviço Web: Comunicação Unidirecional</b><br/>Conexão TLS criptografada para <i>dentalux202.ydns.eu</i>"] class comm_c2_web technique registry_key["<b>Configuração</b> – <b>Chave de Registro</b><br/>HKCUSOFTWARERmcu2011HQO1B7 criada pelo RAT"] class registry_key config mutex["<b>Configuração</b> – <b>Mutex</b><br/>Identificador de mutex do Remcos Rmcu2011HQO1B7"] class mutex config %% Connections action_phishing –>|entrega| technique_masquerade technique_masquerade –>|leva a| action_user_exec action_user_exec –>|extrai| file_vbs file_vbs –>|executado por| process_wscript process_wscript –>|inicia| process_powershell process_powershell –>|baixa| file_payload_image file_payload_image –>|fornece| technique_proc_inject_tls file_payload_image –>|fornece| technique_proc_inject_apc file_payload_image –>|fornece| technique_proc_inject_pe technique_proc_inject_tls –>|habilita| malware_remcos technique_proc_inject_apc –>|habilita| malware_remcos technique_proc_inject_pe –>|habilita| malware_remcos malware_remcos –>|comunica via| comm_c2_web malware_remcos –>|cria| registry_key malware_remcos –>|cria| mutex "
Fluxo do Ataque
Detecções
LOLBAS WScript / CScript (via criação de processo)
Visualizar
Chamadas de Métodos .NET Suspeitos a partir do Powershell (via powershell)
Visualizar
Strings de Powershell Suspeitas (via powershell)
Visualizar
Possível Serviço de DNS Dinâmico Foi Contatado (via dns)
Visualizar
IOCs (HashSha256) para detectar: De um Pedido de Compra Enganoso para Remcos RAT
Visualizar
IOCs (SourceIP) para detectar: De um Pedido de Compra Enganoso para Remcos RAT
Visualizar
IOCs (DestinationIP) para detectar: De um Pedido de Compra Enganoso para Remcos RAT
Visualizar
Domínio de Comando e Controle do Remcos RAT e Acesso à URL de Carga Maliciosa [Conexão de Rede do Windows]
Visualizar
Detecção de Execução de Script VBS Seguido por PowerShell com Bypass de ExecutionPolicy [Criação de Processo do Windows]
Visualizar
Execução da Simulação
Pré-requisito: A Verificação de Pré-voo de Telemetria & Baseline deve ter passado.
Narrativa do Ataque & Comandos
O adversário envia um email de phishing com um anexo malicious.vbs. O usuário clica duas vezes no arquivo, invocando wscript.exe. O script VBS então inicia o PowerShell com -ExecutionPolicy Bypass para baixar uma carga útil remota do PowerShell que instala o Remcos RAT. A linha de comando exata é:
powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand <BASE64_PAYLOAD>
Script de Teste de Regressão
#--------------------------------------------------------------------
# Script de Simulação: VBS → PowerShell ExecutionPolicy Bypass
#--------------------------------------------------------------------
# 1. Construa uma pequena carga útil de PowerShell (por exemplo, escreva um arquivo de marcador)
$payload = 'Set-Content -Path "$env:Temppwned.txt" -Value "Compromised"'
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
# 2. Crie o arquivo VBS malicioso que executa o comando PowerShell
$vbsContent = @"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "powershell.exe -ExecutionPolicy Bypass -NoLogo -WindowStyle Hidden -EncodedCommand $encoded", 0, False
"@
$vbsPath = "$env:Tempmalicious.vbs"
Set-Content -Path $vbsPath -Value $vbsContent -Encoding ASCII
# 3. Execute o script VBS (simula o clique duplo do usuário)
Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
# Opcional: aguarde alguns segundos para a carga útil ser executada
Start-Sleep -Seconds 5
Write-Host "Simulação completa. Verifique $env:Temppwned.txt para artefato."
#--------------------------------------------------------------------
Comandos de Limpeza
# Remova artefatos criados durante a simulação
Remove-Item -Path "$env:Tempmalicious.vbs" -ErrorAction SilentlyContinue
Remove-Item -Path "$env:Temppwned.txt" -ErrorAction SilentlyContinue
# Pare quaisquer processos remanescentes do PowerShell iniciados pelo script (se necessário)
Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force