Wireshark
Wireshark - Analyse und grafischen Aufbereitung von Datenprotokollen
Beschreibung
Wireshark (Kabelhai) ist eine freie Software zur Analyse und grafischen Aufbereitung von Datenprotokollen (Sniffer), die 2006 als Fork des Programms Ethereal entstanden ist
- Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, Bluetooth oder USB
- Wireshark kann Administratoren, Netzwerk-Experten und Sicherheits-Experten bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management behilflich sein
- Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-Kopf als auch den übertragenen Inhalt an
- Das Programm stützt sich bei der grafischen Aufbereitung auf die Ausgabe von kleinen Unterprogrammen wie pcap oder usbpcap, um den Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium mitzuschneiden
- Datenprotokolle verwenden Computer auf verschiedensten Kommunikationsmedien wie dem lokalen Netzwerk, Bluetooth oder USB
- Hilft bei der Suche nach Netzwerkproblemen, der Ermittlung von Botnet-Verbindungen oder beim Netzwerk-Management
- Wireshark zeigt bei einer Aufnahme sowohl den Protokoll-Kopf als auch den übertragenen Inhalt an
- Das Programm stützt sich bei der grafischen Aufbereitung auf die Ausgabe von kleinen Unterprogrammen wie pcap oder usbpcap
- Der Inhalt der Kommunikation auf dem jeweiligen Übertragungsmedium wird mitgeschnitten
- Hersteller: Wireshark-Community
- Betriebssystem: Unix, Linux, Solaris, Mac, Windows und diversen BSD-Versionen
- Programmiersprache: C
- Lizenz: GPL (freie Software)
- Leistungsmerkmale
Wireshark fügt bei verschiedenen Protokollen Metainformationen zu Paketen hinzu, die sich nur aus dem Kontext des Datenflusses ergeben
- So wird zu SMB-Paketen, die aus Operationen in Windows-Dateifreigaben stammen, der Datei- bzw. Verzeichnisname hinzugefügt, wenn das Öffnen der Datei mit aufgezeichnet wurde
- Diese speziellen Filter und Protokollmodule kann der Benutzer auch selber erstellen, um zum Beispiel selbst entworfene Übertragungsprotokolle mittels Wireshark effizient untersuchen zu können
Installation
# apt install wireshark
Wireshark ausführen
- FÜHREN SIE IHN NICHT ALS ROOT AUS!
WIRESHARK ENTHÄLT ÜBER EINE MILLION ZEILEN QUELLCODE
- Wireshark ist anfällig für manipulierten Datenverkehr
- Aufgrund seiner Komplexität und der großen Anzahl an Protokoll-Dissektoren
- Denial-of-Service
- Ausführung von beliebigem Code
Zugriff auf Netzwerkschnittstellen
- Mit User-Rechten hat Wireshark keinen Zugriff auf Netzwerkschnittstellen
- Erfordert standardmäßig Root-Rechte
Capabilities
- Privilegierte Prozesse (Effektive Benutzer-ID 0)
- Privilegierte Prozesse umgehen alle Berechtigungsprüfungen des Kernels
- Unprivilegierte Prozesse (Effektive UID ungleich Null)
- Unprivilegierte Prozesse unterliegen einer vollständigen Berechtigungsprüfung
- Basierend auf den Anmeldedaten des Prozesses (normalerweise: effektive UID, effektive GID und zusätzliche Gruppenliste)
- Unterteillung von Privilegien
- Einheiten (Capabilities) von Privilegien, die andernfalls Root vorbehalten sind
- Können unabhängig voneinander aktiviert und deaktiviert werden
- Capabilities sind ein Attribut pro Thread
- Das Handbuch listet mehr als zwei Dutzend verschiedene POSIX-Fähigkeiten auf, die einzelnen ausführbaren Programmen gewährt werden können
- Relevant für Wireshark
Option | Beschreibung |
---|---|
CAP_NET_ADMIN | Erlaubt verschiedene netzwerkbezogene Operationen (z.B. Setzen von privilegierten Socket-Optionen, Aktivieren von Multicasting, Schnittstellenkonfiguration, Ändern von Routing-Tabellen) |
CAP_NET_RAW | Erlaubt die Verwendung von RAW- und PACKET-Sockets |
- CAP_NET_ADMIN ermöglicht es uns, eine Schnittstelle in den Promiscuous-Modus zu versetzen, und
- CAP_NET_RAW erlaubt den Raw-Zugriff auf eine Schnittstelle, um direkt über die Leitung zu erfassen
Diese Fähigkeiten werden mit dem Dienstprogramm setcap zugewiesen
Aktivieren von Non-root Capture
Wireshark-Gruppe
Da die Anwendung, der wir erweiterte Fähigkeiten zugestehen, standardmäßig von allen Benutzern ausgeführt werden kann, möchten Sie vielleicht eine spezielle Gruppe für die Wireshark-Familie von Dienstprogrammen (und ähnliche Anwendungen) hinzufügen und ihre Ausführung auf Benutzer innerhalb dieser Gruppe beschränken
# groupadd wireshark # usermod -a -G wireshark user
Nachdem Sie sich selbst zur Gruppe hinzugefügt haben, muss sich Ihr normaler Benutzer möglicherweise ab- und wieder anmelden
- Sie können auch newgrp ausführen, um die neue Gruppe zu erzwingen (Sie müssen Wireshark in Schritt 3 aus derselben Terminalumgebung starten):
$ newgrp wireshark
Wir weisen dieser Gruppe die ausführbare Datei dumpcap anstelle von Wireshark selbst zu, da dumpcap für die gesamte Low-Level-Erfassung zuständig ist
- Durch Ändern des Modus auf 750 wird sichergestellt, dass nur Benutzer, die zu dieser Gruppe gehören, die Datei ausführen können
# chgrp wireshark /usr/bin/dumpcap # chmod 750 /usr/bin/dumpcap
Zugriffsrechte
- Gewähren von Fähigkeiten mit setcap
# setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
- Änderung prüfen
# getcap /usr/bin/dumpcap /usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip
Wireshark starten
Führen Sie nun Wireshark als den Benutzer aus, den oben zur Wireshark-Gruppe hinzugefügt haben
$ wireshark &
- Vollständige Liste der Adapter
Andernfalls
- Prüfen, ob die Wireshark-Gruppe in der Ausgabe der Gruppen aufgeführt ist
- Möglicherweise müssen Sie sich ab- und wieder anmelden, damit die Gruppenzuweisung wirksam wird
Technische Details
- Wireshark stellt entweder während oder nach der Aufzeichnung von Datenverkehr einer Netzwerk-Schnittstelle die Daten in Form einzelner Pakete dar
- Dabei werden die Daten übersichtlich mit entsprechend auf die jeweiligen Protokolle angepassten Filtern aufbereitet
- So kann der Inhalt der mitgeschnittenen Pakete betrachtet oder nach diesem gefiltert werden
- Wireshark kann auch Statistiken zum Datenfluss erstellen oder über spezielle Filter gezielt binäre Inhalte wie Bilder u. a. extrahieren
- Als Netzwerkschnittstellen, deren Datenverkehr analysiert werden kann, sind primär Ethernet mit den verschiedenen Internetprotokollen wie TCP/IP zu nennen
- Ferner kann Wireshark auch drahtlosen Datenverkehr im Wireless Local Area Network (WLAN) und Bluetooth-Verbindungen aufzeichnen und analysieren. Über entsprechende Module lassen sich weitere übliche Schnittstellen wie USB in Wireshark integrieren. Unter Windows zeichnet Wireshark den Datenverkehr ab Version 3.0 transparent mithilfe von Npcap auf
- Bis zur Version 3.0 wurde WinPcap verwendet
- Voraussetzung dafür ist immer, dass der jeweilige Rechner, auf dem Wireshark betrieben wird, über die entsprechenden physischen Schnittstellen verfügt und der Benutzer entsprechende Zugriffsberechtigungen auf diese Schnittstellen hat
- Neben der grafischen Wireshark-Version gibt es das auf demselben Netzwerkcode basierende Tshark, das über Kommandozeilen-Optionen gesteuert wird
- Für beide Versionen wurde das Aufzeichnungsformat der Messdaten von tcpdump entlehnt bzw. übernommen
- Gleichwohl kann Wireshark zusätzlich die Formate anderer LAN-Analyzer einlesen
Anhang
Siehe auch
Sicherheit
Dokumentation
Man-Pages
Links
Projekt
Weblinks