Ettercap Tutorial

Da ich mich derzeit ein wenig mit Netzwerksicherheit beschäftige, habe ich mich dazu entschloßen hier einige Tutorials rund ums Thema zu veröffentlichen. Anfangen möchte ich mit einem Tool (Ettercap), dass es ermöglicht ohne großen Aufwand 'Man in the Middle' Attacken durchzuführen. Eine MITM Attacke setzt vorraus, dass man bereits Zugang zum lokalen Netzwerk hat. Der eigene Rechner 'verseucht' dabei die ARP Tabellen des Opfers so, dass dessen gesamter Datenverkehr erst über den PC des Angreifers geleitet wird, bevor er ihn weiter zum Router leitet. Der Angreifer steht also wortwörtlich zwischen den beiden Targets und kann so jedes gesendete und empfangene Paket protokollieren oder verändern. Das Opfer bekommt davon in der Regel nichts mit.

ARP Poisoning

Das Tool das hierfür zum Einsatz kommt nennt sich Ettercap. Es ist für jede gängige Plattform zu haben. Ich halte mich hier aber an die Linux Version. Unter Windows kann die Bedienung also etwas variieren. Als Target dient in meinem Fall eine virtuelle Maschine auf meinem Notebook. Ich will dringend davon abraten Ettercap in einem fremden Netzwerk einzusetzen. Dieses Tutorial und mein Interesse an Netzwerksicherheit sind rein theoretischer Natur und sollen niemanden dazu anstiften illegale Dinge zu tun. Genug der Worte.

Gestartet wird das Programm über die Konsole mit dem Befehl:

    ettercap -G

Nach wenigen Augenblicken sollte euch die bisher noch leere GUI anstrahlen. Als nächstes wählen wir aus dem Menü 'Sniff' die Option 'Unified Sniffing' und wählen in dem nun aufploppendem Dialogfenster die Netzwerkschnittstelle. In den meisten Fällen eth0.

Ettercap GUI

Nun schauen wir uns ein wenig im Netzwerk um. Dafür clicken wir auf 'Hosts' und 'Scan for Hosts'. Ettercap sollte nun das Netzwerk scannen und eine Liste aller vorhanden Hosts im Netz erstellen. Diese Liste lässt sich über 'Hosts' -> 'Hosts List' anzeigen.

Scan results

Das Bild zeigt das Ergebniss des Scans in meinem Netz. Ganz oben befindet sich der Router mit der IP 192.168.2.1. Der Host mit der IP 192.168.2.108 ist die VM und damit mein 'Opfer'. Unter der Liste befinden sich 3 Schaltflächen. Mit diesen können wir nun den Router als Target 1 festlegen und die VM als Target 2. Dies sind die Clients dessen Datenverkehr ich belauschen möchte. Unter 'Targets' -> 'Current Targets' können diese nochmal separat angezeigt werden.

Targets

Die Vorbereitungen sind damit eigentlich schon abgeschloßen. Als nächstes wollen wir die Routing bzw. ARP Tabellen beider Teilnehmer verseuchen. Dafür wählen wir aus dem Menü unter 'MITM' das 'ARP Poisoning' aus. Das Dialogfenster lassen wir wie es ist und bestätigen mit OK.

ARP Poisoning

Nun müssen wir nur noch unter 'Start' mit dem sniffen beginnen. Ob das Programm wirklich tut was es soll sehen wir mit einem click auf 'View' -> 'Statistics' wo jetzt eigentlich die Anzahl der gesnifften Pakete hochlaufen sollte.

Statistics

Doch was ist nun passiert? Ettercap hat die ARP Tabellen so manipuliert, dass nicht mehr die MAC Adresse des eigentlichen Ziels in ihr zu finden ist, sondern die des Ettercap Rechners. Hier zwei Auszüge aus der ARP Tabelle des Windows Rechners. Der erste vor und der zweite nach dem Angriff.

ARP vorher
ARP danach

Wie man sieht hat sich der Eintrag verändert. Anstelle der MAC Adresse des Routers, finden wir nun die MAC des Angreifers als Physikalische Adresse in der Routing Tabelle. Der Windows Rechner denkt also weiterhin er würde den Router adressieren, sendet aber in Wirklichkeit an den Angreifer. Dieser leitet den Traffic danach zum Router weiter, damit der Schwindel nicht auffällt.

Es ist uns also gelungen erfolgreich als 'Man in the Middle' zwischen den beiden Opfern zu stehen und deren Datenverkehr aufzuzeichnen und zu modifizieren. Siehe hierfür:

'View' -> 'Connections'.

DNS-Spoofing

Das ist aber noch nicht alles. Ettercap bietet eine Reihe von Plugins. Unter anderem eines fürs sogenannte DNS Spoofing. Damit ist es uns möglich, die DNS Einträge so zu manipulieren, dass der Targetrechner beim surfen nicht mehr die Seiten zu sehen bekommt, die er eigentlich glaubt zu sehen. Stattdessen bestimmen wir, auf welche IP ein bestimmter DNS Eintrag verweist.

Die einzige Vorbereitung die wir hierzu treffen müssen ist das anpassen einer config Datei. Zu finden unter /usr/share/ettercap/etter.dns.  Die Datei ist eigentlich selbsterklärend und enthält bereits einen modifizierten DNS Eintrag für die Microsoft Seite. Für eigene Inhalte muss nur die umzuleitende Domain als A-Record nach folgendem Schema eingetragen werden.

    DOMAIN       A       IP auf die umgeleitet wird

Ist die Datei angepasst, kehren wir zum laufenden Ettercap Fenster zurück. Unter 'Plugins' -> 'Manage Plugins' finden wir die installierten Plugins. Das Plugin welches uns hier interessiert nennt sich dns_spoof. Nach einem Doppelclick erscheint ein kleines Sternchen neben dem Plugin welches uns signalisiert, dass der Vorgang gestartet wurde.

Versucht man nun mit dem Opfer PC zB. die Microsoft Seite zu erreichen, wird man automatisch auf die Seite von linux.org umgeleitet. Ich denke die Wirkung ist gemessen am äußerst geringen Aufwand enorm. Wenn man sich also in öffentlichen Netzen bewegt, sollte man gut überlegen welche Seiten man besucht und vor allem welche Daten man dort preisgeben möchte. Ich hoffe Ihr hattet Spaß beim lesen.