
Abbildung 5a: Die Ausgangssituation: Der Client C hat die MAC-Adresse des Servers S korrekt in seiner ARP-Tabelle verzeichnet, ebenso kennt der Server die Adresse des Clients. Der Eintrag X steht stellvertretend für weitere Rechner.

Abbildung 5b: Im ersten Schritt des Man-in-the-Middle-Angriffs sendet der Angreifer A ungefragt einen ARP-Reply an Client C. Der Client trägt folgsam die MAC-Adresse von A in die ARP-Tabelle ein, und zwar als Adresse für den Server S.

Abbildung 5c: Ein zweiter ARP-Reply – diesmal an den Server S – vervollständigt den Angriff. Jetzt denkt der Server, dass die MAC-Adresse von A dem Client C gehört. Für C gedachte Pakete wird er daher fälschlich an A senden.
Unerwünschter Router
Will der Client mit dem Server kommunizieren, wird er seiner manipulierten ARP-Tabelle folgen und das Paket an die MAC-Adresse des Angreifers schicken. Der Saboteur kann es lesen und ändern, bevor er es an den Server weiterleitet. Als Man in the Middle gleicht er einem Router (Abbildung 1), der nur über ein Netzinterface verfügt. Der Empfänger geht davon aus, dass das Paket direkt vom Client kommt. Die Antwort des Servers geht ebenfalls ungewollt an den Angreifer, der sie wieder an den Client weiterleitet. Falls der Server in einem anderen Subnetz steht, wird einfach die Verbindung zwischen Client und lokalem Router angegriffen.
Statt Daten abzuhören erreicht der Angreifer sehr einfach einen Denial of Service, wenn er die zu ihm umgeleiteten Pakete verwirft. Auch Informationen zu manipulieren ist leicht, der Saboteur muss nur andere Daten weiterleiten als er empfängt. Das Sammeln von Passwörtern ist ebenfalls möglich, aus der Portnummer lassen sich Rückschlüsse auf das verwendete Protokoll ziehen und mit dieser Kenntnis Benutzername und Passwort finden.

Abbildung 6a: Die ARP-Tabelle des Rechners »odo« enthält für die IP-Adresse 192.168.1.124 vor dem Angriff die korrekte MAC-Adresse »00:D0:B7:0B:B6:4A«.

Abbildung 6b: Während des Angriffs ändert sich die zu 192.168.1.124 gehörende MAC-Adresse auf »00:60:97:B4:44:07« – sie gehört dem Angreifer-Rechner.
Vorsicht bei SSL und SSH
Sogar verschlüsselte Verbindungen sind nicht automatisch immun, wie sich mit einigen ARP-Tools belegen lässt. Diese Programme sind für verschiedene Betriebssysteme verfügbar (siehe Kasten “ARP-Angriffssoftware”). Neben der ARP-Poisoning-Funktion enthalten sie Client- und Server-Implementierungen für SSL (Secure Socket Layer), TLS (Transport Layer Security), SSH (Secure Shell) oder PPTP (Point to Point Tunneling Protocol). Beim Zugriff auf einen SSL-Webserver warnt der Browser zwar, dass mit dem Zertifikat dieser Verbindung etwas nicht stimmt. Viele Anwender können die Warnung aber nicht richtig deuten und ignorieren sie.
|
ARP-Angriffssoftware |
|---|
|
Die folgende Liste zeigt einige Beispiele für Software, mit der Angreifer die ARP-Probleme ausnutzen oder Admins ihre eigenen Netze testen. Die Tools eignen sich gut, um Ungläubigen die Tragweite der ARP-Attacken zu verdeutlichen. Nicht die Existenz dieser Programme ist das Problem, sondern ARP. ARP-SK: Die Programmierer bezeichnen ihr Tool als Schweizer Messer für ARP, es ist als Unix- und Windows-Version verfügbar. Das Programm kann die ARP-Tabellen verschiedenster Geräte manipulieren. [http://www.arp-sk.org] Arpoc und WCI: Dieses Unix- und Windows-Programm fängt Verbindungen im LAN ab (Man in the Middle). Es reagiert auf jeden ARP-Request, der den Rechner erreicht, mit einem gefälschten ARP-Reply. Pakete, die nicht lokal zugestellt werden sollen, leitet das Programm an den passenden Router weiter. [http://www.phenoelit.de/arpoc/] Arpoison: Kommandozeilentool, das gefälschte ARP-Pakete erzeugt. Der Anwender legt die Absender-IP/MAC und Ziel-IP/MAC beliebig fest. [http://arpoison.sourceforge.net] Brian: Dieses sehr einfache Tool (nur ein C-File) benutzt ARP-Poisoning, um das Switching in einem LAN zu deaktivieren. Damit lässt sich der gesamte Datenverkehr abhören. [http://www.bournemouthbynight.co.uk/tools/] Cain & Abel: Die ausgefeilte Windows-Software war ursprünglich ein Passwort-Recovery-Tool. Das Programm hört das Netzwerk ab und versucht mit unterschiedlichen Techniken verschlüsselte und getarnte Passwörter zu dechiffrieren. Seit Version 2.5 nutzt das Tool auch ARP-Poisoning, um im geswitchten LAN den IP-Verkehr abzufangen. Das Programm greift auch SSH- und HTTPS-Verbindungen an. [http://www.oxid.it/cain.html] Dsniff: Die einzelnen Programme dieser Tool-Sammlung erfüllen verschiedene Aufgaben. Dsniff, Filesnarf, Mailsnarf, Msgsnarf, Urlsnarf und Webspy belauschen das Netz und fischen interessante Daten heraus (etwa Passwörter, E-Mail und Dateien). Mit Arpspoof, Dnsspoof und Macof kommen Admins und Angreifer an Daten, die ihnen das Switching im LAN eigentlich vorenthält. Per Sshmitm und Webmitm sind auch Man-in-the-Middle-Angriffe auf SSH und HTTPS möglich (hier übrigens Monkey in the Middle genannt). [http://naughty.monkey.org/~dugsong/dsniff/] Ettercap: Ein recht mächtiges Programm mit bequemer Textmodus-Oberfläche (siehe Abbildung 7), die aktuelle Version bringt auch ein GTK-Interface mit. Alle Aktionen laufen automatisch, mögliche Angriffsziele listet das Tool in einem Fenster. Neben Sniffing, ARP-Attacken und dem automatischen Passwortsammeln kann Ettercap auch die Daten innerhalb einer Verbindung manipulieren. Das Programm greift auch SSHv1- und SSL-Verbindungen an. [http://ettercap.sourceforge.net] Hunt: Dringt in eine Verbindung ein, hört sie ab und kann sie übernehmen (Session Hijacking). Das Tool benutzt unter anderem ARP-Spoofing. [http://packetstormsecurity.nl/sniffers/hunt/] Juggernaut: Das Phrack-Magazin veröffentlichte 1997 mit Juggernaut den Vorläufer vieler heute verfügbarer Sniffer mit ARP-Cache-Poisoning-Funktion. [http://www.phrack.org/show.php?p=50&a=6] Parasite: Der Parasite-Daemon hört das LAN ab und reagiert auf jeden ARP-Request mit einem gefälschten ARP-Reply. Im Laufe der Zeit fungiert der Rechner als Man in the Middle für alle Kommunikation im LAN. [http://www.thc.org/releases.php] |
Dass viele Webserver mit einem selbst generierten oder abgelaufenen Zertifikat arbeiten und die Warnung daher bekannt ist, verstärkt diesen Warnung-wegklicken-Effekt noch. Durch einen Bug in manchen Internet-Explorer-Versionen ist es sogar möglich, SSL-Verbindungen anzugreifen, ohne dass der Browser eine Warnung anzeigt.
Der Angriff auf SSH erfolgt ähnlich (Abbildung 7). Wenn der Client den Host-Key des Servers bereits kennt, gibt er eine sehr deutliche Warnung aus (Abbildung 8). Aber sogar die wird von vielen Benutzern und Admins ignoriert – sie vermuten, dass jemand den SSH-Schlüssel des Servers neu erzeugt hat. Nur wenige Protokolle (genauer: deren Implementierungen) sind immun, ein Beispiel dafür ist IPsec. Es verweigert pauschal den Dienst, wenn bei der Authentifizierung etwas schief läuft.





