In dieser Aufgabe werden wir ARP Spoofing in Filius praktisch umsetzen. Mittels ARP Spoofing können Angreifer in Netzwerken Anfragen abfangen, die eigentlich für andere Empfänger gedacht sind, wodurch u. a. Man-in-the-Middle-Angriffe möglich werden.
Nach dem Arbeitsauftrag finden Sie Erläuterungen zu den einzelnen Schritten (bitte erst nach der Bearbeitung lesen) und ein Fazit.
Achtung: Für diese Aufgabe wird die aktuelle Version (mindestens 13.1) von Filius benötigt!
Öffnen Sie die Projektdatei ARP-Spoofing-2.fls ( Download) in Filius und wechseln Sie in den Aktionsmodus. Das Projekt enthält das unten abgebildete lokale Netzwerk:
Das Netzwerk enthält unter anderem die Clients Alice (192.168.0.11), Bob (192.168.0.12) und Eve (192.168.0.13). Alice kann Bob Nachrichten schicken: Dazu ist auf ihrem Rechner ein einfacher Nachrichten-Sender und auf Bobs Rechner ein Nachrichten-Empfänger installiert, der auf dem UDP-Port 55555 Nachrichten entgegennimmt und protokolliert.
Öffnen Sie den Desktop von Alice und von Bob und rufen Sie dort jeweils den Nachrichten-Empfänger bzw. Sender auf. Starten Sie als Alice den Sender mit Bobs IP-Adresse als Ziel-Adresse und senden Sie eine Nachricht ab (z. B. “Hallo, Bob!”):
In Bobs Nachrichten-Empfänger sollte die Nachricht nun erscheinen:
Überprüfen Sie nun die Einträge von Alices ARP-Tabelle (zur Erinnerung: Die ARP-Tabelle ordnet IP-Adressen den entsprechenden MAC-Adressen zu, damit IP-Pakete über die Netzwerkschicht an den richtigen Empfänger weitergeleitet werden können). Geben Sie dazu in der Befehlszeile auf Alices Desktop den Befehl arp
ein:
Überprüfen Sie, ob die Einträge richtig sind. Bobs MAC-Adresse können Sie abrufen, indem Sie in der Befehlszeile auf Bobs Desktop den Befehl ipconfig
eingeben:
Eve manipuliert nun Alices ARP-Tabelle, indem Sie eine gefälschte ARP-Reply an Alice verschickt, in der sie Bobs IP-Adresse für ihre eigene MAC-Adresse angibt.
Verwenden Sie dazu den Befehl arpsend
in der Befehlszeile auf Eves Desktop. Rufen Sie den Befehl ohne Parameterwerte auf, damit ein kurzer Hilfetext zur Bedienung angezeigt wird:
Überprüfen Sie nun erneut Alices ARP-Tabelle. Was fällt Ihnen auf?
Wie könnte an dieser Stelle bereits von Alice festgestellt werden, dass sie möglicherweise einem ARP-Spoofing-Angriff zum Opfer gefallen ist?
Öffnen Sie nun wieder den Nachrichten-Sender auf Alices Desktop und versenden Sie eine weitere (vertrauliche) Nachricht (z. B. ein Passwort). Kommt diese Nachricht in Bobs Empfänger an?
Überprüfen Sie anhand des Datenverkehr-Fensters, was passiert ist. Prüfen Sie zuerst den Datenverkehr an der Netzwerkschnittstelle von Alice (Rechtsklick auf Alices Rechner und “Datenaustausch anzeigen” wählen). Finden Sie den gefälschten ARP-Reply von Eve aus Schritt 3? Ist in der letzten Nachricht, die von Alice verschickt wurde, etwas Auffälliges zu erkennen?
Überprüfen Sie als nächstes den Datenverkehr von Bobs Netzwerkschnittstelle. Ist die letzte Nachricht von Alice hier wiederzufinden?
Überprüfen Sie als letztes noch den Datenverkehr von Eves Netzwerkschnittstelle. Kann Eve die letzte Nachricht von Alice lesen?
Machen Sie sich zum Abschluss noch einmal klar, was in diesem Versuch schrittweise passiert ist und vollziehen Sie die einzelnen Schritte im Datenverkehr von Alice, Bob und Eve nach.
In Schritt 1 fragt Alices Rechner (bevor die Nachricht an 192.168.0.12 gesendet werden kann) mit einer ARP-Request nach der MAC-Adresse zur IP-Adresse 192.168.0.12 und erhält als Antwort Bobs MAC-Adresse 37:1F:...
(Pakete Nr. 1 und 2 in Alices und Bobs Datenverkehr), die in ihre ARP-Tabelle eingetragen wird. Im nächsten Paket wird erste Nachricht von Alice an Bob gesendet.
In Schritt 2 ist der Eintrag in Alices ARP-Tabelle offensichtlich noch korrekt.
Der arpsend
-Aufruf von Eve in Schritt 3 muss folgendermaßen lauten:
arpsend 192.168.0.12 192.168.0.11
d. h. Eve schickt eine gefälschte ARP-Reply an 192.168.0.11 (Alice), die als Absender-IP-Adresse 192.168.0.12 (Bob) angibt und als zugehörige MAC-Adresse ihre eigene MAC-Adresse 42:B0:...
Die gefälschte ARP-Reply ist in Alices und Eves Datenverkehr an vorletzter Stelle zu finden. Alices ARP-Tabelle wird beim Erhalt der Reply entsprechend aktualisiert.
Alice könnte nun auffallen, dass es zwei Einträge mit der selben MAC-Adresse in ihrer ARP-Tabelle gibt, was mit hoher Wahrscheinlichkeit auf ARP Spoofing hinweist.
Alle folgenden Pakete, die von Alice an 192.168.0.12 verschickt werden, werden nun fälschlicherweise mit Eves MAC-Adresse als Ziel adressiert und von den Switches im Netzwerksegment an Eves Gerät weitergeleitet. Alices Nachricht aus Schritt 4 kommt also nicht bei Bob an, sondern bei Eve.
Im Datenverkehr finden wir am Ende bei Alice und Eve jeweils an vorletzter Stelle die gefälschte ARP-Reply und an letzter Stelle die Nachricht aus Schritt 4. Aus Alices Sicht sieht diese Nachricht im Datenverkehr unauffällig aus, da als Empfänger Bobs IP-Adresse eingetragen ist (die MAC-Adresse ist schwer zu merken, weswegen sie darauf vermutlich nicht achtet).
Da Eve den Datenverkehr an ihrer Netzwerkschnittstelle problemlos überwachen kann, kann sie diese Nachricht lesen.
In Filius lässt sich ARP Spoofing nur bedingt für Angriffe nutzen – so sind zum Beispiel keine echten Man-in-the-Middle-Angriffe möglich, da die Pakete von Alice an Bob nach dem ARP Spoofing zwar bei Eve ankommen und im Datenverkehr ihrer Netzwerkschnittstelle gelesen werden können; sie werden aber von der Treibersoftware der Netzwerkschnittstelle verworfen, da sie nicht an Eves eigentliche IP-Adresse gerichtet sind. Wenn Sie auf Eves Rechner also einen Nachrichten-Server installieren und starten, der (genau wie bei Bob) auf UDP-Port 55555 Nachrichten entgegennimmt, werden Sie feststellen, dass Alices letzte Nachricht dort nicht registriert wird.
In der Realität verwendet ein/e Hacker/in in der Regel spezielle Software, um diesen Mechanismus zu umgehen, so dass sie die fälschlicherweise zugestellten Nachrichten auch in Anwendungen nutzen kann und z. B. auch beantworten kann.
Nichtsdestotrotz lässt sich in Filius zumindest demonstrieren, wie Daten mittels ARP Spoofing abgefangen und ausgespäht werden können, wie diese praktische Aufgabe zeigt.