Operação MacroMaze: nova campanha APT28 usando ferramentas básicas e infraestrutura legítima
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumo
APT28 (Fancy Bear) realizou uma operação de spear-phishing chamada Operação MacroMaze, visando organizações na Europa Ocidental e Central. A isca utilizava documentos do Word armados com macros que baixavam scripts adicionais e moviam dados roubados através de serviços legítimos de webhooks. A cadeia adere a ferramentas de baixo atrito — VBS, scripts em lote e Microsoft Edge iniciado em modo oculto ou sem cabeça — mantendo a infraestrutura no serviço público webhook.site.
Investigação
A Lab52 rastreou quatro variantes de macros entre setembro de 2025 e janeiro de 2026, observando mudanças iterativas no comportamento do dropper, persistência de tarefas agendadas e exfiltração via navegador. Os analistas destacaram indicadores recorrentes, incluindo campos INCLUDEPICTURE, nomes de arquivos no estilo GUID e automação baseada em SendKeys. Eles também extraíram artefatos, URLs e o fluxo específico de criação de tarefas agendadas usado para manter o acesso.
Mitigação
Desative a execução automática de macros no Office e aplique manuseio rigoroso de anexos no Outlook. Monitore a criação suspeita de tarefas agendadas e os lançamentos atípicos do Microsoft Edge em modo oculto ou fora da tela. Bloqueie ou alerte sobre o tráfego de saída para webhook.site e plataformas públicas de webhook similares. Use uma lista de permissões de aplicações para restringir a execução de arquivos VBS e de lotes desconhecidos.
Resposta
Se a atividade for detectada, isole o host, preserve o documento malicioso e artefatos relacionados e procure pela tarefa agendada criada e arquivos baixados. Capture a telemetria de rede para identificar pontos de exfiltração e remova quaisquer tarefas agendadas maliciosas. Realize uma análise forense para roubo de credenciais e notifique as partes interessadas. Atualize as detecções para cobrir os IOCs e padrões comportamentais observados.
“graph TB %% Class definitions classDef technique fill:#c2e0ff %% Node definitions t1566_001[“<b>Técnica</b> – T1566.001<br/><b>Nome</b>: Anexo de Spearphishing<br/><b>Descrição</b>: Envie e-mail com anexo malicioso que, quando aberto, entrega a carga útil.”] class t1566_001 technique t1204[“<b>Técnica</b> – T1204<br/><b>Nome</b>: Execução do Usuário<br/><b>Descrição</b>: Vítima executa arquivo ou script malicioso, iniciando o ataque.”] class t1204 technique t1564_007[“<b>Técnica</b> – T1564.007<br/><b>Nome</b>: Ocultar Artefatos: VBA Stomping<br/><b>Descrição</b>: Modifique o código da macro VBA para ocultar conteúdo malicioso enquanto preserva a funcionalidade.”] class t1564_007 technique t1059_005[“<b>Técnica</b> – T1059.005<br/><b>Nome</b>: Visual Basic<br/><b>Descrição</b>: Execute comandos usando scripts do Visual Basic for Applications (VBA).”] class t1059_005 technique t1137_001[“<b>Técnica</b> – T1137.001<br/><b>Nome</b>: Macros de Template do Office<br/><b>Descrição</b>: Distribua macros maliciosas através de arquivos de template do Office.”] class t1137_001 technique t1546_002[“<b>Técnica</b> – T1546.002<br/><b>Nome</b>: Execução por Disparo de Evento: Protetor de Tela<br/><b>Descrição</b>: Registre um protetor de tela malicioso para executar quando acionado.”] class t1546_002 technique t1218_001[“<b>Técnica</b> – T1218.001<br/><b>Nome</b>: Arquivo HTML Compilado<br/><b>Descrição</b>: Use arquivos HTML compilados (CHM) para executar código no sistema da vítima.”] class t1218_001 technique t1027_006[“<b>Técnica</b> – T1027.006<br/><b>Nome</b>: Contrabando de HTML<br/><b>Descrição</b>: Codifique carga útil maliciosa dentro de HTML para contornar controles de segurança.”] class t1027_006 technique t1102_001[“<b>Técnica</b> – T1102.001<br/><b>Nome</b>: Resolver de Entrega Invisível<br/><b>Descrição</b>: Use um resolvedor de entrega invisível para recuperar comandos ou exfiltrar dados.”] class t1102_001 technique t1102_002[“<b>Técnica</b> – T1102.002<br/><b>Nome</b>: Comunicação Bidirecional<br/><b>Descrição</b>: Estabeleça um canal bidirecional de comunicação para comando e controle.”] class t1102_002 technique t1102_003[“<b>Técnica</b> – T1102.003<br/><b>Nome</b>: Comunicação Unidirecional<br/><b>Descrição</b>: Use um canal unidirecional para enviar dados para fora da rede.”] class t1102_003 technique t1074_001[“<b>Técnica</b> – T1074.001<br/><b>Nome</b>: Dados Estagiados: Estágio de Dados Locais<br/><b>Descrição</b>: Reúna e estacione os dados coletados no host local antes da exfiltração.”] class t1074_001 technique t1074_002[“<b>Técnica</b> – T1074.002<br/><b>Nome</b>: Dados Estagiados: Estágio de Dados Remotos<br/><b>Descrição</b>: Transfira dados estagiados para um local remoto para exfiltração posterior.”] class t1074_002 technique t1560_001[“<b>Técnica</b> – T1560.001<br/><b>Nome</b>: Arquivamento via Utilitário<br/><b>Descrição</b>: Comprime os dados estagiados utilizando utilitários de arquivamento.”] class t1560_001 technique t1567_004[“<b>Técnica</b> – T1567.004<br/><b>Nome</b>: Exfiltração via Webhook<br/><b>Descrição</b>: Envie dados exfiltrados para um serviço externo via webhook.”] class t1567_004 technique %% Connections t1566_001 u002du002d>|leads_to| t1204 t1204 u002du002d>|leads_to| t1564_007 t1564_007 u002du002d>|leads_to| t1059_005 t1059_005 u002du002d>|leads_to| t1137_001 t1137_001 u002du002d>|leads_to| t1546_002 t1546_002 u002du002d>|leads_to| t1218_001 t1218_001 u002du002d>|leads_to| t1027_006 t1027_006 u002du002d>|leads_to| t1102_001 t1102_001 u002du002d>|leads_to| t1102_002 t1102_002 u002du002d>|leads_to| t1102_003 t1102_003 u002du002d>|leads_to| t1074_001 t1074_001 u002du002d>|leads_to| t1074_002 t1074_002 u002du002d>|leads_to| t1560_001 t1560_001 u002du002d>|leads_to| t1567_004 “
Fluxo de Ataque
Detecções
Execução Suspeita de Taskkill (via linha de comando)
Visualizar
Possível Distribuição de Malware via Endpoints do WebsiteHook (via proxy)
Visualizar
Processo de Navegador Suspeito Executado com Parâmetros Suspeitos (via linha de comando)
Visualizar
LOLBAS WScript / CScript (via criação de processo)
Visualizar
Possível Distribuição de Malware via Endpoints do WebsiteHook (via DNS)
Visualizar
IOCs (HashSha256) para detectar: Operação MacroMaze: nova campanha APT28 usando ferramentas básicas e infraestrutura legítima
Visualizar
Execução do Operation MacroMaze APT28 WScript e CMD [Criação de Processo no Windows]
Visualizar
Execução de Simulação
Pré-requisito: A verificação prévia de Telemetria e Linha de Base deve ter sido aprovada.
Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e têm como objetivo gerar a telemetria exata esperada pela lógica de detecção.
-
Narrativa do Ataque & Comandos:
Um macro malicioso no estilo APT28 é entregue via phishing. Quando o documento é aberto, a macro executa um pequeno VBScript que cria um WScript.Shell objeto. Este objeto é então usado para iniciar
cmd.execom uma carga útil que escreve um shell reverso PowerShell codificado em base-64 em um arquivo temporário e o executa. A sequência gera dois eventos de criação de processo que satisfazem a regra Sigma:- wscript.exe (or cscript.exe) executa o VBScript contendo
WScript.Shell. - O mesmo VBScript chama
WScript.Shell.Run "cmd.exe /c powershell -nop -w hidden -EncodedCommand …"que gera cmd.exe.
O relacionamento pai-filho e a presença de
WScript.Shellna linha de comando são os indicadores exatos que a regra procura. - wscript.exe (or cscript.exe) executa o VBScript contendo
-
Script de Teste de Regressão:
# ------------------------------------------------------- # Simulação do MacroMaze – inicia wscript.exe → cmd.exe # ------------------------------------------------------- # 1. Crie um VBS temporário que use WScript.Shell para executar cmd.exe $vbsContent = @" Set sh = CreateObject("WScript.Shell") sh.Run "cmd.exe /c echo Payload malicioso executado > %TEMP%payload.txt" "@ $vbsPath = "$env:TEMPmacromaze.vbs" $vbsContent | Set-Content -Path $vbsPath -Encoding ASCII # 2. Execute o VBS via wscript.exe (irá gerar a telemetria desejada) Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden # Opcional: pausar para permitir que o SIEM ingira eventos Start-Sleep -Seconds 5 # ------------------------------------------------------- -
Comandos de Limpeza:
# Remova o VBS temporário e o arquivo de payload Remove-Item -Path "$env:TEMPmacromaze.vbs" -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPpayload.txt" -ErrorAction SilentlyContinue