Tunneln von IP-Daten mithilfe von ICMP-Paketen
ICMP-Pakete werden verwendet, um IP-Datagramme einzukapseln. Dieses IP-Datagramm kann sein: ein UDP-Paket, Teil eines TCP-Segments, Teil einer SCTP / GRE / MPLS-Protokolldateneinheit oder ein beliebiges anderes Protokoll, das höher ist als Schicht 2.
Tunneln von TCP-Daten über ICMP
ICMP-Pakete werden zum Einkapseln von TCP-Segmenten oder IP-Datagrammen verwendet, die nur aus TCP-Segmenten bestehen.
Bei einer ICMP-Echoanfrage kann der Sender eine Nutzlast angeben. Ein "Hack" von ICMP könnte zum Beispiel diese Tatsache ausnutzen und ein TCP-Paket in die Nutzlast setzen. Etwas auf der Empfangsseite müsste dies wissen und auch das Spiel spielen. Wenn Sie mit den anderen ICMP-Anfragetypen kreativ werden, könnten Sie wahrscheinlich eine Menge tun.
Ein gutes Beispiel für die Verdrehung eines Protokolls in Richtung einer nicht beabsichtigten Verwendung ist iodine
( http://code.kryo.se/iodine/ ), das IP über DNS-Anfragen tunnelt.
(Randbemerkung: Beachten Sie, dass sich im IP-Header ein "Protokollfeld" befindet, das angibt, welches Protokoll der höheren Schicht transportiert wird. TCP ist Protokoll Nr. 6, GRE ist Protokoll Nr. 47 usw.) ( http: //www.iana.). org / Aufgaben / Protokollnummern / Protokollnummern.xml ))