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