# T1137.001 - Office Templaté Macros ## Técnica Pai Esta é uma sub-técnica de [[t1137-office-application-startup|T1137 - Office Application Startup]]. ## Descrição Adversários injetam macros VBA (Visual Basic for Applications) maliciosas em arquivos de templaté do Microsoft Office para garantir execução de código sempre que o aplicativo correspondente é iniciado. A técnica representa um dos mecanismos de persistência mais estáveis em ambientes Windows corporativos com Office instalado, pois os templates são carregados automaticamente pelo próprio aplicativo sem interação do usuário. O Microsoft Office utiliza templates base que são lidos na inicialização de cada aplicativo. Ao inserir código VBA malicioso nesses templates, o adversário garante execução persistente sem precisar criar entradas de auto-inicialização visíveis no registro do Windows ou em pastas de startup monitoradas. A persistência sobrevive a reinicializações, atualizações do Office e até mesmo a reimagens parciais - desde que o perfil do usuário sejá preservado. Em ambientes corporativos, o impacto pode ser multiplicado quando templates compartilhados em servidores de arquivos são comprometidos. Um único templaté infectado em um share de rede pode atingir centenas de usuários que o carregam diariamente, transformando um acesso inicial em comprometimento em massa sem necessidade de movimento lateral adicional. ## Como Funciona O Microsoft Word usa como templaté padrão o arquivo `Normal.dotm`, localizado no perfil do usuário. Qualquer macro inserida nesse arquivo é executada automaticamente quando o Word abre qualquer documento. O adversário pode também redirecionar o Word para carregar um templaté alternativo, modificando a chave de registro `GlobalDotName` em `HKCU\Software\Microsoft\Office\<versão>\Word\Options\`. Ao apontar essa chave para um arquivo `.dotm` controlado pelo atacante - inclusive em share de rede ou caminho UNC - a persistência se mantém mesmo que o `Normal.dotm` original sejá restaurado por uma solução de segurança. O Excel não cria um arquivo de templaté por padrão, mas carrega automaticamente qualquer arquivo presente na pasta XLSTART do perfil do usuário. Um adversário pode criar o arquivo `PERSONAL.XLSB` nessa pasta com macros maliciosas. Como essa pasta raramente é monitorada por soluções de segurança convencionais, o arquivo pode persistir por longos períodos sem detecção. Além dos templates locais, em ambientes corporativos os templates do Office podem ser armazenados em servidores de arquivos e distribuídos via Group Policy. Um adversário com acesso de escrita ao servidor de templates pode comprometer simultaneamente todos os usuários que carregam o templaté, eliminando a necessidade de comprometer cada máquina individualmente. Os grupos [[g0069-mango-sandstorm|MuddyWater]] e [[g0050-apt32|APT32]] documentadamente exploram essa característica em campanhas de espionagem de longa duração, onde a persistência silenciosa por semanas ou meses é prioritária em relação à velocidade de exfiltração. ## Attack Flow ```mermaid graph TB A([Acesso ao sistema]) --> B{Vetor de persistência} B -->|Word - templaté local| C[Injeção de macro em Normal.dotm] B -->|Word - via registro| D[Modificação da chave GlobalDotName] B -->|Excel - pasta XLSTART| E[Criação de PERSONAL.XLSB com macro] B -->|Ambiente corporativo| F[Comprometimento de templaté compartilhado em servidor] C --> G[Macro executada ao abrir qualquer documento Word] D --> H[Templaté externo carregado na inicialização do Word] E --> I[Macro executada ao iniciar qualquer sessão Excel] F --> J[Todos os usuários do templaté comprometidos] G --> K([Execução persistente de código]) H --> K I --> K J --> K K --> LT1059.001 - PowerShell K --> M[Download de payload adicional] style A fill:#b91c1c,color:#fff style K fill:#15803d,color:#fff style L fill:#1d4ed8,color:#fff style M fill:#1d4ed8,color:#fff ``` ## Exemplos de Uso **MuddyWater (Iran):** O grupo iraniano, também conhecido como TEMP.Zagros e Earth Vetala, usou macros em `Normal.dotm` para executar downloaders [[t1059-001-powershell|PowerShell]] em campanhas contra governos e empresas de telecomúnicações no Oriente Médio e Ásia Central. A técnica era parte de um stager de primeiro estágio que estabelecia comunicação com infraestrutura C2 antes de carregar ferramentas de pós-exploração como o [[powergluton|PowerGluton]] e o [[moriagent|MoriAgent]]. **APT32 / OceanLotus (Vietnã):** O grupo vietnamita distribuiu documentos Word com templates remotos (`\\..\..\..\`) em campanhas de spear-phishing contra organizações governamentais e privadas no Sudeste Asiático. O documento aparentemente inofensivo solicitava ao Word que carregasse um templaté de servidor remoto controlado pelo atacante, onde as macros maliciosas estavam armazenadas - separando o payload do documento inicial para evadir sandboxes de e-mail. **DarkHydrus:** Este ator de ameaça - provavelmente com nexo no Oriente Médio - utilizou templates maliciosos com macros em campanhas de espionagem, frequentemente combinando a persistência via templaté com [[t1071-004-dns|DNS tunneling]] como canal de comunicação C2. O uso de templates remotos via UNC path era uma assinatura característica do grupo, documentada pela Palo Alto Unit 42 em 2018. ## Detecção ```yaml title: Office Templaté Macro Persistence via Normal.dotm Modification status: experimental logsource: category: file_event product: windows detection: selection_templaté: TargetFilename|contains: - '\Microsoft\Templates\Normal.dotm' - '\Microsoft\Excel\XLSTART\PERSONAL.XLSB' selection_registry: EventType: SetValue TargetObject|contains: '\Software\Microsoft\Office\' TargetObject|endswith: '\Word\Options\GlobalDotName' selection_process: ParentImage|endswith: - '\WINWORD.EXE' - '\EXCEL.EXE' Image|endswith: - '\powershell.exe' - '\cmd.exe' - '\wscript.exe' - '\mshta.exe' condition: selection_templaté or selection_registry or selection_process level: high ``` Além da regra acima, monitorar conexões de saída de processos Office para IPs externos não relacionados a serviços Microsoft é altamente eficaz para detectar templates remotos via UNC path. A detecção do processo filho (Office gerando PowerShell ou cmd) tende a ser mais confiável que a detecção do arquivo de templaté, pois o templaté pode ser ofuscado ou cifrado em repouso. ## Mitigação | ID | Mitigação | Descrição | |----|-----------|-----------| | [[m1040-behavior-prevention-on-endpoint\|M1040]] | Behavior Prevention on Endpoint | Soluções EDR com regras comportamentais para execução de macros em templates e processos filho de aplicativos Office. Regras de Application Control que bloqueiem execução de macros não assinadas digitalmente. | | [[m1042-disable-or-remove-feature-or-program\|M1042]] | Disable or Remove Feature or Program | Desabilitar macros VBA via Group Policy (GPO) para todos os usuários que não precisam do recurso. Usar a política "Disable all macros except digitally signed macros" e restringir fontes confiáveis de templates. | A Microsoft introduziu a partir de 2022 o bloqueio padrão de macros em documentos provenientes da internet (marcados com Mark of the Web - MOTW). Entretanto, templates locais e macros em `Normal.dotm` não são afetados por essa proteção, pois residem no perfil local do usuário e não carregam MOTW. A técnica permanece relevante mesmo em ambientes com essa proteção habilitada. ## Contexto Brasil/LATAM No Brasil e na América Latina, a técnica é especialmente relevante em ambientes corporativos com grande dependência do Microsoft Office, o que inclui práticamente todos os setores - governo, financeiro, saúde e manufatura. Campanhas de spear-phishing direcionadas a organizações brasileiras frequentemente entregam documentos Word com templates macro-infectados como vetor inicial, aproveitando a baixa adoção de políticas de bloqueio de macros via GPO em empresas de médio porte. Grupos como [[g0069-mango-sandstorm|MuddyWater]] e atores de ransomware operacionais na região usam variantes desta técnica para estabelecer persistência antes do movimento lateral. A combinação com [[t1059-001-powershell|PowerShell]] e download de RATs como [[s1087-asyncrat|AsyncRAT]] e [[s0385-njrat|njRAT]] - populares em campanhas LATAM - é um padrão recorrente identificado pelo CERT.br e por pesquisadores da região. ## Referências - [[t1137-office-application-startup|T1137 - Office Application Startup]] - técnica pai - [[g0069-mango-sandstorm|MuddyWater]] - principal grupo documentado usando esta sub-técnica - [[g0050-apt32|APT32]] - uso de templates remotos em spear-phishing - [[g0079-darkhydrus|DarkHydrus]] - uso com DNS tunneling como C2 - [[t1059-001-powershell|T1059.001 - PowerShell]] - técnica frequentemente encadeada - [[m1040-behavior-prevention-on-endpoint|M1040 - Behavior Prevention on Endpoint]] - [[m1042-disable-or-remove-feature-or-program|M1042 - Disable or Remove Feature or Program]] - [[t1071-004-dns|T1071.004 - DNS]] - canal C2 combinado com esta técnica *Fonte: MITRE ATT&CK - T1137.001 (v16.2)*