1.3.1 ICMP-Pakete

ICMPInternet Control Message Protocol lässt sich in vielfältiger Hinsicht missbrauchen, um Angriffe auszuführen.

  • Durch ICMP Echo-Nachrichten kann mit dem Programm ping die Verfügbarkeit eines Rechners festgestellt werden. Hiermit kann man feststellen, welche Rechner insgesamt in einem Netz vorhanden sind.
  • Mit einer ICMP Redirect-Nachricht kann die Routing-Tabelle geändert werden, um so Pakete an den Angreifer umzulenken, der sie anschliessend weiterleitet, ohne dass der Angegriffene dies bemerken kann.
  • Wenn Pakete nicht dem gewünschten Empfänger zugestellt werden können, wird eine ICMP Destination Unreachable-Nachricht an den Sender zurückgeschickt, der dann eine bestehende Verbindung abbricht. Falls diese Nachricht gefälscht ist, wird der Sender veranlasst bestehende Verbindungen zu beenden. Dadurch kann eine DoSDenial of Service-Attacke ausgeführt werden.
  • Mit dem Senden einer ICMP Source Quench-Nachricht wird das Opfer veranlasst seine Übertragungsrate zu reduzieren, da hiermit eine Überlastung des Gegenseite signalisiert wird. Dadurch wird die Kommunikation behindert.
  • ICMP Tunneling wird eine Angriffsart genannt, bei der die bei einem Angriff benötigten Daten in ICMP-Nachrichten verpackt werden. Wenn eine Firewall ICMP-Nachrichten passieren lässt, können diese Daten z.B. in ICMP Echo-Nachrichten transportiert werden. Da der Inhalt von Echo-Nachrichten für die Echo-Funktion belanglos ist und nicht weiter untersucht wird, eignet sich diese Nachricht als Transport-Medium, um beispielsweise Daten mit einem vorher beim Opfer installierten Server auszutauschen.
  • Mit fragmentierten Paketen kann die Existenz eines Hosts festgestellt werden, der durch eine Firewall geschützt ist: Das erste Fragment wird in der Firewall auf Grund seiner Port-Nummer vernichtet; die folgenden Pakete werden von der Firewall durchgelassen, da sie keine Port-Informationen beinhalten. Das Opfer kann die Fragmente nicht reassemblieren, da das erste Fragment fehlt und sendet eine ICMP Fragment Reassembly Time Exceeded-Nachricht an den Angreifer zurück, der damit die Existenz des Opfers feststellt.


Die folgende Interaktion zeigt ein Beispiel eines Angriffs mit fragmentierten Paketen:


FragmentReassemblyTimeout.png

G05420 1.gif
In einer Firma wird ein firmeninterner FTP Server betrieben, auf den vom Internet nicht zugegriffen werden soll.
G05420 2.gif
In der Firewall ist eine Regel definiert, die alle Pakete, die von aussen kommen und an Port 21 gerichtet sind, verwirft.
G05420 3.gif
Der Angreifer erzeugt ein Paket für den FTP-Server, das fragmentiert ist. Im ersten Fragment sind der IP Header und der TCP Header mit der Port-Nummer 21 vorhanden. Dieses Paket wird von der Firewall verworfen.
G05420 4.gif
Im nächsten Fragment sind die Portangaben des TCP Headers nicht mehr vorhanden. Dieses Paket wird von der Firewall durchgelassen und dem FTP Server zugestellt.
G05420 5.gif
Da das erste Fragment fehlt, kann der FTP Server die Fragmente nicht zusammensetzen und sendet eine ICMP-Nachricht an den Absender zurück. So erfährt der Absender, dass der FTP Server existiert.