In der Netzwerkschicht (ISO / OSI) sind die Ursprungs- und Zielsysteme durch ihre IP-Adressen genau definiert. Auf der Ebene der Verbindungsschicht müssen jedoch die MAC-Adressen der einzelnen Hosts ermittelt werden.
ARP (RFC 826) ist ein Adressübersetzungsprotokoll zwischen zwei verschiedenen Adressierungsschemata, z. B. zwischen dem IP-Protokoll und dem MAC-Protokoll. Grundsätzlich besteht seine Funktion in einem Ethernet-Netzwerk darin, die MAC-Adresse einer Station anhand ihrer IP-Adresse zu ermitteln. Die Übersetzung erfolgt durch Austausch von Anfragenachrichten und ARP-Antworten.
Der grundlegende Mechanismus sendet eine Nachricht von 28 Oktetten an die Broadcast-Adresse, und nur der richtige Host antwortet direkt auf den Absender der Abfrage.
Damit die ARP-Abfrage alle Geräte erreicht, wird die Ziel-MAC-Adresse FF angegeben: FF: FF: FF: FF: FF (AKA Broadcast MAC Address oder Broadcast). Wenn ein Switch einen Frame mit dem Ziel FF: FF: FF: FF: FF: FF empfängt, leitet er diesen Frame über alle anderen Ports weiter (alle Hosts sollen die Frage “abhören”).
Die erhaltene Antwort wird verwendet, um die Ziel-MAC-Adresse zu bestimmen, und somit kann die Übertragung beginnen.
Die erhaltene IP-MAC-Beziehung wird vorübergehend in einer Tabelle mit ARP-Einträgen (ARP-Cache) gespeichert. Wenn Bob in Zukunft versucht, Daten erneut an Alice zu senden, reicht es aus, die ARP-Cache-Tabelle zu konsultieren, um den MAC von Alice zu bestimmen ohne “erneut fragen” zu müssen.
Abhängig von der Betriebssystemimplementierung werden diese ARP-Cache-Einträge möglicherweise basierend auf ihrer letzten Verwendung, dem letzten Mal, als die MAC-Adresse “beobachtet” wurde, usw. aktualisiert. Sie können auch durch manuelle Konfiguration statisch fixiert werden.
In allen Fällen validiert das ARP-Protokoll die in der ARP-Antwort erhaltenen Daten nicht, dh wenn Bob eine ARP-Antwort erhält, die angibt, dass ein bestimmter MAC mit Alices IP verbunden ist, akzeptiert Bob die Informationen “ohne zu zögern”. ARP-Antworten können ohne vorherige Frage gesendet werden und werden als “unbegründete ARP” -Nachrichten bezeichnet. Diese Nachrichten werden von den Systemen verwendet, die sie empfangen, um die Informationen in der ARP-Cache-Tabelle zu aktualisieren.
Ein Angreifer kann absichtlich ARP-Antworten ohne vorherige Frage senden (“unbegründetes Arp”). Dies zeigt an, dass sein eigener MAC der IP von Alice entspricht. Bob akzeptiert diese Antworten als “Last-Minute-Informationen” und aktualisiert den Eintrag in der ARP-Cache-Tabelle für Alices IP mit dem MAC des Angreifers.
Die ARP-Spoofing-Technik besteht darin, falsche Informationen bezüglich der MAC-IP-Übersetzung zu senden . Wenn Bob diese falschen Informationen verwendet, um seinen ARP-Cache zu aktualisieren, tritt eine ARP-Vergiftungssituation (ARP Poisoning) auf.
Diese Situation führt dazu, dass die Frames, die Bob an die IP von Alice sendet, vom Switch an den Port des Angreifers gesendet werden (um sich daran zu erinnern, dass der Switch MACs überwacht).
Wenn der Angreifer dieselbe Technik auf Alice anwendet und Alice davon überzeugt, dass die MAC-Adresse des Angreifers der IP-Adresse von Bob entspricht, hat der Angreifer Bob davon überzeugt, dass er Alice ist, und Alice, dass er es ist Bob, eine Mittelsituation erreichen (Mann in der Mitte).
Es liegt in der Verantwortung des Angreifers, die Frames erneut an jedes System zu senden, um den Datenverkehr aktiv zu halten und Kommunikationsprobleme in der oberen Ebene zu vermeiden. Darüber hinaus kann der Angreifer den Verkehr untersuchen, vertrauliche Daten abrufen, Informationen manipulieren usw.
Beteiligte Systeme
Alice AA: BB: CC: 22: 33: 44 (192.168.0.2/24)
Angreifer AA: BB: CC: 88: 88: 88 (192.168.0.3/24)
Für das angreifende System GNU / Linux wird Ubuntu verwendet, und für die Opfer werde ich Windows XP SP3 verwenden, aber das Betriebssystem des Opfers spielt keine Rolle. Zunächst sollte ein Tool zum Senden von ARP-Spoofing-Nachrichten an die Opfer verwendet werden, um die ARP-Vergiftung zu testen. Für dieses Tutorial verwende ich “dsniff”, eine Sammlung von Tools zum Ermitteln von Passwörtern.
Zu den im dsniff-Paket enthaltenen Tools gehört ” arpspoof “, das im Grunde genommen das ARP-Spoofing für das angegebene Opfer durchführt.
So installieren Sie dsniff in einem Terminal:
$ sudo apt-get installiere dsniff
Damit installierst du es.
Analyse vor dem Angriff
Im ersten Moment hat Bob einen Eintrag in seinem ARP-Cache, der angibt, dass Alices IP-Adresse MAC AA: BB: CC: 22: 33: 44 entspricht.
Um die ARP-Cache-Tabelle anzuzeigen, gehen Sie zu:
- Zuhause
- Rennen
- cmd
Schreiben Sie im Windows-Terminal:
C: arp -a
Der aktuelle Inhalt der ARP-Cache-Tabelle von Bob wird abgerufen:
Ähnlich auf Alices PC:
Angriff
In der ersten Instanz muss das Weiterleitungsbit im Attacker-System aktiviert werden:
# echo 1> / proc / sys / net / ipv4 / ip_forward
Dadurch wird der Verlust von Paketen vermieden. Bob und Alice können interagieren, als wäre nichts passiert.
Der Befehl arpspoof wird wie folgt verwendet:
# arpspoof -i INTERFAZ_LAN -t IP_VICTIMA_POISONING IP_VICTIMA_SPOOFED
Wo:
Um Alice davon zu überzeugen, dass Bob den MAC AA: BB: CC: 88: 88: 88 im Terminal des Attacker-Systems hat, führt er Arpspoof folgendermaßen aus:
# arpspoof -i eth0 -t 192.168.0.2 192.168.0.1
ARP-Antwortnachrichten werden mit manipulierten Informationen an Alice gesendet:
Starten Sie EIN ANDERES Terminal (das vorherige sollte nicht unterbrochen werden) und führen Sie den Angriff in die entgegengesetzte Richtung aus, um Bob davon zu überzeugen, dass Alice den MAC AA: BB: CC: 88: 88: 88 im System-Terminal Attacker Arpspoof ausführen lässt wie folgt:
# arpspoof -i eth0 -t 192.168.0.1 192.168.0.2
ARP-Antwortnachrichten werden mit manipulierten Informationen an Bob gesendet:
Ab diesem Zeitpunkt behält der Angreifer die Vermittlersituation (MitM) bei, indem er manipulierte ARP-Nachrichten sendet:
Durch Wiederholen der ersten Schritte kann überprüft werden, wie die ARP-Cache-Einträge von Bob und Alice mit dem MAC des Angreifers aktualisiert wurden:
Bobs ARP-Cache:
Alices ARP-Cache:
Die Frames, die Bob an Alice sendet, werden dem Angreifer zugestellt und er leitet sie an Alice weiter. Auf die gleiche Weise werden die von Alice gesendeten Frames an den Angreifer weitergeleitet und an Bob weitergeleitet.
Der Angreifer kann den Datenverkehr mit seiner Netzwerkkarte im Promiscuous-Modus erfassen und beispielsweise Zugangsdaten zu einem Webportal abrufen, das kein SSL verwendet.
In der folgenden Verkehrserfassung hat ein Angreifer beispielsweise die Berechtigungsnachweise für den Zugriff auf ein PHPMyAdmin-Portal erhalten: (Benutzer “root”, Kennwort “ad00”)
Um den Angriff zu beenden, ohne die Kommunikation zu unterbrechen, stoppt der Angreifer das “Arpspoof” -Terminal durch Drücken der folgenden Tasten:
+ C Strg + C
Das Tool sendet automatisch ARP-Abfragen an jedes Opfer, damit die ARP-Cache-Informationen mit den richtigen Daten aktualisiert werden.
Zu diesem Zeitpunkt gibt der Angreifer die Kommunikation frei und kann die Verbindung zum Netzwerk trennen, um den bereits erhaltenen Datenverkehr zu analysieren.
Einige Antivirensysteme überwachen die Änderungen von Einträgen in der ARP-Cache-Tabelle, auch für GNU / Linux gibt es ein Tool namens ” ARPWatch “, das auf eine Änderung der ARP-IP-Beziehung in den ARP-Cache-Tabellen des Systems hinweist .
In einem anderen Artikel werden wir die möglichen Techniken analysieren, um MitM-Angriffe auf der Basis von ARP-Spoofing und ARP-Poisoning zu verhindern .