# T1095 - Non-Application Layer Protocol
## Descrição
Protocolos de camadas não-aplicação são utilizados por adversários para estabelecer canais de comando e controle (C2) que escapam da inspeção de segurança convencional. Em vez de usar HTTP, HTTPS ou DNS - protocolos da camada de aplicação que firewalls de próxima geração e proxies inspecionam com facilidade - os atacantes recorrem a protocolos de camadas inferiores do modelo OSI: ICMP (camada de rede), UDP bruto (camada de transporte), SOCKS (camada de sessão), ou até protocolos seriais e de virtualização como Serial over LAN (SOL) e VMCI.
O ICMP é o exemplo mais clássico: por ser obrigatório em toda implementação do protocolo IP, está presente em práticamente todos os sistemas e raramente é bloqueado - mas o tráfego ICMP é monitorado com muito menos rigor do que TCP ou UDP. Atacantes encapsulam dados C2 no campo de payload dos pacotes ICMP Echo Request/Reply, criando um canal bidirecional imperceptível para analistas que não inspecionam o conteúdo dos pacotes de "ping". Em ambientes VMware ESXi, o protocolo VMCI oferece comunicação entre máquinas virtuais e o host ESXi que sequer atravéssa a rede física, tornando-a invisível para ferramentas de monitoramento de rede como tcpdump, netstat e Wireshark.
A escolha do protocolo depende do ambiente-alvo: UDP bruto oferece velocidade e menor overhead; SOCKS permite tunelamento de tráfego por proxies; protocolos industriais ou seriais são usados em ambientes OT/ICS onde monitoramento de rede é ainda mais limitado. Em todos os casos, o objetivo é o mesmo - manter comunicação com a infraestrutura C2 por um canal que os controles de segurança da vítima não inspecionam ou não compreendem.
**Contexto Brasil/LATAM:** No Brasil, a técnica é particularmente relevante em ataques contra infraestrutura crítica e instituições financeiras, setores com grande dependência de equipamentos de rede legados e firewalls configurados apenas para bloquear portas específicas - sem inspeção profunda de pacotes. Grupos como [[g0129-mustang-panda|Mustang Panda]] e [[g0037-fin6|FIN6]], com histórico de operações na América Latina, exploram canais ICMP e UDP em ambientes onde a largura de banda de inspeção DPI é limitada. A crescente adoção de virtualização VMware em data centers brasileiros torna o vetor VMCI uma ameaça emergente para grandes organizações do setor financeiro e governo.
## Attack Flow
```mermaid
graph TB
A["Comprometimento<br/>Inicial"] --> B["Implantação<br/>do Implant C2"]
B --> C["T1095<br/>Non-Application<br/>Layer Protocol"]:::highlight
C --> D["Exfiltração<br/>ou Staging"]
D --> E["Persistência<br/>e Movimento Lateral"]
classDef highlight fill:#e74c3c,color:#fff,stroke:#c0392b
```
## Como Funciona
1. **Preparação:** O adversário seleciona o protocolo de camada baixa mais adequado ao ambiente da vítima. Em redes corporativas padrão, ICMP é a escolha mais comum por sua onipresença. Em ambientes cloud ou virtualizados, VMCI ou UDP bruto podem ser preferidos. O implant é configurado para usar o protocolo escolhido, geralmente com dados C2 encodificados em base64 ou criptografados dentro do payload do pacote.
2. **Execução:** O malware instalado na vítima envia pacotes periódicos ao servidor C2 do atacante usando o protocolo de baixa camada. Para ICMP, os comandos do operador chegam no payload de pacotes ICMP Echo Reply; o implant lê o conteúdo, executa o comando e devolve a resposta em novos pacotes ICMP. O beacon pode ser configurado com jitter aleatório para simular tráfego legítimo e dificultar detecção por análise temporal. Em ambientes ESXi com backdoor VMCI, a comunicação flui entre a VM comprometida e o host sem jámais aparecer no tráfego de rede externo.
3. **Pós-execução:** Com o canal C2 estabelecido, o atacante pode enviar comandos, exfiltrar dados, fazer upload de ferramentas adicionais e orquestrar movimento lateral - tudo sem gerar tráfego HTTP ou DNS detectável. A longevidade do canal é alta, pois regras de firewall raramente bloqueiam ICMP completamente sem interromper diagnósticos de rede. A combinação com [[t1574-001-dll|T1574.001 - DLL Hijacking]] para persistência e [[t1218-011-rundll32|T1218.011 - Rundll32]] para execução cria uma cadeia de ataque altamente evasiva.
## Detecção
**Fontes de dados:**
- **Network Traffic Analysis** - inspecionar o payload de pacotes ICMP (normal é payload fixo ou vazio; dados C2 produzem payloads variáveis ou com padrões codificados)
- **Wireshark / Zeek / Suricata** - regras para detectar ICMP com tamanho de payload incomum (>64 bytes), frequência anormal ou destinos não usuais
- **NetFlow / IPFIX** - detectar volumes anormais de ICMP ou UDP para hosts externos raramente comúnicados
- **Windows Event ID 5156** - conexões de rede permitidas pelo firewall do Windows; filtrar para protocolos raw (ICMP, raw sockets)
- **Sysmon Event ID 3** - `NetworkConnect`: processos não-browser iniciando conexões UDP ou ICMP para IPs externos
- **ESXi logs** - monitorar criação de sockets VMCI por processos não-gerenciais em hosts VMware
**Sigma Rule:**
```yaml
title: Suspicious ICMP Traffic with Oversized Payload (Potential C2 Tunnel)
id: b9e2f4a1-3c7d-4e99-8f01-d4b7c6e9a2f5
status: experimental
description: Detects ICMP packets with unusually large or variable payloads that may indicaté C2 tunneling
references:
- T1095
author: RunkIntel
daté: 2026-03-24
logsource:
product: zeek
service: icmp
detection:
selection:
proto: icmp
icmp.payload_length|gt: 64
filter_legit:
id.resp_h|cidr:
- '10.0.0.0/8'
- '172.16.0.0/12'
- '192.168.0.0/16'
condition: selection and not filter_legit
falsepositives:
- Ferramentas de diagnóstico de rede com payload configurável
- Alguns sistemas de monitoramento de latência enterprise
level: medium
tags:
- attack.command_and_control
- attack.t1095
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1037-filter-network-traffic\|M1037 - Filter Network Traffic]] | Implementar regras de firewall que restrinjam tráfego ICMP de saída a destinos internos e IPs de diagnóstico conhecidos. Bloquear ICMP para endereços externos não autorizados na borda da rede. Para ambientes críticos, considerar bloqueio total de ICMP de saída com exceções controladas. |
| [[m1031-network-intrusion-prevention\|M1031 - Network Intrusion Prevention]] | Configurar IDS/IPS com regras para inspecionar payload de pacotes ICMP e UDP em busca de padrões codificados (base64, entropy alta). Soluções como Suricata e Snort possuem conjuntos de regras para detecção de ICMP tunneling. Habilitar Deep Packet Inspection (DPI) em dispositivos de borda. |
| [[m1030-network-segmentation\|M1030 - Network Segmentation]] | Segmentar redes de forma que hosts internos não possam iniciar tráfego ICMP diretamente para a internet. Toda comunicação de saída deve passar por proxies que inspecionem o protocolo. Em ambientes VMware, isolar VMs sensíveis e monitorar comunicação VMCI entre guest e host ESXi. |
| [[m1047-audit\|M1047 - Audit]] | Auditar regularmente as regras de firewall para identificar permissões excessivamente permissivas para ICMP, UDP raw e outros protocolos de camada baixa. Revisar logs de NetFlow em busca de padrões anômalos de tráfego não-TCP/UDP. Mapear quais sistemas legitimamente precisam de conectividade ICMP externa. |
## Threat Actors
Os seguintes grupos utilizam protocolos de camadas não-aplicação como canal C2:
- [[g0047-gamaredon|Gamaredon Group]] - APT russo com extenso histórico de operações na Ucrânia, usa protocolos não-padrão para manter C2 resiliente a bloqueios
- [[g1003-ember-bear|Ember Bear]] - grupo russo vinculado a operações destrutivas, combina C2 via protocolos alternativos com wiper malware
- [[g1022-toddycat|ToddyCat]] - ator de espionagem com foco em governo e setor militar, usa canais C2 discretos em campanhas de longa duração
- [[g0129-mustang-panda|Mustang Panda]] - APT chinês ativo no Sudeste Asiático e América Latina, usa tunneling em protocolos de transporte para manter acesso persistente
- [[g1013-metador|Metador]] - grupo altamente sofisticado com implants em routers e ESXi, usa VMCI e protocolos de rede para C2 invisível a ferramentas padrão
- [[g0068-platinum|PLATINUM]] - APT de espionagem que usa técnicas avançadas de C2 incluindo Serial over LAN e protocolos industriais
- [[g1048-unc3886|UNC3886]] - grupo focado em appliances de virtualização, explorou VMCI backdoor em ambientes ESXi comprometidos
- [[g0037-fin6|FIN6]] - grupo de crime financeiro com operações no varejo e hospitalidade, usa C2 via UDP para exfiltrar dados de cartões
- [[g0135-backdoordiplomacy|BackdoorDiplomacy]] - APT com nexo chinês ativo contra embaixadas e ministérios, usa protocolos alternativos para persistência em redes governamentais
- [[g0022-apt3|APT3]] - grupo de espionagem chinês que usa múltiplos protocolos para C2 resiliente e difícil de detectar
## Software Associado
Os seguintes malwares e ferramentas implementam comunicação via protocolos de camada baixa:
- [[s1144-frp|FRP]] - ferramenta legítima de proxy reverso frequentemente abusada para tunneling de C2 via protocolos não-padrão
- [[s0504-anchor|Anchor]] - backdoor do grupo TrickBot que usa DNS e ICMP para comunicação C2 furtiva
- [[s0076-fakem|FakeM]] - RAT que simula tráfego de protocolos legítimos mas opera em camadas não-aplicação
- [[s0456-aria-body|Aria-body]] - backdoor do Naikon Group com suporte a múltiplos protocolos C2 de baixa camada
- [[s0660-clambling|Clambling]] - backdoor chinês com comunicação C2 via UDP e ICMP, dificultando detecção em redes corporativas
- [[s1016-macma|MacMa]] - backdoor para macOS com suporte a protocolos alternativos de C2, atribuído ao grupo APT ligado à China
- [[s0155-windshield|WINDSHIELD]] - implant sofisticado para ESXi que usa VMCI para C2 invisível, atribuído ao UNC3886
- [[gelsemium|Gelsemium]] - framework de malware multi-estágio com comunicação C2 via sockets raw e ICMP
- [[osxoceanlotusd|OSX_OCEANLOTUS.D]] - variante macOS do APT32 com suporte a C2 via protocolos de rede não convencionais
- [[s1204-cd00r|cd00r]] - ferramenta de port knocking baseada em ICMP, usada para ativação furtiva de backdoors
---
*Fonte: [MITRE ATT&CK - T1095](https://attack.mitre.org/techniques/T1095)*