Workshop: Sniffing mit Et hereal, Teil 2

03.05.2006 von Mike Hartmann
Mit Netzwerk-Sniffern kann man Fehler im LAN aufspüren und mehr über Netzwerkprotokolle lernen. Man kann aber auch Programme enttarnen, die Daten über den ahnungslosen Benutzer versenden. tecChannel.de zeigt, wie es geht.

Von Mike Hartmann, tecChannel.de

Teil 1 dieses Beitrags finden Sie in der ComputerPartner-Ausgabe 18/06, Seite 32.

Sniffing im Netzwerk

Wenn es darum geht, den Datenverkehr des lokalen Rechners zu überwachen, ist das Sniffing noch ziemlich einfach. Der Capture Driver muss sich lediglich in den Treiber der Netzwerkkarte einklinken. Um den Traffic im gesamten Ethernet-Segment zu analysieren, müssen allerdings einige zusätzliche Vorkehrungen getroffen werden.

Ethernet ist von der Grundidee her ein Shared Medium. Das heißt unter anderem auch, dass alle Pakete an alle Stationen gesendet werden. Damit nun nicht die einzelnen Rechner ständig damit beschäftigt sind, die für sie bestimmten Pakete herauszusuchen, ist bereits in der Netzwerkkarte ein Filter eingebaut. Dieser leitet nur solche Pakete an den Treiber weiter, die speziell an die MAC-Adresse der NIC gerichtet sind oder bei denen es sich um Broad- oder Multicasts handelt.

Laut den von Intel und Microsoft herausgegebenen PC99-Richtlinien für PC-Design sollten Netzwerkkarten jedoch den so genannten "Promiscuous Mode" unterstützen. Damit kann der Capture Driver die Karte anweisen, alle Netzwerkpakete zu empfangen und an den Treiber weiterzuleiten. Über diesen Weg ist es dann auch möglich, den Datenverkehr in einem Netzwerksegment zu überwachen.

Sniffing im geswitchten LAN

Mit der zunehmenden Verbreitung von Switches wird das allerdings immer schwieriger, denn Switches sorgen ja dafür, dass Netzwerkpakete nur noch dezidiert an den tatsächlichen Empfänger gesendet werden. Das erreichen diese Geräte, indem sie sich merken, an welchem Port welche MAC-Adresse zu finden ist. Demzufolge "sieht" auch eine Karte im Promiscuous Mode nur noch Broadcasts und an sie gerichtete Pakete. Das verhindert eine effektive Fehleranalyse per Sniffing.

Teure Switches unterstützen deshalb ein Feature namens "Port Mirroring". Dabei wird der Datenverkehr eines Ports auf einen anderen gespiegelt. An diesen Port hängt man dann den Sniffer und überwacht den Traffic. Meistens wird der Uplink-Port gespiegelt, weil man dann fast den gesamten Datenstrom bekommt. Wenn man nur den Traffic vom und zum Internet überwachen will, reicht es aus, den Switch-Port zu spiegeln, an dem der Router hängt.

Switch Jamming

Bei Switches ohne Portspiegelung muss man zu einem etwas unfeinen Mittel greifen, dem "Switch Jamming". Dabei schickt man dem Switch eine Vielzahl von Paketen mit verschiedenen MAC-Adressen, bis sein interner Speicher für die Verwaltung überläuft. Die meisten Switches schalten in diesem Fall um und verhalten sich dann wie ein Hub, senden also alle Pakete an alle Ports.

Und genau darin liegt der Nachteil dieses Verfahrens: Während der Analyse degradiert man den Switch zu einem Hub und verliert damit alle Performance-Vorteile. Unter Linux gibt es dafür das Tool "macof", das in der "dsniff"-Suite enthalten ist. Windows-User können auf die Windows-Version der Netwox-Library zurückgreifen. Dort ist es das Tool mit der Nummer 75. Benutzen Sie zum Jammen einfach folgende Kommandozeile

netwox350.exe 75 -d eth0

Soll eine bestimmte Station überwacht werden, können Sie sich mittels der dsniff-Suite einfach und schnell in deren Kommunikation einschalten, indem Sie per ARP-Poisoning die Station dazu veranlassen, alle Pakete zunächst an den sniffenden Rechner zu schicken. Die Suite sorgt dann automatisch dafür, dass die Pakete an den eigentlichen Empfänger weitergeleitet werden.

Sniffing im WLAN

Da die Datenpakete im WLAN per Funk übertragen werden, kann jeder die Pakete mitlesen. Dazu muss nur die WLAN-Karte in den Promiscuous Mode geschaltet werden. Somit sind auch für WLANs keine speziellen Sniffer-Programme notwendig; für eine Analyse des reinen Datenverkehrs reichen die Standardmodelle problemlos aus. Unter Windows ist das Mitlesen von WLAN-Management-Frames allerdings nicht oder nur in bestimmten Hardware-Kombinationen möglich. Daher eignet sich die Windows-Version von Ethereal nur für das Mitlesen des reinen Datenverkehrs. Die Linux-Variante dagegen, die auch Bestandteil unserer Distribution auf CD ist, protokolliert und analysiert auch die Management-Frames.

Warum also die erheblich teureren Produkte kaufen? Diese können etwa überwachen, ob ungenehmigte Access Points aufgestellt sind, oder irgendwer versucht mitzulauschen. Zudem liefern sie detaillierte Statistiken über die Auslastung der Funkkanäle und Fehlermeldungen der Access Points, etwa wenn sie einen Client wegen Überlastung ablehnen. Ein hilfreiches Tool zur Optimierung der WLAN-Konfiguration also.

"AirSnare" (http://home.comcast.net/~jay.deboer/airsnare) ist ein kostenloses Tool, das den Datenverkehr überwacht und auf unerlaubte MAC-Adressen überprüft. Entdeckt das Tool so eine Station, protokolliert es den verursachten Traffic mit und sendet optional eine Warnmeldung an den Benutzer.

Lokale Angriffe von Sniffern

Nicht immer haben Sniffer etwas Gutes im Sinn. Oft versuchen Hacker durch das Mitverfolgen des Netzwerkverkehrs, an Passwörter oder andere sensitive Informationen zu gelangen. Ziel des Administrators muss es also sein, Sniffing zu verhindern oder zumindest zeitnah zu entdecken, um Gegenmaßnahmen einleiten zu können.

Wendet der Angreifer Switch-Jamming an, um an alle Pakete des Netzwerks zu gelangen, erfahren Sie das bei einem verwaltbaren Switch über die Management-Konsole, denn es wird ein entsprechender Eintrag im Log oder im SNMP gemacht. Dann erfahren Sie auch den Port, von dem plötzlich so viele verschiedene MAC-Adressen kommen, dass der interne Puffer überläuft.

Handelt es sich dagegen um einen "dummen" Switch, können Sie immer noch eine IDS-Station einrichten und den dort eingehenden Netzwerkverkehr analysieren. Kommen plötzlich Netzwerkpakete an dieser Station an, die bei normalem Switch-Betrieb nicht ankommen dürften, muss etwas im Netzwerk faul sein.

Einen etwas eleganteren Weg kann ein Angreifer mittels ARP-Spoofing wählen. Dabei klinkt er sich in die Ethernet-Kommunikation zwischen zwei Stationen ein und agiert dabei parallel als Gateway, damit die beiden Stationen nichts von dem Lauscher mitbekommen.

Entdecken von Sniffern

Da ein Angreifer sich beim Mitprotokollieren von Netzwerkverkehr meist passiv verhält - er muss ja nur den Datenstrom mitlesen - kann die Entdeckung lediglich über Umwege erfolgen. Das gilt besonders für Netzwerke, die mit Hubs verbunden sind, denn da muss der Angreifer überhaupt nicht aktiv werden, um die Daten zu Gesicht zu bekommen.

1. Viele Sniffer-Programme lösen IP-Adressen per Reverse DNS-Lookup gleich zu Host-Namen auf, denn dieser gibt möglicherweise auch Aufschluss über die Aufgabe der Station, etwa mail.domain.de. Eine Häufung von DNS-Traffic lässt sich aber auch entdecken. Einen Schritt weiter kann man gehen, indem man von einer Station aus Datenpakete an einen nicht existierenden Host schickt. Tauchen plötzlich Reverse DNS-Lookups für diese IP-Adresse auf, muss wohl irgendwo eine Station sein, die auf nicht für sie bestimmten Datenverkehr lauscht.

2. Normalerweise werden ARP-Requests an die Ethernet-Broadcast-Adresse (FF:FF:FF:FF:FF:FF) geschickt. Schickt man dagegen den Request an die Adresse FF:FF:FF:FF:FF:FE, sollte eine normale Netzwerkkarte dieses Paket ignorieren. Ist sie aber im Promiscuous Mode, reicht sie das Paket an das Betriebssystem weiter. Linux (zumindest im Kernel 2.4) und Windows überprüfen allerdings nicht alle sechs Bytes der Hardware-Adresse, um herauszufinden, ob es sich um einen Broadcast handelt, sondern nur die ersten Bytes - wohl aus Performance-Gründen. So kann man mit einer Whohas-Abfrage eine IP-Adresse überprüfen: Antwortet die Station mit dieser IP-Adresse auf die Anfrage mit einem ARP-Reply, muss sie im Promiscuous Mode sein.

3. Über die Messung von Latenzzeiten kann man ebenfalls ermitteln, ob sich eine Station im Promiscuous Mode befindet. Da eine solche Station keinen Hardware-Filter mehr hat, bekommt sie alle Pakete zu sehen und muss sie verarbeiten.

Dementsprechend dauern Antworten länger als normal. Zunächst ermittelt eine Messstation die durchschnittliche Antwortzeit des zu überprüfenden Rechners über ICMP-Echo-Anfragen. Danach flutet sie das Netzwerk mit Ethernet-Paketen an nicht vergebene MAC-Adressen und misst parallel die Verzögerungszeit bei erneuten ICMP-Echo-Anfragen an den Zielrechner. Ist die Latenzzeit erheblich höher, liegt das daran, dass der Zielrechner mit der Verarbeitung von nicht für ihn bestimmten Paketen beschäftigt ist. Die Zeitmessung muss allerdings eine Genauigkeit im Mikrosekunden-Bereich aufweisen.

Fazit

Datenschutzexperten werden angesichts der Möglichkeiten des Sniffings die Hände über dem Kopf zusammenschlagen. Dennoch hat Sniffing Sinn und ist auch notwendig. Einerseits um Fehler im LAN aufzuspüren und andererseits, um Hacker oder "Phone Home"-Software aufzuspüren. Für Letzteres reicht Ethereal allemal aus. Es muss also nicht immer die Lösung für 5.000 Euro und mehr sein.

Ein weiterer Vorteil der Analyse-Tools: Sie helfen ungemein beim Verständnis der verschiedenen Netzwerkprotokolle. So wird beispielsweise unser Grundlagenbeitrag TCP/IP um einiges einsichtiger, wenn man parallel mit einem Sniffer den Datenfluss verfolgt.

Dennoch sollten alle Möchtegern-Sniffer an dieser Stelle gewarnt sein: Sniffing zum Zwecke der Datenausspähung ist strafbar.

Dieser Beitrag stammt von tecChannel.de, dem Webzine für technikorientierte Computer- und Kommuni-kationsprofis. Unter www.tecChannel.de finden Sie weitere Beiträge zu diesem Thema.