
icmptunnel
icmptunnel est un outil permettant de tunnelliser le trafic IP dans des paquets de requête et de réponse d'écho ICMP (ping). Il est destiné à contourner les pare-feu de manière semi-clandestine, par exemple lors d'un pivotement dans un réseau où le ping est autorisé. Il peut également être utile pour une sortie depuis un réseau d'entreprise vers Internet, bien qu'il soit assez courant que le trafic d'écho ICMP soit filtré en périphérie du réseau.
Bien qu'il existe quelques outils existants qui implémentent cette technique, icmptunnel fournit un protocole plus fiable et un mécanisme pour tunnelliser à travers les pare-feu avec état et le NAT.
L'outil utilise un simple Makefile pour compiler et installer.
Utilisez make pour compiler icmptunnel.
Tout d'abord, désactivez les réponses d'écho ICMP à la fois sur le client et sur le serveur. Cela empêche le noyau de répondre lui-même aux paquets ping.
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Côté serveur, démarrez icmptunnel en mode serveur et attribuez une adresse IP à la nouvelle interface tunnel.
# ./icmptunnel –s
opened tunnel device: tun0
(ctrl-z)
# bg
# /sbin/ifconfig tun0 10.0.0.1 netmask 255.255.255.0
Côté client, pointez icmptunnel vers le serveur et attribuez une adresse IP.
# ./icmptunnel <server>
opened tunnel device: tun0
connection established.
(ctrl-z)
# bg
# /sbin/ifconfig tun0 10.0.0.2 netmask 255.255.255.0
À ce stade, vous devriez disposer d'un tunnel point à point fonctionnel via des paquets ICMP. Le côté serveur est 10.0.0.1 et le côté client est 10.0.0.2. Sur le client, essayez de vous connecter au serveur via SSH :
# ssh [email protected]
Password:
Pour utiliser le serveur distant comme proxy SOCKS chiffré :
# ssh -D 8080 -N [email protected]
Password:
Pointez maintenant votre navigateur web vers le serveur SOCKS local.
Consultez ./icmptunnel -h pour une liste des options.
Veuillez signaler tout bug sur la page du projet Github à l'adresse :