[Dozent] Nun, in dieser Vorlesung und den
nächsten Vorlesungen möchte ich über Man In the Middle Attacks sprechen.
Dies sind Angriffe, die
wir nur starten können, wenn wir
die Kommunikation zwischen zwei Geräten abfangen können.
Daher der Name Man In The Middle Attacks.
So würde eine normale Kommunikation aussehen, bei
der das Gerät direkt mit der Entität kommuniziert,
mit der es kommunizieren möchte.
Bei einem Man In The
Middle Attack könnte sich der Hacker in die
Mitte der Verbindung
stellen, sodass er alles abfangen und sehen
kann, was zwischen den beiden Geräten übertragen wird.
Nun gibt es eine Reihe von Möglichkeiten, um dies zu erreichen.
Die erste Methode, die wir in
diesem Kurs behandeln, ist die Verwendung eines ARP-Spoofing-Angriffs.
ARP-Spoofing ermöglicht es uns, den Paketfluss umzuleiten,
sodass er nicht wie in diesem Diagramm
gezeigt durch meinen eigenen Computer fließt.
Alle gesendeten Anforderungen und vom Zielcomputer empfangenen Antworten
müssen daher
über den Hackercomputer geleitet werden.
Dies bedeutet, dass alle Nachrichten, Websites, Bilder, Benutzernamen
und vom Ziel eingegebenen Kennwörter über meinen Computer
übertragen werden müssen.
Auf diese Weise kann ich diese Informationen
lesen, ändern oder löschen.
Wie Sie
sehen, ist dies ein sehr schwerwiegender und sehr mächtiger Angriff.
Und der Grund, warum dies
möglich ist, ist, dass ARP nicht sehr sicher ist.
Damit wir verstehen, wie
dies funktioniert, müssen Sie ein grundlegendes Verständnis von ARP haben.
ARP steht für Address Resolution Protocol und
ist ein sehr einfaches
Protokoll, mit dem wir IP-Adressen mit MAC-Adressen verknüpfen können.
Nehmen wir zum Beispiel an, wir haben hier ein Netzwerk, wir
haben Geräte A, B, C und D.
Sie sind alle mit demselben Netzwerk verbunden.
Und wir haben hier den Router für dieses Netzwerk.
Wir können sehen, dass jedes Gerät eine IP- und eine MAC-Adresse hat.
Angenommen, Gerät A muss mit
Gerät C kommunizieren.
Jetzt gehen wir
auch davon aus, dass Gerät A die IP von Gerät C kennt.
Wie wir jedoch bisher
wissen, muss Gerät A die MAC-Adresse
von Gerät C
kennen, damit diese Geräte innerhalb desselben Netzwerks kommunizieren können.
Denn wie
gesagt, die Kommunikation im
Netzwerk erfolgt über die
MAC-Adresse und nicht über die IP-Adresse.
Dies ist also eine ganz normale Situation, in der ein
Client die MAC-Adresse eines anderen Clients kennen
muss, damit er mit diesem Client kommunizieren kann.
Was dieser Client also tut, verwendet er das ARP-Protokoll.
Was meine ich damit
Grundsätzlich sendet es eine Broadcast-Nachricht.
Daher sendet es eine ARP-Anfrage an alle Clients im Netzwerk und gibt an, wer
10 hat. 0. 2. 6?
Jetzt ignorieren alle diese Geräte dieses Paket mit
Ausnahme des Pakets mit dieser
IP-Adresse (10). 0. 2. 6, die Vorrichtung C. ist
Alle Geräte tun also nichts und
das einzige Gerät, das antwortet, ist Gerät
C, das eine ARP-Antwort sendet.
In dieser Antwort sagt Gerät C, dass ich 10 habe. 0. 2. 6,
meine MAC-Adresse ist diese MAC-Adresse.
Auf diese Weise hat Gerät A die MAC-Adresse von Gerät
C und kann nun mit Gerät C
kommunizieren und die Aufgaben ausführen, die es ursprünglich ausführen wollte.
So wird
die gesamte Kommunikation mithilfe des ARP-Protokolls erleichtert.
Wie ich bereits sagte, ist das
ARP-Protokoll ein sehr einfaches Protokoll, wie Sie sehen können.
Alles, was es hat, sind Anfragen und
Antworten, und der
springende Punkt dabei ist, dass wir IP-Adressen mit MAC-Adressen
verknüpfen oder IP-Adressen in MAC-Adressen übersetzen können.
Ein Gerät kann also eine Anfrage nach einer
MAC-Adresse senden, und dann
antwortet das Gerät mit der MAC-Adresse.
Jeder Computer verfügt also über eine ARP-Tabelle,
die IP-Adressen im selben Netzwerk mit ihren
MAC-Adressen verknüpft.
Wenn ich also auf dem Kali-Rechner ARP-a mache, sehen Sie hier
meine ARP-Tabelle und wie Sie sehen, verknüpft
sie die IP des Routers mit der MAC-Adresse des Routers.
Wenn ich jetzt zum Windows-Computer
gehe und mein CMD ausführe und ARP-a mache, wird wieder angezeigt,
dass die IP des Routers mit seiner MAC-Adresse verknüpft ist.
Jedes Mal, wenn
diese Maschine eine Anfrage an das Internet senden muss, leitet
sie diese Anfrage an diese MAC-Adresse weiter, an die
MAC-Adresse, die der IP des Routers zugeordnet ist
(10). 0. 2. 1.
Jetzt kann dieser Wert hier einfach durch
Ausnutzen des ARP-Protokolls geändert werden.
Lassen Sie mich zu meinen Diagrammen
zurückkehren. Hier haben wir ein Diagramm eines typischen Netzwerks. Sie können sehen,
dass normalerweise jedes Gerät, das mit dem
Netzwerk verbunden ist, wenn es eine Anfrage
senden möchte, diese an den
Router sendet Der Router sendet diese Anforderung an
das Internet, wartet auf die Antwort und leitet sie
dann an das
Gerät weiter, das sie angefordert hat.
Wenn der Hacker, das Opfer
oder ein anderer Computer im
Netzwerk eine Anfrage
senden möchten, wird diese Anfrage direkt an den Router gesendet.
Jetzt können wir das ARP-Protokoll ausnutzen und zwei
ARP-Antworten senden, eine an das
Gateway und eine an das Opfer.
Wir werden dem Gateway
mitteilen, dass ich die IP-Adresse des Opfers
habe, damit der Access Point seine ARP-Tabelle aktualisiert
und die IP-Adresse des Ziels mit meiner
MAC-Adresse verknüpft.
Wir werden dasselbe mit dem
Opfer machen und ihm eine ARP-Antwort senden.
Wir werden es sagen, dass ich um 10 bin. 0. 2. 1, also
wird es seine ARP-Tabelle aktualisieren und die IP
von 10 zuordnen. 0. 2. 1 mit meiner eigenen MAC-Adresse.
Als Ergebnis wird das Opfer denken, dass ich der
Router bin, und der Router wird denken, dass ich
das Opfer bin.
Jedes Mal, wenn das Opfer Anfragen senden möchte, müssen die
Anfragen durch meinen Computer fließen und ich
werde sie an den Router weiterleiten.
Und dann, wenn der Access Point oder der
Router Antworten senden möchte, werden sie zu meinem Computer geleitet, weil er
denkt, dass ich das Opfer bin,
und ich werde sie dann an das Opfer weiterleiten.
Sie sehen also, das
versetzt mich in die Mitte der Verbindung und es
gibt mir so viel Kraft und wir werden
alle Dinge sehen, die wir tun können, sobald
wir der Mann in der Mitte sind.
Der Hauptgrund, warum wir all
dies tun können, ist, dass ARP nicht sicher ist.
Zuallererst können Clients Antworten akzeptieren, auch wenn sie
keine Anforderung gesendet haben.
Wie ich bereits sagte, senden wir
eine Antwort an den Access Point und eine
Antwort an das Opfer, in
der wir ihnen mitteilen, dass ich mich auf einer bestimmten IP
befinde, ohne dass sie fragen, wer ich
bin oder ohne dass sie nach dieser IP fragen.
Ich werde nur die
Antwort senden und sie werden diese Antwort trotzdem akzeptieren.
Nicht nur
das, sie werden auch nicht überprüfen, wer ich bin.
Also, wenn ich sage, dass ich eine 10 bin. 0. 2. 7
Ich bin eindeutig nicht auf dieser
IP, weil dieser Computer auf dieser IP ist.
Der Access Point vertraut dem
jedoch und aktualisiert seine ARP-Tabelle anhand der
von mir gesendeten Informationen.
Gleiches gilt für das Opfer.
Ich werde es sagen, dass ich um 10 bin. 0. 2. 1 es
wird vertrauen und glauben, obwohl ich
mich eindeutig nicht bei dieser IP befinde, da
sich der Zugangspunkt bei dieser IP befindet.
Das sind also die beiden Hauptschwächen des ARP-Protokolls,
die es uns ermöglichen, ARP-Spoofing-Angriffe auszuführen.