# 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)*