# T1071.001 - Web Protocols
## Técnica Pai
Esta é uma sub-técnica de [[t1071-application-layer-protocol|T1071 - T1071 - Application Layer Protocol]].
## Descrição
Web Protocols é a subtécnica pela qual adversários utilizam protocolos de comunicação web - principalmente HTTP, HTTPS e WebSocket - para estabelecer e manter canais de comando e controle (C2) com sistemas comprometidos. A lógica é simples e eficaz: em práticamente qualquer rede corporativa, o tráfego web é onipresente, e bloqueá-lo indiscriminadamente tornaria o ambiente inoperante. Os atacantes exploram exatamente essa dependência para esconder suas comúnicações dentro do tráfego legítimo.
O funcionamento prático envolve embutir comandos e respostas dentro do corpo das requisições HTTP ou nos cabeçalhos da requisição/resposta. O implante na máquina da vítima faz polling periódico para o servidor C2, ou o servidor envia tarefas através de conexões HTTP mantidas abertas (long polling). Quando o canal usa HTTPS, a comunicação fica protegida por criptografia TLS, o que impede inspeção passiva e torna a detecção ainda mais difícil. WebSockets vão além: estabelecem um canal bidirecional persistente sobre HTTP, permitindo comunicação em tempo real entre implante e operador sem a latência do polling.
Os adversários frequentemente disfarçam o tráfego C2 como comúnicações legítimas - simulando APIs REST, tráfego de telemetria de software corporativo, ou até requisições para CDNs conhecidos. Cabeçalhos HTTP falsificados (User-Agent de Chrome atualizado, referências a sites legítimos) tornam o tráfego visualmente indistinguível de navegação normal. Essa técnica é subtécnica de [[t1071-application-layer-protocol|T1071 - Application Layer Protocol]] e frequentemente combinada com [[t1105-ingress-tool-transfer|Ingress Tool Transfer]] para a entrega de payloads adicionais e com [[t1573-encrypted-channel|Encrypted Channel]] para ofuscação adicional.
**Contexto Brasil/LATAM:** No Brasil, a técnica é amplamente usada por operadores de trojans bancários que mantêm canais HTTP/HTTPS para exfiltrar credenciais e sessões bancárias. Grupos como [[g0049-oilrig|OilRig]] (APT iraniano) já foram identificados usando C2 via HTTPS em campanhas que incluíam alvos de petróleo e gás na região. O setor de saúde, alvo recorrente de [[g0071-orangeworm|Orangeworm]], também registra uso de HTTP/S para C2 em ambientes hospitalares onde inspeção de tráfego costuma ser mais permissiva. A combinação de C2 via HTTPS com serviços legítimos de nuvem é especialmente prevalente em ataques a setores financeiro e governo federal brasileiro.
## Attack Flow
```mermaid
graph TB
A["T1566<br/>Phishing<br/>(Acesso Inicial)"] --> B["T1059<br/>Execução<br/>de Implante"]
B --> C["T1071.001<br/>Web Protocols<br/>(C2 via HTTP/S)"]:::highlight
C --> D["T1105<br/>Ingress Tool<br/>Transfer"]
C --> E["T1041<br/>Exfiltração via<br/>C2 Channel"]
classDef highlight fill:#e74c3c,color:#fff
```
## Como Funciona
1. **Estabelecimento do canal:** Após comprometer a máquina, o implante inicia uma conexão HTTP ou HTTPS para o servidor C2. Para passar em firewalls, a conexão geralmente usa a porta 443 (HTTPS) ou 80 (HTTP) - as mesmas portas do tráfego web normal. O User-Agent e demais cabeçalhos HTTP são falsificados para imitar navegadores reais (Chrome, Firefox, Edge).
2. **Comúnicação C2:** O implante realiza polling periódico (GET requests a intervalos regulares) ou mantém uma conexão aberta (long polling/WebSocket). Comandos do operador chegam codificados no corpo da resposta HTTP - frequentemente em Base64, JSON ou XML para parecer legítimo. As respostas do implante (resultados de comandos, dados coletados) são enviadas via POST para o mesmo endpoint ou para um endpoint diferente.
3. **Evasão e persistência:** Para evitar detecção por padrão temporal, os intervalos de beaconing são randomizados com jitter (variação de ±30% no tempo entre requisições). O C2 pode usar domínios gerados algoritmicamente (DGA) ou fronting via CDN legítimo (Cloudflare, AWS CloudFront) para que o destino real do tráfego sejá invisível. Em combinação com [[t1041-exfiltration-over-c2-channel|Exfiltração via Canal C2]], dados sensíveis são extraídos pelos mesmos canais HTTP sem alertar ferramentas de DLP.
## Detecção
**Fontes de dados:**
- **Proxy logs** - Análise de User-Agent incomum, beaconing periódico (requisições a intervalos regulares), domínios recém-registrados ou com baixa reputação
- **Network flow data (NetFlow/IPFIX)** - Conexões persistentes de longa duração de processos não-browser; alto volume de pequenas requisições POST para o mesmo destino externo
- **Sysmon Event ID 3** - Conexões de rede de processos inesperados (`powershell.exe`, `wscript.exe`, processo de negócios) para endereços externos na porta 80/443
- **DNS logs** - Consultas frequentes a domínios de baixa reputação, especialmente DGA ou domínios com strings aleatórias
- **SSL/TLS inspection** - Certificados autoassinados ou emitidos por CAs incomuns para tráfego HTTPS corporativo
- **EDR behavioral** - Processo que não é browser fazendo requisições HTTP periódicas a intervalos regulares (padrão de beaconing)
**Sigma Rule:**
```yaml
title: Suspicious Beaconing via HTTP/S - Non-Browser Process
id: c3f7a1b9-2e4d-4f6c-8b5a-1d9e3f7c2b0e
status: experimental
description: >
Detecta processos não-browser estabelecendo conexões HTTP/HTTPS periódicas,
indicativo de beaconing C2 via Web Protocols (T1071.001)
logsource:
category: network_connection
product: windows
service: sysmon
detection:
selection:
EventID: 3
Initiated: 'true'
DestinationPort:
- 80
- 443
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
- '\wscript.exe'
- '\cscript.exe'
- '\mshta.exe'
- '\regsvr32.exe'
- '\rundll32.exe'
filter_legitimate:
DestinationHostname|endswith:
- '.microsoft.com'
- '.windows.com'
- '.windowsupdaté.com'
condition: selection and not filter_legitimate
falsepositives:
- Scripts de automação legítimos que fazem chamadas a APIs internas
- Agentes de monitoramento corporativo
level: medium
tags:
- attack.command_and_control
- attack.t1071.001
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Implantar IDS/IPS com assinaturas para padrões de beaconing: requisições HTTP com User-Agent inconsistente, intervalos regulares de pequenos POSTs para o mesmo destino, e JA3/JA3S fingerprints de ferramentas de C2 conhecidas (Cobalt Strike, Metasploit). Habilitar inspeção SSL/TLS no perímetro para inspecionar tráfego HTTPS - especialmente para destinos externos sem histórico de acesso corporativo. |
| [[m1037-filter-network-traffic\|M1037 - Filter Network Traffic]] | Forçar todo tráfego HTTP/HTTPS de workstations e servidores por proxy corporativo autenticado com capacidade de inspeção de conteúdo. Bloquear acesso direto à internet (sem proxy) em todas as workstations. Implementar allowlist de domínios para servidores críticos. Bloquear ou alertar sobre domínios com menos de 30 dias de registro, sem histórico de Alexa/Cisco Umbrella, ou com scores baixos em plataformas de reputação. |
## Threat Actors
Os seguintes grupos são conhecidos por usar T1071.001 em campanhas ativas:
- [[g0075-rancor|Rancor]] - APT com foco no Sudeste Asiático; usa HTTP/S para C2 em campanhas de espionagem contra governo e mídia
- [[g1013-metador|Metador]] - APT de origem desconhecida; usa C2 via HTTPS em ataques a infraestrutura de telecomúnicações
- [[g1042-redecho|RedEcho]] - APT chinês; usou C2 via HTTP em ataques a infraestrutura elétrica indiana, padrão relevante para LATAM
- [[g1002-bitter|BITTER]] - APT sul-asiático; usa web protocols para C2 em campanhas de espionagem governamental
- [[g1036-moonstone-sleet|Moonstone Sleet]] - grupo norte-coreano; usa HTTPS para C2 em ataques a empresas de tecnologia e criptomoedas
- [[g0049-oilrig|OilRig]] - APT iraniano (ITG13); usa C2 via DNS-over-HTTPS e web protocols em campanhas no setor de energia
- [[g0071-orangeworm|Orangeworm]] - grupo focado em saúde; usa HTTP C2 em ambientes hospitalares onde controles de rede são mais permissivos
- [[g0067-apt37|APT37]] - APT norte-coreano (Reaper); usa HTTPS para C2 em campanhas de espionagem e sabotagem
- [[g1035-winter-vivern|Winter Vivern]] - APT pró-Rússia; usa web protocols em campanhas contra governo europeu e jornalistas
- [[g0070-dark-caracal|Dark Caracal]] - APT do Oriente Médio; usa C2 via HTTP em campanhas de vigilância com malware mobile e desktop
## Software Associado
- [[s1047-mori|Mori]] (malware) - backdoor de OilRig que usa C2 via HTTP/S com dados codificados em Base64
- [[s0275-uppercut|UPPERCUT]] (malware) - backdoor de APT10 que implementa C2 via HTTP com criptografia personalizada
- [[s0495-rdat|RDAT]] (malware) - backdoor de OilRig que usa HTTP e steganografia para exfiltrar dados via C2
- [[s1108-pulsecheck|PULSECHECK]] (malware) - webshell que usa HTTP para receber comandos e exfiltrar dados
- [[s0207-vasport|Vasport]] (malware) - backdoor que usa HTTP polling para aguardar comandos do operador
- [[drovorub|Drovorub]] (malware) - rootkit Linux do GRU russo com C2 via WebSocket sobre HTTP/S
- [[s0144-chches|ChChes]] (malware) - backdoor de APT10 que usa HTTP para C2 com cabeçalhos falsificados
- [[s1246-beavertail|BeaverTail]] (malware) - infostealer norte-coreano que usa HTTPS para exfiltrar credenciais e carteiras cripto
- [[s1023-creepydrive|CreepyDrive]] (malware) - backdoor que usa OneDrive como canal C2 via HTTP/S - exemplo clássico de cloud C2
- [[s0091-epic|Epic]] (malware) - backdoor de Turla com múltiplos canais C2 incluindo HTTP/S
---
*Fonte: [MITRE ATT&CK - T1071.001](https://attack.mitre.org/techniques/T1071/001)*