Ein ICMP-Tunnel benutzt ICMP-Pakete (), um einen verdeckten Kanal zwischen zwei Computern (Client und Proxy) aufzubauen. Dadurch kann beispielsweise mittels Ping-Nachrichten ein Tunnel für TCP-Pakete eingerichtet werden.
Technische Einzelheiten Ein ICMP-Tunnel beruht darauf, dass beliebige Daten an ein Echo-Paket angefügt werden und an einen anderen Computer geschickt werden. Dieser antwortet auf die gleiche Weise, indem er seine Antwort einem anderen ICMP-Paket hinzufügt und zurückschickt. Der Client verwendet ICMP-Echo-Request-Pakete, während der Proxy Echo-Reply-Pakete nutzt. Theoretisch wäre es einfacher, wenn der Proxy ebenfalls Echo-Request-Pakete nutzen würde, wodurch die Implementierung wesentlich einfacher würde. Doch diese Pakete werden nicht unbedingt an den Client weitergeleitet, da der Client hinter einem Router liegen könnte, der Pings von außerhalb des eigenen Netzes filtert, wie beispielsweise im Falle eines NAT-Routers.
Anwendungen Ein ICMP-Tunnel wird oft benutzt, um Firewalls zu umgehen, die ICMP-Pakete durchlassen, oder um einen verschlüsselten Kommunikationskanal zwischen zwei Computern aufzubauen, der schwer aufspürbar ist.
Verhinderungsmöglichkeiten Durch das Blockieren von ICMP-Nachrichten () an den Netz-Außengrenzen können ICMP-Tunnel-Verbindungen unterbunden werden. Ist die Erreichbarkeitsprüfung von Systemen mittels ICMP jedoch gewünscht, kann auch die Limitierung der Bandbreite („Rate Limit“) z. B. durch Firewall- oder Einbruchsverhinderungssysteme (IPS) von ICMP-Echo-Nachrichten einen Tunnel unattraktiv machen.
Siehe auch ICMPv6 Smurf-Attacke
Weblinks sourceforge.net – einfache ICMP-Tunnel Ping Tunnel. cs.uit.no icmpshell.sourceforge.net – ein Telnet-ähnliches Protokoll, jedoch über ICMP
Using the ICMP tunneling tool Ping Tunnel. neverfear.org/blog Project Loki. In: Phrack; über ICMP-Tunnel.
Einzelnachweise
Kategorie:Sicherheitslücke Kategorie:Tunnelprotokoll