ARP Spoofing

ARP steht für Address Resolution Protocol und kann anhand einer IP-Adresse die zugehörige MAC-Adresse abfragen.
Es ist dabei im OSI-Modell auf Schicht 2, der Sicherungsschicht, angesiedelt und spielt eine bedeutende Rolle für das Internetprotokoll.

Doch interessanter als das Protokoll ist was man damit machen kann :)
Ist in einem Netzwerk ARP freigegeben (was auch häufig der Fall ist), so kann man dies in Kombination mit einem Switch zu einer Man-in-the-Middle-Attacke verwenden.

Doch von vorne! Es gibt zwei “Probleme”:
Problem 1…
Der Client führt eine Cache, wo er eine IP- einer MAC-Adresse zuordnet. Dies wird verwendet, dass nicht vor dem Versenden eines Datenpaketes jedes mal zuerst noch eine neue Abfrage der MAC-Adresse gemacht werden muss.
Dieser Cache kann aber von einem anderen Client mit den nötigen Mitteln verändert werden. D.h. ich als Angreifer kann den Cache des Opfers so verändern, dass der IP-Adresse eines z.B. gerade eben besuchten Servers nicht mehr die tatsächliche MAC-Adresse des Servers, sondern eine beliebige zugeordnet wird.

Das alleine wäre ja noch nicht so schlimm, wäre da nicht noch Problem 2…
Hier kommt dann der Switch ins Spiel. Ein Switch hat gegenüber einem Hub einen grossen Unterschied. Ein Hub sendet den Traffic von einem Port einfach an alle anderen aktiven Ports, in der Hoffnung, dass nur derjenige den Traffic liest, welcher ihn auch angefragt hat.
Der Switch hingegen; damit der Traffic nicht jedes mal an alle Ports versandt werden muss, führt eine Zuordnungsliste, wo festgelegt wird, welches Gerät (anhand der MAC-Adresse) an welchem Port angeschlossen ist.

Auch Problem 2 wäre alleine kein Problem, doch zusammen!!
Ein Angreifer manipuliert den Cache eines Clients nun so, das die IP-Adresse des Server nicht mehr der MAC-Adresse des Server, sondern der des Angreifers zugeordnet ist.
Da der Client davon nichts mitbekommt, nimmt er die MAC-Adresse des Angreifers aus seinem Cache, in der Meinung es wäre die Adresse des Servers und schickt diese mit seinem Datenpaket zum Switch.
Der Switch nun liest die MAC-Adresse aus und erkennt die MAC-Adresse des Angreifers. Beim Vergleich mit seiner Zuordnungsliste wird das ganze Paket nun nicht mehr an den Switchport des Servers, sondern an den des Angreifers versandt.
Macht der Angreifer das gleiche nun auch noch mit dem Server, so kann er jeden Traffic zwischen einem Client und einem Server mitlesen und beliebig manipulieren.

Man sagt ja, in der Theorie ist es meistens einfacher, als in der Praxis. Das Problem von ARP Spoofing ist aber, dass dies hier nicht stimmt!!
Mit nur wenigen Klicks und einem Paket aus den Ubuntu Paketquellen lässt sich mittels ARP Spoofing eine komplette Man-in-the-Middle-Attacke durchführen.
Wie genau – das soll jeder alleine herausfinden, doch das Paket dsniff könnte helfen ;)

  1. Ich sagt:

    Moin,
    ich glaub das ist mehr cache-poisoning als “ARP-spoofing”. Als ARP-spoofing wird der Vorgang beschrieben Pakete zu bekommen, weil man die MAC-Adresse des Opfers nachahmt und auf Grund dieses Tricks die betreffenden Pakete bekommen kann

  2. Patrick sagt:

    @Ich
    Ganz korrekt wäre “ARP cache poisoning” was umgangssprachlich auch als ARP Spoofing bezeichnet wird. ARP Spoofing steht für das versenden von gefälschten ARP Paketen.
    Was du beschreibst, ist ein schlichtes Verändern seiner eigenen MAC-Adresse, was nichts mit ARP zu tun hat.

    grz

  3. netsplit sagt:

    “Ist in einem Netzwerk ARP freigegeben” wie bitte lässt sich ARP in einem Netzwerk deaktivieren?

    gruss

  4. Patrick sagt:

    @netsplit
    Indirekt, zum Beispiel über statische ARP Tabellen.

    grz

  5. Sebastian sagt:

    @Patrick
    Aber er würde doch auch bei einer statischen ARP-Tabelle einen ARP-Request machen wenn ihm die MAC einer IP fehlt, oder? So richtig deaktiviert ist das dann ja nicht : /

    Gruß Sebastian

  6. Patrick sagt:

    @Sebastian
    Ich habe es zwar selbst nie gemacht, da eine statische Tabelle viel zu viel Arbeit ist. Aber ich gehe mal davon aus, dass es eine Sache der Konfiguration ist, ob nun fehlende Einträge dynamisch Ergänzt werden oder nicht.

  1. [...] This post was mentioned on Twitter by compr00t. compr00t said: Neuer Artikel auf Bits, Bytes and my 5 cents: ARP Spoofing http://kuerz.es/1Kv #blog [...]