Netzwerk-Sniffer
Ethereal in der Praxis
Sniffing-Software
Netzwerk-Sniffer
Wer wissen möchte,was in seinem Netzwerk läuft, kommt nicht um den Einsatz eines Sniffers herum. Toolswie Ettercap (http://ettercap.sourceforge.net), Tcpdump (www.tcpdump.org) und das inzwischen in Wireshark umbenannte Ethereal (www.ethereal.com) protokollieren alle gesendeten und empfangenen Datenpakete mit. Möglich macht das der Capture Driver, der sich in den Treiber der Netzwerkkarte einklinkt und gesendete sowie empfangene Pakete in einem Puffer zwischenspeichert. Ein spezielles Analysemodul untersucht jedes einzelne Paket und stellt die Inhalte in übersichtlicher Listenform dar, was dem Systemverwalter die Suche nach Spionage- Software, Datenübertragungen über unverschlüsselte Verbindungen und Sicherheitslücken im Netzwerk deutlich erleichtert. Wie wichtig Sniffing-Software heutzutage ist, zeigt allein schon die Tatsache, dass Ethereal zur Grundausstattung fast aller gängigen Linux-Distributionen gehört, darunter Fedora Core, Mandriva und Suse. Linux Professionell zeigt, wie Sie Ethereal in der Praxis verwenden, umpotenziellen Security-Problemen auf die Schliche zu kommen.
Was geht ab im Netz?
Netzwerk-Sniffer
Der erste Schritt besteht darin, sich einen schnellen Überblick über den Netzwerk-Verkehr im Ruhezustand zu verschaffen. Ruhezustand bedeutet hierbei, dass Sie alle mit dem Internet Kontakt aufnehmenden Anwendungen, beispielsweiseWebbrowser, E-Mail- Client und Instant-Messaging-Tools, schließen. Über Anwendungen/Internet starten Sie Ethereal Network Analyzer und wählen Capture/Options. Ist das System nur mit einer Netzwerkkarte ausgestattet, ist diese im Bereich Interface bereits ausgewählt. Verfügt das System über mehrere netzwerkfähige Verbindungen (Stichwort Notebook mit WLAN), wählen Sie das Gerät aus, das den Kontakt zum Router/Switch herstellt. ImBereich Display Options ist die Option Update list of packets in real time zu finden. Prinzipiell ist diese Funktion sinnvoll, da Ethereal so die Pakete in Echtzeit anzeigt. Der Nachteil: Bei massivem Datenverkehr verbraucht das Tool extrem viel Systemressourcen. Entscheiden Sie sich dennoch für die Echtzeitanzeige der Pakete, was im Fall einer Netzwerk-Verbindung im Ruhezustand kein Problem darstellt, ist es ratsam, auch gleich die Option Automatic scrolling in live capture zu aktivieren. Dadurch ersparen Sie sich das manuelle Blättern durch die Liste.Mit einem Klick auf Start beginnen Sie die Überwachung des Datenverkehrs. Wie bei einer Netzwerk-Verbindung im Ruhezustand nicht anders zu erwarten ist, beschränkt sich der Netzwerk-Verkehr auf ein Minimum. Hier ein UDP-Paket, das vom Router kommt; da ein ICMP-Paket, welches die Netzwerkkarte verschickt. Im Test ermittelt Ethereal während einer Laufzeit von fünf Minuten nur 82 Pakete. Klicken Sie auf Stopp, um die Protokollierung zu beenden.
Protokolltypen verstehen
Netzwerk-Sniffer
Im Hauptfenster stellt Ethereal nun die belauschten Pakete dar. Der besseren Übersicht halber hinterlegt das Tool die einzelnen Protokolltypen mit einer anderen Farbe. Eine fundierte Übersicht rund um das Thema Protokolle finden Sie übrigens auf Protocols.com (www.protocols.com/protocols.htm). Auf den ersten Blick sind lediglich die ARP-Pakete interessant, da die dazugehörigen Infos im Klartext angezeigt werden. Hintergrund: Das Address Resolution Protocol ARP ist das Bindeglied zwischen IPund MAC-Adressen. Damit ein Client IP-Pakete an ein anderes System im Netzwerk senden kann, ist die MAC-Adresse des Ziels zu ermitteln. Hierzu schickt ARP an alle Clients die Frage »Who has 192.168.0.1? Tell 192.168.0.3«, wobei 192.168.0.1 stellvertretend für die tatsächlichen IP-Adressen der Zielsysteme steht und 192.168.0.3 für den Absender. Sind die befragten Clients online und operabel, antworten sie mit »192.168.0.1 is at 00:09:5b:6d:16:de«. Die Antwort, die die eindeutige Verbindung zwischen IP- und MAC-Adresse erlaubt, speichert das System im temporären ARP-Cache. Hinweis zur Ermittlung der MAC-Adresse: Bei Fedora Core 5 rufen Sie über Klicks auf System/Administration/Netzwerk den Dialog Netzwerk-Konfiguration auf, markieren den gewünschten Netzwerk-Adapter und bringen das Register Geräte nach vorne. Ein Klick auf Bearbeiten/Hardware Gerät zeigt die MAC-Adresse des Adapters.
Vorgeben, was belauscht wird
Netzwerk-Sniffer
Damit die Liste ein wenig übersichtlicher wird, ist es ratsam, von der Filterfunktion Gebrauch zu machen. Ethereal kennt zwei verschiedene Filter: Capture Filters und Display Filters. Mithilfe des Capture Filters legen Sie vor Beginn eines Scans fest, welche Pakete, IP-Adressen und Ports das Tool überwachen soll. Dies ist ein probates Mittel, um für einen Einsatzzweck uninteressante Pakete zu ignorieren oder zu verhindern, dass die Protokolldatei bei längeren Scans zu groß wird.Welche Pakete der Sniffer aufzeichnen soll, legen Sie im Dialog Capture Options fest. Im vorherigen Beispiel haben wir bewusst auf die Definition von Capture-Filtern verzichtet, damit Sie ein Gefühl dafür erhalten, welche Paketarten durch das LAN schwirren. Klicken Sie auf die Schaltfläche Capture Filters, um den gleichnamigen Dialog zu öffnen. Um einen der Filter, etwa No Broadcast and no Multicast, zuzuweisen, markieren Sie den entsprechenden Eintrag, bestätigen mit OK und starten die Aufzeichnung. Alternativ dazu können Sie Capture Filters auch per Kommando aktivieren.
Alles protokollieren
Möchten Sie etwa den kompletten ein- und ausgehenden Datenverkehr eines Netzwerk- Adapters mitschneiden, tippen Sie im Dialog Capture Filter bei Filter string den Befehl ether host 00:09:5b:6d:16:de ein, geben bei Filter name eine aussagekräftige Bezeichnung, etwa »Gesamt-Traffic LAN-Adapter «, ein und bestätigen mit Neu/Speichern. Möglich ist es auch, anstatt der MACdie IP-Adresse des Netzwerk-Adapters zu verwenden. In diesem Fall lautet der Filter string host 192.168.0.3. Die Kombination mehrerer Befehle ist ebenfalls erlaubt, wobei die Syntax denkbar einfach ist: Wollen Sie beispielsweise den über TCP-Port 80 laufenden Datenverkehr am Adapter mit der IP-Adresse 192.168.0.3 ermitteln, lautet der Befehl 192.168.0.3 tcp port 80. Das genaue Gegenteil, die Protokollierung des Gesamt-Datenverkehrs außer den über den TCP-Port 80 ausgetauschten Paketen, erreichen Sie, indem Sie 192.168.0.3 and not tcp port 80 eintippen. Einen Überblick über die Syntax erhalten Sie auf www.tcpdump.org/tcpdump_man.html.
Display Filters in der Praxis
Netzwerk-Sniffer
Nachdem Sie nun wissen, wie Sie die Capture Filters von Ethereal konfigurieren, steht der erste Scan unter Praxisbedingungen an. Passen Sie die Capture-Filterregeln Ihren Anforderungen entsprechend an und starten Sie den Sniffing-Vorgang. Sobald Sie den Browser öffnen und einen E-Mail-Client nutzen, kommt auch in die TCP-Rubrik Bewegung. Nach einigen Minuten stoppen Sie das Sniffen. Je nachdem, wie rege der Datenaustausch innerhalb des LANs ist, kann die Liste Tausende Einträge enthalten. Mit der Funktion Display Filters filtern Sie die Ethereal- Liste nach beliebigen Kriterien. Die Nutzung der Display-Filter-Funktion ist ähnlich einfach wie die Definition der Capture Filters. Allerdings unterscheidet sich die Syntax. Während Sie etwa den kompletten Datenverkehr des LAN-Adapters mit der MACAdresse 00:09:5b:6d:16:de mithilfe des Capture Filters ether host 00:09:5b:6d:16:de mitschreiben, filtern Sie die Paketliste nach ebensolchen Einträgen mit dem Display Filter eth.addr==00:09:5b:6d:16:de, den Sie direkt in das Eingabefeld neben Filter eintippen. Die Kombination mehrerer Filterparameter ist ebenfalls mög
lich. Um die Paketanzeige auf den vom Netzwerk- Adapter mit der IP-Adresse 192.168.0.3 verursachten Gesamt-Traffic zu begrenzen und über Port 80 ausgetauschte Datenpakete zu ignorieren, tippen Sie den Befehl ip.addr==192.168.0.3 && tcp.port!=80 ein. Hinweis: Der logische Operator && bedeutet in diesem Zusammenhang, dass Ethereal nur solche Einträge anzeigt, die auch beiden Kriterien entsprechen. Welche Display-Filter-Anweisungen und Operatoren sich verbinden lassen, erfahren Sie durch einen Klick auf Expression. Alle im Dialog aufgelisteten Befehle können Sie zum Filtern der Liste verwenden. Sehr hilfreich: Das Eingabefeld reagiert kontextsensitiv ? ist der eingetippte Display-Filter-Befehl falsch, wird der standardmäßig weiße Hintergrund rot eingefärbt; eine richtige Syntax quittiert das Tool mit der Farbe Grün.
Der große Lauschangriff
Netzwerk-Sniffer
Ein Großteil der im Internet genutzten Protokolle, darunter POP3, IMAP, SMTP und FTP verzichten auf eine Verschlüsselung. Problematisch ist dies, wenn ein Anwender sein privates E-Mail-Konto, das über eine unverschlüsselte Verbindung läuft, auch zum Versand und Empfang von Unternehmensinformationen verwendet. Schließlich lassen sich die übertragenen Datenpakete von Hackern abfangen und auswerten. Erschwerend kommt hinzu, dass viele Anwender das zum Log-in in das Firmen-LAN genutzte Passwort als eine Art Allround- Kennwort ansehen und es auch für die Anmeldung beiWeb-basierten Services nutzen. Als Administrator sollten Sie unbedingt überprüfen, ob von einem System innerhalb des LANs unverschlüsselte E-Mails gesendet und empfangen werden. Mithilfe eines maßgeschneiderten Capture Filters, der die Kommunikation der drei TCP-Ports 25 (SMTP), 110 (POP3) und 143 (IMAP) scannt, geht die Ermittlung dieser Schwachstelle einfach vonstatten. Der entsprechende Befehl lautet tcp port 25 or tcp port 110 or tcp port 143. Die Funktionsfähigkeit des benutzerdefinierten Capture Filters können Sie ganz einfach ermitteln: Sie starten den E-Mail- Client und rufen die Nachrichten testweise über POP3 ab. Wie unsicher solch unverschlüsselte Verbindungen sind, zeigt ein Blick auf die Liste der aufgezeichneten Pakete: In Ethereal klicken Sie auf Edit/Find Packet, markieren die Option String, tippen login ein und starten mit einem Klick auf Suche. Als Ergebnis erhalten Sie das bei der Kommunikation mit dem Mailserver genutzte Passwort ? und zwar im Klartext.
Spionage-Software aufspüren
Netzwerk-Sniffer
Der Anwender, der sensitive Daten über eine unverschlüsselte Verbindung sendet, ist nicht die einzige Schwachstelle. Auch Spyware ist gefährlich ? eine sachgerecht konfigurierte Desktop-Firewall blockt zwar die versuchten Kontaktaufnahmen mit dem Internet ab. In der Praxis problematisch sind aber Programme, die auf das Internet zugreifen dürfen. Schließlich lassen sich Browser, Instant Messenger und Co. von Angreifern so modifizieren, dass sie auch sensitive Daten übermitteln. Um solchen Schwachstellen auf die Schliche zu kommen, müssen Sie mit Ethereal analysieren, welche Daten eine Software an welche IP-Adressen sendet. Die Vorgehensweise unterscheidet sich nur in Details von den bekannten Handgriffen. Allerdings ist der Aufwand, den Sie betreiben müssen, um ein Vielfaches größer, da sich die verwendeten Ports nicht so einfach einschränken lassen. Zudem ist tief gehendes Wissen über Protokolle im Allgemeinen und den Aufbau von IP-Paketen im Speziellen unerlässlich.
Schwachstellen im LAN finden
Netzwerk-Sniffer
Komfortabel geht mit Ethereal auch die Suche nach Systemen innerhalb des LANs vonstatten, die nicht sachgerecht konfiguriert sind. Fällt Ihnen bei der Überprüfung der Paketliste auf, dass IPX-Pakete im Netz herumschwirren, sollten Sie umgehend die Ursachen ermitteln. Grund: Das von Novell Netware verwendete Protokoll Internetwork Packet Exchange ist heutzutage kaum noch in Gebrauch, so dass das Vorhandensein von IPX-Paketen auf ein unsauber konfiguriertes (Windows-)System hinweist. Um herauszufinden, welcher Client IPXPakete sendet, klicken Sie den Eintrag an. Im Bereich Packet Details listet Ethereal weiterführende Infos auf; von Interesse ist der Eintrag IEEE 802.3 Ethernet. Ein Doppelklick darauf zeigt bei Source: die MAC-Adresse des Adapters an. Klicken Sie diese Zeile mit der rechten Maustaste an und wählen Sie Apply as Filter/Selected, umdie MAC-Adresse als Display Filter zu verwenden. Die nun wesentlich übersichtlichere Liste zeigt nun alle Pakete an, die vom Adapter mit dieser MAC-Adresse gesendet und empfangen wurden. Darunter sind auch eine Reihe von BROWSE-Befehlen, die Aufschluss über die IP-Adresse des Systems geben, das für die IPX-Pakete verantwortlich ist. In heterogenen Netzwerken weniger ungewöhnlich ist das Vorkommen von AARP (AppleTalk Address Resolution Protocol), NBP (Name Binding Protocol) und ZIP (Zone Information Protocol) ? alle drei Protokolle werden von Macintosh-Systemen genutzt.