Message à cacher (200 chars max — ASCII uniquement)
0/200 · 1 paquets générés (+ EOF)
Canal
Champ TTL
1 octet IP / paquet
Capacité
1 char/paquet
ASCII 0–127
Traitement
100% local
Aucun paquet envoyé
Tous les champs IP/TCP exploitables, détection par IDS et contre-mesures.
Guide complet →Comment ça fonctionne
Algorithme Covert Channel IP/TTL
Le champ TTL (Time To Live) d'un en-tête IP est un entier sur 8 bits (0–255), normalement utilisé pour limiter la durée de vie des paquets en réseau. Ici, chaque octet ASCII du message est directement encodé comme valeur TTL dans un faux paquet simulé (TTL=72 pour 'H', TTL=101 pour 'e'…). Un paquet final avec TTL=0 sert de terminateur. Le décodeur extrait les valeurs TTL par regex (TTL=NNN) et reconstruit le message.
Autres champs exploitables
Le TTL n'est qu'un des nombreux champs utilisables. L'IP ID (16 bits, 65 536 valeurs possibles) offre une bande passante bien supérieure. Le TCP Sequence Number ISN (32 bits) est classiquement utilisé dans les covert channels TCP. Le TCP Urgent Pointer (16 bits) est ignoré par les firewalls si le flag URG est à 0. Le padding IP/TCP (octets NOP) peut transporter des données arbitraires.
Pourquoi le TTL est-il peu surveillé ?▾
Le TTL est décrémenté à chaque routeur et sa valeur initiale varie selon l'OS (64 pour Linux, 128 pour Windows, 255 pour Cisco). Les firewalls et IDS ne vérifient généralement pas la valeur absolue du TTL entrant, ils se contentent de vérifier qu'il est > 0. Une valeur de TTL=72 (lettre "H") passe inaperçue dans la plupart des analyses réseau superficielles.
Quels autres champs IP/TCP peut-on utiliser ?▾
IP : champ ID (16 bits, très utilisé), bit réservé "Evil bit" RFC 3514 (1 bit), options IP (variable). TCP : numéro de séquence initial ISN (32 bits, grande capacité), pointeur urgent (16 bits, ignoré si URG=0), options TCP comme les timestamps (32 bits × 2). ICMP : numéro de séquence, identifier, données payload.
Comment détecter ce canal caché ?▾
Indicateurs principaux : distribution anormale des valeurs TTL (pic sur 65–90 correspondant aux ASCII imprimables, absence des valeurs standard 64/128/255), séquences de paquets avec TTL strictement croissant ou décroissant, ratio TTL/contenu incohérent. Outils : Snort/Suricata avec règles personnalisées, Wireshark avec filtre ip.ttl, analyse statistique avec Zeek.
Aucun paquet n'est vraiment envoyé ici ?▾
Correct — cet outil génère uniquement une représentation textuelle des paquets simulés. Pour un covert channel IP/TTL opérationnel, il faudrait des raw sockets (droits root sur Linux, ou WinPcap/Npcap sur Windows), une bibliothèque comme Scapy (Python) ou libpcap, et bien sûr un accès réseau légitime sur le chemin vers le destinataire.