Skip to content

Angriffe auf TCP/IP (4) - ARP-Spoofing

Für das TCP-Hijacking muss der Angreifer den Netzwerkverkehr mindestens eines Opfers belauschen. Während dies bei über einen Hub verbundenen Rechnern sehr einfach war, ist es in den aktuellen geswitchten Netzwerken deutlich aufwendiger. Da ein Switch Eins-zu-Eins-Verbindungen herstellt, sieht ein unbeteiligter Rechner die Pakete einer fremden Verbindung nicht. Damit der Angreifer trotzdem die gewünschten Pakete empfangen kann, muss er sie zu sich umleiten. Dazu nutzt er eine Schwachstelle im Adress Resolution Protocol (ARP).

ARP - Adress Resolution Protocol

Das Adress Resolution Protocol befindet sich auf der Netzzugangsschicht des TCP/IP-Schichtenmodells. Es dient der Zuordnung von IP-Adressen zur entsprechenden Adresse im physikalischen Netzwerk, im Fall von Ethernet der MAC-Adresse (Media Access Control) der Ethernetkarte des entsprechenden Rechners. Immer wenn ein IP-Paket im lokalen Netz verschickt werden soll, braucht der Absender die MAC-Adresse des Empfängers. Dazu sendet er an alle Rechner im lokalen Netz (Broadcast) eine Anfrage: "Welche MAC-Adresse gehört zur IP-Adresse a.b.c.d?" (ARP-Who-Has). Der Rechner mit der gesuchten IP-Adresse a.b.c.d antwortet dem Fragenden mit einem ARP-Paket, das seine MAC-Adresse enthält. Um nicht bei jedem Paket erneut nach der MAC-Adresse fragen zu müssen, wird die entsprechende Zuordnung für einen gewissen Zeitraum in einem Puffer gespeichert.

Jetzt kommt die Schwachstelle von ARP ins Spiel: Es gibt keine Möglichkeit, sicherzustellen, dass die Antwort wirklich vom Rechner mit der gesuchten IP-Adresse stammt. Dadurch kann jeder Rechner im lokalen Netz behaupten, eine bestimmte IP-Adresse gehöre ihm. Darüber hinaus erlaubt ARP auch die Verarbeitung und Speicherung von Antwort-Paketen, für die gar keine Anfrage gesendet wurde. Über sog. Gratuitous-ARP-Pakete können dadurch z.B. bei Bedarf geänderte MAC-IP-Zuordnungen bekanntgegeben werden. Alle Rechner im lokalen Netz speichern die so erhaltenen MAC-IP-Zuordnungen in ihrem Cache.

Gratuitous-ARP-Pakete

Ein Gratuitous-ARP-Paket ist ein ARP-Request-Paket, bei dem Quell- und Ziel-IP-Adresse der Adresse des absendenden Rechners entsprechen und das an die MAC-Broadcast-Adresse geschickt wird. Dadurch kann z.B. eine doppelt vergebene IP-Adresse erkannt werden: Empfängt ein Rechner ein Paket mit seiner eigenen IP-Adresse als Quelle, weiß er, dass ein IP-Adresskonflikt vorliegt. Ändert sich die IP-Adresse eines Rechners, z.B. durch eine Umkonfiguration, kann die Änderung durch ein Gratuitous-ARP-Paket allen anderen Rechnern im lokalen Netz mitgeteilt werden.

ARP-Spoofing

Ein Angreifer kann dies ausnutzen, um eine Verbindung zwischen zwei Rechnern über sich umzuleiten. Dazu schickt er gefälschte ARP-Pakete an seine Opfer, in denen er seine eigene MAC-Adresse den IP-Adressen der jeweiligen Kommunikationspartner zuordnet (ARP-Spoofing). Dieses Einschleusen gefälschter Informationen in den Cache wird auch als Cache-Poisoning bezeichnet. Nach dem Angriff schicken die Opfer ihre Pakete ohne weitere ARP-Anfrage (die entsprechende Zuordnung befindet sich ja in ihrem Cache) an den Angreifer, der sie auswertet und an den jeweils anderen Kommunikationspartner weiterleitet. Der Angreifer hat so die vollständige Kontrolle über die Kommunikation zwischen den angegriffenen Rechnern, er fungiert als 'Man-in-the-Middle'.

Statt der ARP-Adresse eines normalen Rechners kann z.B. auch die eines Gateway-Rechners gefälscht werden, wodurch der Angreifer den gesamten über das Gateway abgewickelten IP-Verkehr belauschen kann.

Weitere ARP-Angriffe

Statt durch das Fälschen der MAC-IP-Zuordnung kann der Angreifer sich auch durch Fälschen seiner MAC-Adresse als anderer Rechner ausgeben, wenn er diesen gleichzeitig durch einen DoS-Angriff lahm legt. Die MAC-Adressen sollten zwar eigentlich weltweit eindeutig sein, lassen sich aber meist überschreiben.

Außer des gezielten ARP-Spoofings einzelner Adressen gibt es auch noch eine brutalere Methode: Wird der Cache eines Switches mit zu vielen MAC-Adressen überflutet, schalten manche Geräte in den Hub-Modus um, leiten also alle empfangenen Pakete an alle Ports weiter.

Nach dem Angriff ist vor dem Angriff...

Nachdem der Angreifer eine Kommunikationsverbindung durch ARP-Spoofing über sich umgeleitet hat, kann er darin z.B. nach Benutzerkennungen und Passwörtern suchen (= sniffen). Auch TCP-Hijacking ist nun möglich

Der Angreifer kann u.U. auch eine verschlüsselte Verbindung unter seine Kontrolle bringen. Um z.B. eine SSL-geschützte Verbindung aufzubrechen, simuliert er gegenüber dem Client einen SSL-fähigen Webserver. Prüft der Benutzer des Clients nicht, ob das verwendete SSL-Zertifikat zum gewünschten Server gehört, werden die Daten nur bis zum Rechner des Angreifers SSL-geschützt übertragen. Dort kann der Angreifer sie als Klartext lesen und danach (ggf. manipuliert) über eine neue SSL-Verbindung zum Server weiterleiten.

In der nächsten Folge werden weitere Angriffe auf TCP/IP beschrieben: Das Hijacking von Protokollen der Anwendungsschicht.

Carsten Eilers

>
        </div>
                
        <footer class= Kategorien: Grundlagen

Trackbacks

Dipl.-Inform. Carsten Eilers am : Angriffe auf TCP/IP (5) - DNS-Spoofing

Vorschau anzeigen
Wie bereits angekündigt geht es nun um das Hijacking von Protokollen der TCP/IP-Anwendungsschicht. Konkret: DNS-Spoofing. Das DNS-Protokoll (Domain Name System) dient der Umwandlung von Domain-Namen in die entsprechende IP-Adresse und u

Dipl.-Inform. Carsten Eilers am : Angriffe auf TCP/IP (7) - HTTP-Hijacking

Vorschau anzeigen
Ziel des HTTP-Hijacking ist die Umleitung einer bestehenden Verbindung, um danach z.B. vertrauliche Daten wie z.B. Passwörter zu belauschen oder Ein- bzw. Ausgaben zu manipulieren. Der Angreifer hat dazu zwei Möglichkeiten: Entweder er gibt