# T1090.004 - Domain Fronting
## Técnica Pai
Esta é uma sub-técnica de [[t1090-proxy|T1090 - T1090 - Proxy]].
## Descrição
Domain Fronting é uma técnica sofisticada de evasão de rede que explora a arquitetura das CDNs (Redes de Distribuição de Conteúdo) para disfarçar o destino real do tráfego HTTPS malicioso. A técnica funciona aproveitando o fato de que grandes CDNs - como Cloudflare, AWS CloudFront ou Azure CDN - hospedam milhares de domínios de clientes diferentes em uma mesma infraestrutura de IPs compartilhados.
O mecanismo é elegante: ao estabelecer uma conexão TLS, o adversário coloca um domínio legítimo e inofensivo no campo SNI (*Server Name Indication*) do cabeçalho TLS - que é visível para inspeção de rede. Já no cabeçalho HTTP interno (cifrado pela camada TLS), o campo `Host` aponta para o domínio malicioso real. Como ambos os domínios são clientes da mesma CDN, a infraestrutura roteia o tráfego para o destino correto após decifrar o TLS. Para um firewall ou sistema de monitoramento de rede, a conexão parece estar indo para um domínio legítimo e confiável.
Existe ainda uma variação denominada *domainless fronting*, onde o campo SNI é deliberadamente deixado em branco. Alguns CDNs ignoram campos SNI ausentes e roteiam baseados apenas no cabeçalho HTTP interno, o que pode contornar controles de válidação que verificam a correspondência entre SNI e Host. O [[s0154-cobalt-strike|Cobalt Strike]] é a ferramenta mais frequentemente associada a Domain Fronting em operações reais, com perfis específicos para explorar CDNs populares. Ferramentas como [[s0699-mythic|Mythic]] e [[s0649-smokedham|SMOKEDHAM]] também implementam variações dessa técnica.
**Contexto Brasil/LATAM:** O [[g0016-apt29|APT29]] (Cozy Bear), grupo de espionagem russo vinculado ao SVR, é o ator mais documentado no uso de Domain Fronting em operações de alto perfil, incluindo a campanha contra a SolarWinds. Embora o foco primário do APT29 sejá governo e diplomacia nos EUA e Europa, organizações brasileiras com vínculos internacionais - ministérios, embaixadas, empresas de defesa e think tanks - são alvos potenciais. No cenário LATAM, a técnica representa um desafio específico pois muitos controles de segurança de rede focam em bloqueio de IPs e domínios de baixa reputação, enquanto CDNs como Cloudflare e AWS têm reputação máxima e raramente são bloqueadas.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial] --> B[Implante Instalado]
B --> C[**Domain Fronting C2**]
C --> D[CDN Roteia para C2 Real]
D --> E[Exfiltração Persistente]
```
## Como Funciona
**1. Preparação**
O adversário registra um domínio malicioso e o configura como cliente de uma CDN de grande porte (ex: AWS CloudFront, Cloudflare). Em seguida, identifica outro domínio legítimo e de alta reputação que também sejá cliente da mesma CDN - esse será o domínio "fachada" visível na inspeção de rede.
**2. Execução**
O implante no host comprometido inicia uma conexão HTTPS. No campo SNI do TLS, insere o domínio legítimo (ex: `cdn.empresa-confiavel.com`). No cabeçalho HTTP `Host` - cifrado dentro do túnel TLS - insere o domínio do C2 malicioso (ex: `c2.dominio-atacante.com`). A CDN, ao processar a requisição, lê o cabeçalho HTTP interno e roteia para o servidor do adversário.
**3. Pós-execução**
Todo o tráfego de C2 flui de forma cifrada através de infraestrutura de CDN legítima. Ferramentas de monitoramento baseadas em reputação de IP/domínio não detectam nada anômalo. O canal permanece operacional enquanto o domínio fachada e o C2 compartilharem a mesma CDN.
**Exemplo:**
```bash
# Artefato de detecção: divergência entre SNI e cabeçalho Host em tráfego HTTPS
# Captura via inspeção TLS (proxy SSL ou sensor de rede com decriptação):
# TLS SNI: cdn.trusted-domain.com
# HTTP Host: c2.attacker-domain.com
# Indicador: SNI != Host header em mesma sessão TLS para IP de CDN conhecida
```
## Detecção
**Fontes de dados:** Inspeção TLS com decriptação SSL (proxy MITM corporativo), logs de proxy/firewall com visibilidade de SNI, sensores de rede (Zeek `ssl.log` vs `http.log`), CASB para tráfego cloud.
```yaml
title: Domain Fronting - TLS SNI and HTTP Host Header Mismatch
id: 3b8f2c14-9a7d-4e1b-c523-1d4e7f8b2a90
status: experimental
description: Detects domain fronting behavior by identifying mismatches between
the TLS SNI field and the HTTP Host header within the same session, which
may indicaté C2 traffic being tunneled through a CDN.
logsource:
category: proxy
product: zeek
detection:
selection:
ssl_server_name|exists: true
http_host|exists: true
filter_match:
ssl_server_name: '%http_host%'
condition: selection and not filter_match
falsepositives:
- Administrative activity
- Legitimaté load balancer configurations
- Internal CDN proxies with split-horizon DNS
level: high
tags:
- attack.command_and_control
- attack.t1090.004
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[TLS Inspection]] | Implantar proxy TLS com inspeção de tráfego HTTPS para detectar divergência entre SNI e cabeçalho Host; bloquear requisições onde SNI e Host não correspondem ao mesmo domínio registrado. |
## Threat Actors que Usam
- [[g0016-apt29|APT29]]
## Software Associado
- [[s0154-cobalt-strike|Cobalt Strike]] (malware/framework C2)
- [[s0175-meek|meek]] (ferramenta de tunelamento)
- [[s0699-mythic|Mythic]] (framework C2)
- [[s0649-smokedham|SMOKEDHAM]] (malware)
---
*Fonte: [MITRE ATT&CK - T1090.004](https://attack.mitre.org/techniques/T1090/004)*