SOC Prime Bias: Crítico

16 Fev 2026 17:31

Operação MacroMaze: nova campanha APT28 usando ferramentas básicas e infraestrutura legítima

Author Photo
Ruslan Mikhalov Chefe de Pesquisa de Ameaças na SOC Prime linkedin icon Seguir
Operação MacroMaze: nova campanha APT28 usando ferramentas básicas e infraestrutura legítima
shield icon

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

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.exe com 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:

    1. wscript.exe (or cscript.exe) executa o VBScript contendo WScript.Shell.
    2. 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.Shell na linha de comando são os indicadores exatos que a regra procura.

  • 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