# T1027.017 - SVG Smuggling
## Técnica Pai
[[t1027-obfuscated-files-or-information|T1027 - Obfuscaté Files or Information]]
## Descrição
SVG Smuggling é uma sub-técnica de [[t1027-obfuscated-files-or-information|Obfuscação de Arquivos]] na qual adversários exploram o formato SVG (Scalable Vector Graphics) para contrabandear e executar payloads maliciosos contornando filtros de conteúdo e soluções de segurança de e-mail e web.
O SVG é um formato de imagem vetorial baseado em XML que, por específicação, **suporta nativamente tags `<script>`**. Isso significa que um arquivo `.svg` pode conter JavaScript executável - e navegadores modernos processam esse JavaScript ao renderizar a imagem. A maioria dos filtros de e-mail e gateways web trata arquivos SVG como imagens inofensivas, aplicando inspeção muito menos rigorosa do que aplicaria a executáveis, documentos Office ou scripts.
Essa técnica é essencialmente uma **variante especializada de [[t1027-006-html-smuggling|HTML Smuggling]]**, com a distinção de usar o contêiner SVG em vez de HTML puro. Como o SVG pode ser embutido diretamente em páginas HTML ou em PDFs, e também pode ser entregue como anexo independente, a superfície de entrega é ampla.
## Como Funciona
O SVG Smuggling pode assumir diversas formas, todas explorando a capacidade de execução de script do formato:
### 1. Montagem de payload em memória
O JavaScript dentro do SVG constrói dinâmicamente um binário ou script usando técnicas como:
- Concatenação de strings codificadas em Base64
- Arrays de bytes convertidos em `Blob` + `URL.createObjectURL`
- Criação dinâmica de elemento `<a>` com `download` para forçar o salvamento do payload
O payload nunca transita pela rede como arquivo executável - ele é **montado no navegador da vítima**, contornando inspeção de transferência de arquivos.
### 2. Redirecionamento para site malicioso
O script dentro do SVG executa `window.location.href` apontando para infraestrutura controlada pelo adversário, geralmente hospedando phishing de credenciais ou download adicional.
### 3. Formulários falsos interativos
SVGs podem renderizar elementos visuais completos - caixas de texto, botões, logotipos de empresas. Adversários criam formulários de login falsos dentro do próprio SVG que capturam credenciais e as enviam para servidores externos.
### 4. Combinação com HTML Smuggling
Um SVG malicioso é embutido como elemento `<img>` ou `<object>` dentro de uma página HTML. Quando o navegador renderiza a página, o SVG é processado e seu JavaScript é executado, compondo o payload. Isso adiciona uma camada de indireção que dificulta ainda mais a detecção.
### 5. Embutido em PDFs
Arquivos PDF podem referênciar ou embutir SVGs. Ao abrir o PDF em um leitor que renderiza SVG com suporte a script (menos comum, mas possível), o payload é acionado.
## Attack Flow
```mermaid
graph TB
A[Adversário cria arquivo SVG com script malicioso embutido] --> B[Escolha do método de entrega]
B --> C[Anexo de e-mail SVG direto]
B --> D[SVG embutido em HTML via phishing]
B --> E[SVG dentro de documento PDF]
C --> F[Vítima abre SVG no navegador]
D --> F
E --> G[Vítima abre PDF com SVG referenciado]
G --> F
F --> H{Tipo de ação do script}
H --> I[Monta payload em memória e força download]
H --> J[Redireciona para site de phishing ou C2]
H --> K[Exibe formulário falso e captura credenciais]
I --> L[Usuário executa payload baixado]
J --> M[Credenciais comprometidas ou malware entregue]
K --> M
L --> N[Acesso inicial estabelecido]
M --> N
```
## Exemplos de Uso
### Campanha com Emotet e SVG Smuggling
Em 2024, operadores do **Emotet** foram observados distribuindo SVGs maliciosos como anexos de e-mail. O arquivo SVG continha JavaScript que montava um arquivo `.zip` com um loader em memória, forçava seu download e exibia instruções para o usuário extrair e executar - simulando a aparência de um documento legítimo durante todo o processo.
### Grupos de ameaça de acesso inicial (Initial Access Brokers)
Grupos especializados em venda de acessos iniciais adotaram SVG Smuggling como alternativa ao HTML Smuggling clássico após fabricantes de soluções de e-mail melhorarem a detecção de `<script>` em arquivos `.html`. O `.svg` requer assinatura específica e ainda apresenta baixa taxa de detecção em gateways não atualizados.
### Integração com [[t1566-001-spearphishing-attachment|Spearphishing]]
A técnica é quase sempre usada no estágio de [[ta0001-initial-access|Acesso Inicial]], embalada como um arquivo supostamente inofensivo em campanhas de spearphishing. Nomes comuns: `fatura.svg`, `contrato_assinado.svg`, `nota_fiscal.svg` - nomenclatura deliberadamente localizada para contextos regionais, incluindo o Brasil.
### Formulário de login falso de Microsoft 365
SVGs avançados replicam visualmente a interface de login do Microsoft 365 (logotipo, cores, campos), capturando credenciais diretamente sem redirecionar para domínio externo. O payload capturado é enviado via `fetch()` para um endpoint controlado pelo adversário.
## Detecção
```yaml
title: Arquivo SVG com Tag Script Detectado em Anexo de E-mail
status: experimental
logsource:
category: file_event
product: windows
detection:
selection_svg_download:
TargetFilename|endswith: '.svg'
TargetFilename|contains:
- '\Downloads\'
- '\Temp\'
- '\AppData\Local\'
condition: selection_svg_download
level: medium
tags:
- attack.defense_evasion
- attack.t1027.017
```
```yaml
title: Navegador Cria Arquivo Executável após Abrir SVG
status: experimental
logsource:
category: file_event
product: windows
detection:
selection_browser_parent:
Image|contains:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
selection_suspicious_ext:
TargetFilename|endswith:
- '.exe'
- '.dll'
- '.js'
- '.hta'
- '.zip'
condition: selection_browser_parent and selection_suspicious_ext
level: high
tags:
- attack.defense_evasion
- attack.t1027.017
- attack.initial_access
- attack.t1566.001
```
### Indicadores de comprometimento comportamentais
- Navegador cria arquivos executáveis (`.exe`, `.dll`, `.lnk`, `.hta`) no diretório de downloads após acesso a `.svg`
- Processo do navegador realiza conexão de rede para domínio externo imediatamente após renderizar SVG
- SVG com tamanho atipicamente grande para um arquivo de imagem (> 50 KB sugere conteúdo embutido)
- JavaScript em SVG contendo longas strings Base64 ou arrays de bytes
- Presença de `URL.createObjectURL`, `Blob`, `msSaveOrOpenBlob` no conteúdo do SVG
### Detecção em gateway de e-mail
Implementar inspeção de conteúdo de arquivos SVG em gateways de e-mail buscando presença de tags `<script>`, atributos de evento (`onload`, `onclick`, `onmouseover`) e funções JavaScript suspeitas (`fetch`, `XMLHttpRequest`, `eval`, `atob`).
## Mitigação
| ID | Mitigação | Descrição |
|----|-----------|-----------|
| [[m1048-application-isolation-and-sandboxing\|M1048]] | Application Isolation and Sandboxing | Usar navegadores com sandboxing reforçado; configurar políticas de grupo para bloquear execução de scripts em SVGs abertos fora do contexto de aplicações confiáveis |
| [[m1021-restrict-web-based-content\|M1021]] | Restrict Web-Based Content | Configurar proxies e gateways de e-mail para inspecionar e bloquear SVGs com conteúdo de script (`<script>`, atributos `on*`); considerar bloqueio de download de `.svg` de fontes não confiáveis |
| [[m1054-software-configuration\|M1054]] | Software Configuration | Desabilitar execução de JavaScript em SVGs via políticas do navegador (Chrome Group Policy, Edge Policies) em ambientes que não requerem essa funcionalidade |
## Contexto Brasil/LATAM
O SVG Smuggling tem relevância crescente no Brasil e América Latina por três fatores:
**1. Alta adoção de Microsoft 365**: A penetração do M365 em empresas brasileiras torna ataques de colheita de credenciais via formulários SVG falsos de Microsoft altamente eficazes. Campanhas de BEC (Business Email Compromise) direcionadas ao setor financeiro e de serviços têm usado SVG smuggling como vetor de acesso inicial.
**2. Baixa cobertura em gateways legados**: Muitas organizações de médio porte no Brasil ainda utilizam soluções de segurança de e-mail desatualizadas que não incluem assinaturas para conteúdo malicioso em SVG, ao contrário das proteções para `.html` e Office.
**3. Engenharia social localizada**: Adversários adaptam os SVGs com nomes de arquivos em português, logotipos de bancos brasileiros (Bradesco, Itaú, Caixa) e órgãos governamentais (Receita Federal, SEFAZ), aumentando a taxa de engajamento de vítimas.
Equipes de SOC brasileiras devem adicionar detecção específica para SVG em pipelines de análise de e-mail e configurar alertas para downloads de SVG seguidos de criação de arquivos executáveis.
## Referências
- Documentação oficial MITRE ATT&CK: T1027.017 - SVG Smuggling
- Análises públicas de campanhas Emotet utilizando SVG como vetor - ANY.RUN, MalwareBazaar
- Elastic Security Research: "HTML Smuggling and SVG as delivery vectors" (2024)
- Sans Internet Storm Center: análises de SVG maliciosos em campanha de phishing corporativo
- Relação com [[t1027-006-html-smuggling|HTML Smuggling]] - técnica irmã no mesmo grupo parental
---
*Fonte: MITRE ATT&CK - T1027.017*