SOC Prime Bias: Crítico

11 Feb 2026 15:47 UTC

Análise Profunda da Nova Campanha XWorm Utilizando E-mails de Phishing com Temas Diversificados

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Análise Profunda da Nova Campanha XWorm Utilizando E-mails de Phishing com Temas Diversificados
shield icon

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

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:

    1. 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.
    2. Hollowing de Processo via EQNEDT32.EXE: Executar EQNEDT32.EXE com uma linha de comando invocando ShellExecuteExW() para mascarar como um componente legítimo do Office.
    3. Execução Lateral de Msbuild.exe: Iniciar Msbuild.exe com CreateProcessA() para compilar um payload .NET furtivo ad-hoc.
    4. Execução .NET Sem Arquivo: Use powershell.exe com um comando codificado em base64 que carrega uma assembly .NET reflexiva (T1620). A linha de comando contém a string literal CreateProcessA() 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."