Fehler im LAN finden mit Netzwerk Sniffer

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 nur ü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 Hostnamen 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.

Sentinel ist beispielsweise ein Linux-Programm, das diese Verfahren anwendet, um Sniffer zu lokalisieren.