
TensorSpark - stock.adobe.com
Netzwerkanalyse mit Tshark, Suricata und Zeek
Tshark ist ein CLI-Tool zur Protokollanalyse und ergänzt Systeme wie Zeek und Suricata. Es liefert detaillierte Netzwerkdaten für Debugging, Sicherheit und Automatisierung.
Die Analyse von Netzwerkverkehr ist ein wesentlicher Bestandteil der IT-Sicherheit. Mit thsark steht ein Open-Source-Tool zur Verfügung, das Administratoren und Sicherheitsexperten tiefergehende Einblicke in Protokolldetails ermöglicht.
thsark gehört zum Lieferumfang von WireShark. WireShark ist ein Open-Source-Netzwerkanalyseprogramm. Es ist für Windows. macOS und Linux verfügbar. Unter anderem ist es bereits in Kali Linux enthalten, wovon wir in diesem Artikel ausgehen. Unter Kali Linux aus kann im Terminal schnell gestartet werden. Schon die Eingabe von tshark reicht, um den Datenverkehr im Netzwerk zu analysieren und direkt im Terminal anzuzeigen.

Tshark lässt sich auf diesem Weg auch über SSH-Verbindungen ausführen, um Netzwerkanalysen auch remote durchzuführen. Ursprünglich entwickelt, um verschlüsselte Verbindungen wie TLS zu analysieren, unterstützt thsark zahlreiche weitere Protokolle, darunter DNS, HTTP, SMB, FTP und LDAP. Es arbeitet auf Basis von PCAP-Dateien und extrahiert gezielt relevante Informationen, die bei der Absicherung und Analyse moderner Netzwerke entscheidend sind. Auch bei Penetrationstests und in Active-Directory-Umgebungen zeigt sich die Stärke des Tools.
Packet Capture mit Tshark: Grundlagen und praktische Anwendung
Tshark ermöglicht eine umfassende Erfassung von Netzwerkpaketen direkt über die Kommandozeile. Zunächst wird eine Liste aller verfügbaren Netzwerkadapter mit dem Befehl tshark -D angezeigt.

Ein Beispiel für die Erfassung von Paketen über einen WLAN-Adapter (Adapter Nummer 15) ist der folgende Befehl:
tshark -i 15 -c 100 -w capture_output.pcap
Hierbei werden 100 Pakete vom Adapter Nummer 15 mitgeschnitten und in der Datei capture_output.pcap gespeichert. Die aufgezeichneten Daten lassen sich anschließend mit dem Befehl tshark -r capture_output.pcap analysieren. Diese Ausgabe enthält Details zu den IP-Adressen, Protokollen, Sequenznummern und Fenstergrößen. Die Möglichkeit, die Paketerfassung und -analyse direkt über die Kommandozeile durchzuführen, bietet eine schnelle und effiziente Alternative zur Nutzung der Wireshark-GUI.
Automatisierung und Filterung mit Tshark: Effiziente Datenextraktion für Analyse und Debugging
Tshark eignet sich hervorragend zur Automatisierung und Filterung von Netzwerkdaten, wodurch sich große Datenmengen effizient verarbeiten lassen. Mit dem Befehl
tshark -i eth0 -c 50 -w filtered_output.pcap
wird ein Mitschnitt der ersten 50 Pakete erstellt und in einer PCAP-Datei gespeichert. Diese Methode ermöglicht es, gezielt kleine Datenmengen für eine schnelle Analyse zu extrahieren.
Nach dem Mitschnitt lassen sich spezifische Protokolle oder Felder filtern, etwa HTTP-Header oder TCP-Sequenznummern. Mit dem folgenden Befehl wird die PCAP-Datei nach HTTP-Anfragen gefiltert, um gezielte Informationen über Webverkehr zu erhalten:
tshark -r filtered_output.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
Dieses Verfahren bietet eine schnelle Möglichkeit, relevante Netzwerkdaten zu extrahieren und präzise zu analysieren, was besonders bei Debugging oder der Untersuchung von Vorfällen hilfreich ist.
Vielseitige Protokollanalyse für verschiedene Einsatzbereiche
Die Analyse von TLS-Daten ist eine der zentralen Funktionen von thsark. Administratoren können beispielsweise Zertifikate und Cipher Suites prüfen, um Schwachstellen wie unsichere Algorithmen oder abgelaufene Zertifikate aufzudecken. Mit dem Befehl
tshark -filter tls -output tls_analysis.json
werden Zertifikatsketten, Verschlüsselungsverfahren und weitere Details extrahiert. Solche Analysen helfen, Sicherheitslücken wie veraltete TLS-Versionen zu identifizieren.
Bei einer HTTP-Analyse können übertragene Header, Cookies oder Nutzlasten überprüft werden. Dies ist nützlich, wenn verdächtiger Webverkehr vorliegt. Der Befehl
tshark -input web_traffic.pcap -filter http -output http_details.json
zeigt detaillierte HTTP-Transaktionen und ermöglicht es, Schwachstellen in Webanwendungen aufzuspüren.
Tshark ermöglicht die Echtzeitüberwachung von Netzwerkverkehr und die Analyse von PCAP-Dateien, wodurch Administratoren und Sicherheitsexperten tiefgehende Einblicke in Netzwerkaktivitäten erhalten. Hier folgen konkrete und unterschiedliche Beispiele, die die Einsatzmöglichkeiten von Tshark in Echtzeit und bei der PCAP-Dateianalyse verdeutlichen.
Echtzeitüberwachung verdächtiger DNS-Aktivitäten
Ein häufiges Angriffsmuster in Netzwerken ist DNS-Tunneling, bei dem Daten über DNS-Abfragen exfiltriert werden. Mit Tshark lassen sich DNS-Aktivitäten in Echtzeit überwachen:
tshark -i eth0 -f "udp port 53" -w suspicious_dns.pcap
Dieser Befehl schneidet alle DNS-Pakete mit und speichert sie in der Datei suspicious_dns.pcap. Nach der Aufzeichnung wird die Datei analysiert:
tshark -r suspicious_dns.pcap -Y "dns.qry.name contains 'malicious'"
Dies zeigt DNS-Anfragen mit verdächtigen Host-Namen, die auf einen Angriff hindeuten könnten.
HTTP-Überwachung und Analyse von Login-Versuchen
Ein Administrator möchte potenzielle Angriffe auf eine Webanwendung überwachen, insbesondere unautorisierte Login-Versuche. Mit folgendem Befehl schneidet Tshark den gesamten HTTP-Traffic in Echtzeit mit:
tshark -i eth0 -Y "http.request" -w http_login_attempts.pcap
Nach Abschluss des Mitschnitts können gezielt POST-Anfragen, die Login-Daten enthalten, untersucht werden:
tshark -r http_login_attempts.pcap -Y "http.request.method == POST" -T fields -e http.host -e http.file_data
Die extrahierten Daten geben Aufschluss über potenziell kompromittierte Konten oder verdächtige IP-Adressen.
SMB-Verkehr in Windows-Umgebungen überwachen
In Windows-Netzwerken ist SMB ein häufiges Ziel für Angreifer, die laterale Bewegungen ausführen oder Dateien exfiltrieren wollen. Mit folgendem Befehl schneidet Tshark SMB-Traffic in Echtzeit mit:
tshark -i eth0 -Y "smb" -w smb_activity.pcap
Nach dem Speichern der PCAP-Datei erfolgt die Analyse auf ungewöhnliche Dateizugriffe:
tshark -r smb_activity.pcap -Y "smb.file contains '.exe'" -T fields -e smb.file
Dies identifiziert schädliche ausführbare Dateien, die über das Netzwerk verteilt werden.
Analyse von verdächtigem SSH-Verkehr
SSH-Brute-Force-Angriffe sind ein häufiges Sicherheitsproblem. Mit Tshark lässt sich der SSH-Verkehr in Echtzeit überwachen und in einer PCAP-Datei speichern:
tshark -i eth0 -f "port 22" -w ssh_attempts.pcap
Anschließend analysiert Tshark die Datei, um wiederholte fehlgeschlagene Login-Versuche zu identifizieren:
tshark -r ssh_attempts.pcap -Y "ssh" -T fields -e ip.src -e ssh.auth.username
Dies hilft, potenziell kompromittierte IP-Adressen zu blockieren und Sicherheitsmaßnahmen zu verschärfen.
LDAP-Überwachung in Active Directory-Umgebungen
Angreifer nutzen häufig LDAP-Abfragen, um Benutzerlisten oder Gruppenrichtlinien in Active Directory zu enumerieren. Tshark kann solche Abfragen in Echtzeit aufzeichnen:
tshark -i eth0 -Y "ldap" -w ldap_queries.pcap
Nach der Erfassung zeigt die Analyse ungewöhnliche Suchfilter oder häufige Abfragen sensibler AD-Objekte:
tshark -r ldap_queries.pcap -Y "ldap.filter" -T fields -e ldap.filter
Dies gibt Administratoren Einblicke in potenziell gefährliche Abfragen.
Echtzeitüberwachung von TLS-Handshakes
Die Überwachung von TLS-Handshakes ist wichtig, um die Sicherheit verschlüsselter Verbindungen zu gewährleisten. Tshark kann diese in Echtzeit erfassen und speichern:
tshark -i eth0 -Y "tls.handshake" -w tls_handshakes.pcap
Die spätere Analyse der PCAP-Datei liefert Informationen über Zertifikate und verwendete Cipher Suites:
tshark -r tls_handshakes.pcap -Y "tls.handshake.type == 1" -T fields -e tls.handshake.extensions_server_name -e tls.handshake.ciphersuite
Dies ermöglicht die Überprüfung, ob unsichere Verschlüsselungsmethoden verwendet werden.
ICMP-Traffic zur Erkennung von Scans und Pings
Angreifer nutzen ICMP, um Netzwerke zu scannen und Hosts zu entdecken. Mit Tshark kann dieser Verkehr in Echtzeit erfasst werden:
tshark -i eth0 -f "icmp" -w icmp_traffic.pcap
Die Analyse der PCAP-Datei identifiziert ungewöhnlich viele Ping-Anfragen von derselben Quelle:
tshark -r icmp_traffic.pcap -Y "icmp.type == 8" -T fields -e ip.src -e ip.dst
Malware-Analyse mit Tshark: Echtzeit und PCAP-Analyse in der Praxis
Tshark ist auch ein leistungsstarkes Tool für die Untersuchung von Malware-Traffic, das sowohl Echtzeitdaten erfasst als auch PCAP-Dateien detailliert analysiert. In einem Anwendungsfall lässt sich das Tool zum Beispiel nutzen, um Shellcode einer Cobalt-Strike-Infektion aus einer PCAP-Datei zu extrahieren. Die Kombination aus Echtzeit-Mitschnitt und nachträglicher Filterung macht Tshark zu einem wertvollen Werkzeug für Sicherheitsanalysen.
Bei der Untersuchung eines potenziell infizierten Netzwerks ist es entscheidend, den Netzwerkverkehr direkt zu überwachen. Mit folgendem Befehl wird der gesamte HTTP-Traffic aufgezeichnet:
tshark -i eth0 -Y "http.request" -w malware_capture.pcap
Hierbei wird der Datenstrom in Echtzeit erfasst und in einer PCAP-Datei gespeichert. Anschließend kann man den Mitschnitt detailliert analysieren, um verdächtige Verbindungen zu identifizieren. Eine häufige Aufgabe bei der Malware-Analyse ist das Filtern relevanter Datenpakete aus einer großen Anzahl an Netzwerkpaketen. Tshark bietet die Möglichkeit, spezifische Inhalte wie Shellcode zu extrahieren. In diesem Fall kann die PCAP-Datei eine HTTP-Antwort mit Shellcode im Feld http.file_data enthalten Der folgende Befehl filtert die Pakete mit dem entsprechenden Payload:
tshark -r malware_capture.pcap -Y "http.file_data contains xfc" -T fields -e http.file_data
Der extrahierte Shellcode wird vollständig angezeigt und kann anschließend mit weiteren Tools, wie einem Base64-Decoder oder einem speziellen Cobalt-Strike-Analysator, entschlüsselt werden.
Malware-Angriffe wie Cobalt-Strike-Infektionen nutzen oft verschlüsselte Verbindungen zu Command-and-Control-Servern (C&C-Server). Tshark hilft dabei, diese Verbindungen zu identifizieren. Nach dem Mitschnitt des TLS-Verkehrs wird eine PCAP-Datei analysiert:
tshark -r malware_capture.pcap -Y "tls" -T fields -e tls.handshake.extensions_server_name
Der Befehl liefert die Servernamen, mit denen die infizierte Maschine kommuniziert, und hilft so, die C&C-Infrastruktur zu identifizieren. Mithilfe von weiteren Werkzeugen kann die Payload analysiert und die Malware genauer untersucht werden.
Ein wichtiger Bestandteil der Analyse ist dabei auch die Identifikation spezifischer HTTP-Anfragen, die auf die Malware hinweisen. Um gezielt nach bestimmten URIs zu suchen, wird folgender Filter genutzt:
tshark -r malware_capture.pcap -Y "http.request.uri contains 'systembc'"
Dieser Filter zeigt alle Anfragen, die den URI systembc enthalten, und ermöglicht die detaillierte Untersuchung des Malware-Verkehrs.
Wenn die Analyse spezifischer Felder erforderlich ist, etwa um die vollständige Payload einer HTTP-Antwort zu extrahieren, nutzt man Tshark in Kombination mit Optionen wie -T fields:
tshark -r malware_capture.pcap -Y "http.file_data" -T fields -e http.file_data
Das Ergebnis zeigt die gesamte Payload, die anschließend entschlüsselt oder mit anderen Analysewerkzeugen weiter untersucht werden kann.
Zusammenarbeit von Tshark mit Suricata
Die Kombination von Tshark mit Zeek und Suricata bietet eine leistungsstarke Infrastruktur zur Netzwerküberwachung und Sicherheitsanalyse. Suricata dient als Intrusion Detection System (IDS), das verdächtigen Datenverkehr in Echtzeit erkennt, während Zeek detaillierte Log-Daten zu Netzwerkaktivitäten generiert. Tshark ergänzt diese Tools, indem es spezifische Protokolldetails und tiefergehende Analysen bereitstellt.
Suricata ist eine Open-Source-Lösung zur Netzwerksicherheitsüberwachung, die sowohl als IDS als auch als Intrusion Prevention System (IPS) betrieben werden kann. Im IDS-Modus überwacht Suricata den Netzwerkverkehr passiv, erkennt verdächtige Aktivitäten und erstellt detaillierte Protokolle. Der IPS-Modus hingegen blockiert aktiv bösartige Pakete, indem er den gesamten Verkehr durch vordefinierte Regeln filtert.
Ein typisches Einsatzszenario ist die Überwachung eines Netzwerksegments, um potenzielle Angriffe wie Port-Scans oder Exploits zu erkennen. Suricata arbeitet auf Basis eines Regelwerks, das entweder mitgeliefert wird oder individuell angepasst werden kann. So lässt sich beispielsweise ein spezifischer Regelabgleich durchführen, um verdächtigen HTTP-Traffic zu identifizieren und automatisch Warnmeldungen zu generieren. Suricata identifiziert dabei zum Beispiel eine potenziell bösartige Verbindung zu einer verdächtigen IP-Adresse und erstellt eine PCAP-Datei. Tshark analysiert diese Datei mit dem Befehl:
tshark -r suricata_alert.pcap -Y "tls" -T fields -e tls.handshake.extensions_server_name -e tls.handshake.ciphersuite
So können Administratoren nachvollziehen, welche URLs aufgerufen und welche Daten übermittelt wurden. Suricata erstellt umfassende Log-Dateien, die Informationen zu erkannten Bedrohungen enthalten. Mit Tshark lassen sich diese Log-Daten weiter verfeinern, um gezielt nach spezifischen Bedrohungen oder Mustern zu suchen. Ein Beispiel ist die Analyse von TLS-Verbindungen, die von Suricata als verdächtig markiert wurden:
tshark -r suricata_tls.pcap -Y "tls.handshake.extensions_server_name"
Dieser Befehl identifiziert die Servernamen, mit denen die betroffene Maschine kommuniziert, und hilft, potenzielle C&C-Server zu entdecken. Ein weiteres Szenario ist die Erkennung und Analyse von Malware-Traffic. Suricata erkennt beispielsweise Datenexfiltration durch DNS-Tunneling und speichert den betreffenden Verkehr in einer PCAP-Datei. Tshark kann anschließend diese Datei analysieren, um verdächtige DNS-Abfragen zu identifizieren:
tshark -r dns_tunneling.pcap -Y "dns.qry.name contains 'malicious'"
Dies ermöglicht eine tiefergehende Untersuchung und liefert wertvolle Einblicke in die genutzten Techniken der Angreifer. Sinnvoll ist der Einsatz von Suricata zum Beispiel mit der Open Source-Firewall OPNsense. Wir haben uns bereits in einem eigenen Beitrag damit auseinandergesetzt, wie OPNsense mit Zenarmor zu einer Next-Generation-Firewall ausgebaut werden kann. Auf dem gleichen Weg lässt sich damit ein IDS/IPS auf Basis von Suricata realisieren. Die Einstellungen dazu sind in der Weboberfläche von OPNsense bei Dienste/Einbruchserkennung/Verwaltung zu finden. Das IDS/IPS von OPNsense basiert auf Suricata.

Tshark mit Zeek nutzen
Zeek erstellt wiederum umfassende Log-Dateien, die Anomalien im Netzwerkverkehr dokumentieren, etwa verdächtige HTTP-Requests. Tshark kann diese Logs weiterverarbeiten, um tiefer in die Daten einzutauchen. Beispielsweise lassen sich spezifische HTTP-Anfragen aus einer PCAP-Datei wie folgt analysieren:
tshark -r zeek_http.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
Diese Methode zeigt, welche URLs aufgerufen wurden und von welchen Hosts die Anfragen stammen. Durch die Zusammenarbeit von Tshark, Zeek und Suricata entsteht ein integrierter Workflow, der sowohl Breite als auch Tiefe der Netzwerküberwachung abdeckt und eine umfassende Sicherheitsanalyse ermöglicht.