Análise Profunda da Nova Campanha XWorm Utilizando E-mails de Phishing com Temas Diversificados
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O FortiGuard Labs observou uma campanha de phishing em várias etapas distribuindo o trojan de acesso remoto XWorm por meio de anexos Excel maliciosos. O documento abusa do CVE-2018-0802 no Microsoft Equation Editor para recuperar um arquivo HTA, que então aciona um carregador .NET sem arquivos que usa oco de processo para injetar o XWorm em um novo processo Msbuild.exe. O RAT se comunica com seu C2 usando tráfego criptografado com AES e expõe um amplo conjunto de comandos com suporte a plugins para controle estendido. A campanha mostra o uso sofisticado de binários living-off-the-land e técnicas sem arquivo para alcançar controle remoto persistente em endpoints comprometidos.
Investigação
Analistas reconstruíram o fluxo do e-mail de phishing até o exploit Excel OLE, execução HTA, download do módulo .NET baseado em PowerShell, e oco de processo final em Msbuild.exe. Revisão estática e dinâmica destacou dados de payload codificados em Base64 ocultos dentro de uma imagem JPEG, com o componente final XWorm carregado na memória sem gravar um executável descriptografado no disco durante a execução. Capturas de rede mostraram pacotes criptografados com AES enviados para o domínio C2 berlin101.com pela porta 6000. O relatório também catalogou o extenso conjunto de comandos e arquitetura de plugins do XWorm.
Mitigação
A FortiGuard recomenda ativar proteções de macro e OLE, aplicar o patch para CVE-2018-0802 e restringir a execução de arquivos Msbuild, PowerShell e HTA originários de conteúdo de e-mail. Implemente filtragem web, controles anti-phishing e assinaturas IDS/IPS vinculadas aos indicadores observados para bloquear entrega e preparação no gateway. Monitore árvores de processos anômalas – especialmente Msbuild.exe iniciado a partir de PowerShell – para detectar exploração cedo.
Resposta
Ao detectar, isole o endpoint afetado, termine processos maliciosos e remova o módulo XWorm carregado da memória. Colete artefatos forenses, incluindo telemetria de linha de comando, logs de rede e alterações de registro para delimitar a intrusão. Redefina credenciais potencialmente comprometidas, atualize o componente vulnerável Equation Editor e bloqueie os domínios maliciosos e o servidor C2. Aplique atualizações de inteligência de ameaças aos EDR/SIEM para prevenir recorrência e buscar atividades relacionadas em todo o ambiente.
Fluxo de Ataque
Detecções
Strings Suspeitas do Powershell (via powershell)
Visualizar
Comportamento Suspeito de Evasão de Defesa LOLBAS MSHTA por Detecção de Comandos Associados (via criação_processual)
Visualizar
Strings Suspeitas do Powershell (via cmdline)
Visualizar
Chamar Métodos .NET Suspeitos a partir do Powershell (via powershell)
Visualizar
IOCs (HashSha256) para detectar: Análise Detalhada na Nova Campanha XWorm Utilizando E-mails de Phishing com Temas Múltiplos
Visualizar
Campanha XWorm Explorando o CVE-2018-0802 com Vetores de Ataque Múltiplos [Criação de Processo no Windows]
Visualizar
Detectar Payload Base64-Codificado do PowerShell na Campanha XWorm [Powershell do Windows]
Visualizar
Execução de Simulação
Pré-requisito: O Check de Pré-voo de Telemetria & Linha de Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e narrativas DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa & Comandos do Ataque:
- Queda Inicial: O atacante entrega um arquivo Excel malicioso que explora o CVE-2018-0802. Para a simulação, contornamos o exploit e lançamos o payload diretamente.
- Hollowing de Processo via EQNEDT32.EXE: Executar
EQNEDT32.EXEcom uma linha de comando invocandoShellExecuteExW()para mascarar como um componente legítimo do Office. - Execução Lateral de Msbuild.exe: Iniciar
Msbuild.execomCreateProcessA()para compilar um payload .NET furtivo ad-hoc. - Execução .NET Sem Arquivo: Use
powershell.execom um comando codificado em base64 que carrega uma assembly .NET reflexiva (T1620). A linha de comando contém a string literalCreateProcessA()para satisfazer a regra.
-
Script de Teste de Regressão:
<# Simula a cadeia de execução do XWorm: 1. EQNEDT32.exe com ShellExecuteExW() 2. Msbuild.exe com CreateProcessA() 3. PowerShell com carregador reflexivo .NET codificado que contém CreateProcessA() #> # 1. EQNEDT32.exe (Hollowing de Processo) $eqnPath = "$env:SystemRootSystem32EQNEDT32.EXE" $eqnArgs = "-Command "ShellExecuteExW()"" Start-Process -FilePath $eqnPath -ArgumentList $eqnArgs -WindowStyle Hidden # 2. Msbuild.exe (Injeção Dinâmica de DLL) $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMsbuild.exe" $msbuildArgs = "/t:Compile /p:UseShellExecute="CreateProcessA()"" Start-Process -FilePath $msbuildPath -ArgumentList $msbuildArgs -WindowStyle Hidden # 3. PowerShell (Carregamento Reflexivo .NET Sem Arquivo) # Exemplo de payload .NET (placeholder) codificado em base64 $payload = "W3siQmFzZURhdGEiOiAiIiB9XQ==" # base64 de teste $psArgs = "-EncodedCommand $payload -ArgumentList "CreateProcessA()"" Start-Process -FilePath "powershell.exe" -ArgumentList $psArgs -WindowStyle Hidden Write-Host "Simulação do XWorm concluída." -
Comandos de Limpeza:
# Terminar quaisquer processos de simulação remanescentes Get-Process -Name "EQNEDT32","Msbuild","powershell" -ErrorAction SilentlyContinue | Stop-Process -Force # Opcionalmente remova arquivos temporários (nenhum criado nesta simulação estritamente processual) Write-Host "Limpeza concluída."