Leitfaden und Spickzettel für Wireshark

Selbst eine oberflächliche Kenntnis des Wireshark- Programms und seiner Filter spart eine Größenordnung Zeit bei der Behebung von Problemen auf Netzwerk- oder Anwendungsebene. Wireshark ist nützlich für viele Aufgaben in der Arbeit eines Netzwerktechnikers, Sicherheitsspezialisten oder Systemadministrators. Hier einige Anwendungsbeispiele:

Fehlerbehebung bei der Netzwerkkonnektivität


  • Visuelle Anzeige des Paketverlusts
  • TCP-Relay-Analyse
  • Long Delayed Packet Graph

Untersuchen von Sitzungen auf Anwendungsebene (auch beim Verschlüsseln mit SSL / TLS, siehe unten)


  • Vollständige Ansicht der HTTP-Sitzungen, einschließlich aller Header und Daten für Anforderungen und Antworten
  • Anzeigen von Telnet-Sitzungen, Anzeigen von Kennwörtern, eingegebenen Befehlen und Antworten
  • Zeigen Sie den SMTP- und POP3-Verkehr an und lesen Sie E-Mails

Fehlerbehebung bei DHCP mit Daten auf Paketebene


  • Erkundung von Broadcast-DHCP-Übersetzungen
  • Der zweite Schritt des DHCP-Austauschs (DHCP-Angebot) mit Adresse und Parametern
  • Kundenanfrage an die vorgeschlagene Adresse
  • Bestätigen Sie vom Server, dass die Anforderung bestätigt wurde

Extrahieren Sie Dateien aus HTTP-Sitzungen


  • Exportieren von Objekten aus HTTP wie JavaScript, Bildern oder sogar ausführbaren Dateien

Extrahieren Sie Dateien aus SMB-Sitzungen


  • Ähnlich wie bei der HTTP-Exportoption, jedoch beim Extrahieren von über SMB übertragenen Dateien, dem Dateifreigabeprotokoll in Windows

Malware-Erkennung und -Scan


  • Erkennung eines abnormalen Verhaltens, das auf Malware hinweisen kann
  • Suchen Sie nach ungewöhnlichen Domains oder End-IPs
  • E / A-Diagramme zum Erkennen dauerhafter Verbindungen (Beacons) mit Verwaltungsservern
  • Herausfiltern „normaler“ Daten und Erkennen ungewöhnlicher Daten
  • Rufen Sie große DNS-Antworten und andere Anomalien ab, die auf Malware hinweisen können

Überprüfen von Port-Scans und anderen Scan-Typen auf Schwachstellen


  • Verstehen, welcher Netzwerkverkehr von Scannern kommt
  • Analyse der Verfahren zur Überprüfung von Sicherheitslücken zur Unterscheidung zwischen falsch positiv und falsch negativ

Diese Beispiele sind nur die Spitze des Eisbergs. In diesem Handbuch erfahren Sie, wie Sie ein so leistungsfähiges Tool verwenden.

Installieren Sie Wireshark


Wireshark läuft auf verschiedenen Betriebssystemen und ist einfach zu installieren. Erwähnen Sie nur Ubuntu Linux, Centos und Windows.

Installieren Sie auf Ubuntu oder Debian


#apt-get update #apt-get install wireshark tshark 

Installieren Sie auf Fedora oder CentOS


 #yum install wireshark-gnome 

Windows-Installation


Die Download-Seite enthält die ausführbare Datei für die Installation. Der Paketerfassungstreiber ist auch recht einfach zu installieren, mit dessen Hilfe die Netzwerkkarte in den "unhörbaren" Modus wechselt (im Promiscuous-Modus können Sie alle Pakete empfangen, unabhängig davon, an wen sie gerichtet sind).

Erste Schritte mit Filtern


Beim ersten Abfangen sehen Sie eine Standardvorlage und Paketdetails in der Wireshark-Oberfläche.

Wenn Sie eine HTTP-Sitzung erfasst haben, beenden Sie die Aufzeichnung und spielen Sie mit den grundlegenden Filtern und Einstellungen von Analysieren | Folgen Sie | HTTP-Stream .

Die Namen der Filter sprechen für sich. Geben Sie einfach die entsprechenden Ausdrücke in die Filterzeile ein (oder in die Befehlszeile, wenn Sie tshark verwenden). Der Hauptvorteil von Filtern ist die Rauschunterdrückung (Verkehr, der für uns nicht interessant ist). Sie können den Datenverkehr nach MAC-Adresse, IP-Adresse, Subnetz oder Protokoll filtern. Der einfachste Filter ist die Eingabe von http , sodass nur HTTP-Verkehr angezeigt wird (TCP-Port 80) .

Beispiele für IP-Filter


 ip.addr == 192.168.0.5 !(ip.addr == 192.168.0.0/24) 

Beispiele für Protokollfilter


 tcp udp tcp.port == 80 || udp.port == 80 http not arp and not (udp.port == 53) 

Versuchen Sie eine Kombination von Filtern, die den gesamten ausgehenden Datenverkehr mit Ausnahme von HTTP und HTTPS anzeigen, die außerhalb des lokalen Netzwerks weitergeleitet werden . Dies ist eine gute Möglichkeit, Software (auch Malware) zu erkennen, die über ungewöhnliche Protokolle mit dem Internet interagiert.

Folgen Sie dem Strom


Sobald Sie mehrere HTTP-Pakete erfasst haben, können Sie den Menüpunkt Analysieren | für eines davon verwenden. Folgen Sie | HTTP-Stream . Es wird die gesamte HTTP-Sitzung angezeigt. In diesem neuen Fenster sehen Sie eine HTTP-Anfrage vom Browser und eine HTTP-Antwort vom Server.



DNS-Auflösung in Wireshark


Standardmäßig löst Wireshark keine Netzwerkadressen in der Konsole auf. Dies kann in den Einstellungen geändert werden.

Bearbeiten | Einstellungen | Namensauflösung | Aktivieren Sie die Auflösung von Netzwerknamen

Wie bei tcpdump verlangsamt der Auflösungsvorgang die Anzeige von Paketen. Es ist auch wichtig zu verstehen, dass DNS-Abfragen von Ihrem Host zu zusätzlichem Datenverkehr werden, der abgefangen werden kann, wenn Sie Pakete online erfassen.

Tshark für die Kommandozeile


Wenn Sie sich noch nicht mit tshark , tshark unseren Leitfaden mit Filterbeispielen . Dieses Programm wird häufig ignoriert, eignet sich jedoch hervorragend zum Erfassen von Sitzungen auf einem Remote-System. Im Gegensatz zu tcpdump können Sie damit Sitzungen auf Anwendungsebene im laufenden Betrieb erfassen und anzeigen: Wireshark-Protokolldecoder sind auch für tshark verfügbar.

Firewall-Regeln erstellen


Hier ist eine schnelle Möglichkeit, Regeln über die Befehlszeile zu erstellen, damit Sie nicht im Internet nach einer bestimmten Syntax suchen. Wählen Sie die entsprechende Regel aus und gehen Sie zu Extras | Firewall-ACL-Regeln . Es werden verschiedene Firewalls unterstützt, z. B. Cisco IOS, ipfilter , ipfw , iptables , pf und sogar die Windows-Firewall über netsh .



Arbeiten Sie mit GeoIP auf Geobasis


Wenn Wireshark mit GeoIP-Unterstützung kompiliert wurde und Sie über kostenlose Maxmind-Datenbanken verfügen, kann das Programm den Standort von Computern anhand ihrer IP-Adressen ermitteln. Einchecken über | Wireshark , dass das Programm mit der Version kompiliert wird, die Sie zur Verfügung haben. Wenn GeoIP in der Liste enthalten ist, überprüfen Sie, ob auf der Festplatte GeoLite City-, Country- und ASNum-Datenbanken vorhanden sind. Geben Sie die Position der Basen in Bearbeiten | an Einstellungen | Namensauflösung .

Überprüfen Sie das System auf einen Verkehrsauszug, indem Sie Statistik | auswählen Endpunkte | IPv4 . Der Standort und die ASN-Informationen für die IP-Adresse sollten in den Spalten rechts angezeigt werden.



Eine weitere GeoIP-Funktion ist das Filtern des Datenverkehrs nach Standort mithilfe des ip.geoip Filters. Auf diese Weise können Sie beispielsweise Datenverkehr von einem bestimmten Lieferavis ausschließen. Der folgende Befehl schließt Pakete von der ASN 63949-Netzwerkeinheit (Linode) aus.

 ip and not ip.geoip.asnum == 63949 

Natürlich kann der gleiche Filter auf einzelne Städte und Länder angewendet werden. Entfernen Sie Lärm und lassen Sie nur wirklich interessanten Verkehr.

Entschlüsselung von SSL / TLS-Sitzungen


Eine Möglichkeit zum Entschlüsseln von SSL / TLS-Sitzungen besteht darin, den privaten Schlüssel des Servers zu verwenden, mit dem der Client verbunden ist.

Natürlich haben Sie nicht immer Zugriff auf den privaten Schlüssel. Es gibt jedoch noch eine andere Option, um einfach den SSL / TLS-Verkehr auf dem lokalen System anzuzeigen. Wenn Firefox oder Chrome mithilfe einer speziellen Umgebungsvariablen geladen wird, werden die symmetrischen Schlüssel einzelner SSL / TLS-Sitzungen in eine Datei geschrieben, die Wireshark lesen kann. Mit diesen Schlüsseln zeigt Wireshark eine vollständig entschlüsselte Sitzung an!

1. Einstellen der Umgebungsvariablen


Linux / Mac

 export SSLKEYLOGFILE=~/sslkeylogfile.log 

Windows

Auf den Systemeigenschaften | Klicken Sie für Fortgeschrittene auf die Schaltfläche Umgebungsvariablen und fügen Sie den Variablennamen (SSLKEYLOGFILE) und den Pfad zur Datei als Wert hinzu.

2. Wireshark-Setup


Wählen Sie im Popup-Menü Bearbeiten | Einstellungen | Protokolle | SSL | (Pre) -Master-Secret-Protokolldateiname - Durchsuchen Sie, indem Sie die Datei angeben, die Sie in der Umgebungsvariablen angegeben haben.

Beginnen Sie mit der Erfassung des Datenverkehrs auf Ihrem lokalen System.

3. Starten Sie Firefox oder Chrome neu


Nach dem Aufrufen der HTTPS-Website nimmt die Größe der Protokolldatei zu, da symmetrische Sitzungsschlüssel geschrieben werden.

Schauen Sie sich die zuvor gestartete Wireshark-Sitzung an. Sie sollten etwas Ähnliches wie den folgenden Screenshot mit entschlüsselten Sitzungen sehen. Entschlüsselte Pakete - auf der Registerkarte im unteren Bereich.



Eine andere Möglichkeit, eine Sitzung anzuzeigen, ist die Analyse | Folgen Sie | Stream | SSL Wenn die Sitzung erfolgreich entschlüsselt wurde, wird eine Option für SSL angezeigt.

Seien Sie natürlich vorsichtig, wenn Sie diese Schlüssel und Pakete schreiben. Wenn ein Außenstehender Zugriff auf die Protokolldatei erhält, findet er dort leicht Ihre Passwörter und Authentifizierungscookies.

Eine weitere Option für den Zugriff auf den grundlegenden HTTP-Verkehr ist die Verwendung des Burp Suite- Tools mit dem im Browser geladenen CA-Zertifikat. In diesem Fall entschlüsselt der Proxy die Verbindung auf der Clientseite und baut dann eine neue SSL / TLS-Sitzung auf dem Server auf. Es gibt viele Möglichkeiten, einen solchen MiTM-Angriff auf sich selbst durchzuführen. Dies sind zwei der einfachsten.

Extrahieren Sie Dateien aus Paketen mithilfe der Exportfunktion (HTTP oder SMB).


Dateien können einfach über das Exportmenü extrahiert werden.

Datei | Objekte exportieren | HTTP

Alle gefundenen Dateien werden in einem neuen Fenster angezeigt. Von hier aus können Sie einzelne oder alle Dateien gleichzeitig speichern. Eine ähnliche Methode wird verwendet, um Dateien aus SMB-Sitzungen zu extrahieren. Wie bereits erwähnt, ist dies das Microsoft Server Message Block-Protokoll, das für die Dateifreigabe unter Windows verwendet wird.



Statusleiste


Über die Statusleiste auf der rechten Seite des Fensters können Sie schnell zur gewünschten Stelle im Netzwerkspeicherauszug gelangen, indem Sie auf die Farbanzeige klicken. Beispielsweise werden fehlerhafte Pakete in der Statusleiste rot markiert.



PCAP-Beispiel


Wenn Sie zum ersten Mal mit Wireshark arbeiten, möchte ich einige interessante Dumps mit Paketen betrachten. Sie finden sie auf der Seite Wireshark Samples . Es wird genügend Beispiele mit unterschiedlichen Protokollen für mehrere Monate der Analyse geben, es gibt sogar Beispiele für den Verkehr von Würmern und Exploits.

Umgebungseinstellung


Das Erscheinungsbild der Konsole ist standardmäßig stark anpassbar. Sie können Spalten hinzufügen oder entfernen und sogar so einfache Dinge wie eine UTC-Zeitspalte hinzufügen, die den Informationsgehalt der Protokolle sofort erhöht, wenn Sie den Verlauf von Paketen analysieren.

Spalten werden unter Bearbeiten | konfiguriert Einstellungen | Aussehen | Spalten Dort werden auch die allgemeine Vorlage, Schriftart und Farbe geändert.

Auf dem Video - nützliche Tipps zum Einrichten der Umgebung, einschließlich der Fehlerbehebung für TCP-Sequenznummern.


capinfos


Wireshark wird mit einem praktischen capinfos . Dieses Dienstprogramm generiert Batch-Dump-Statistiken mit Start- / Endaufzeichnungszeit und anderen Details. Mit der Option -T wird Text mit Registerkarten erstellt. Er eignet sich zum Importieren in Tabellenkalkulationen oder zur Analyse in der Konsole.

 test@ubuntu:~$ capinfos test.pcap File name: test.pcap File type: Wireshark/tcpdump/... - pcap File encapsulation: Ethernet File timestamp precision: microseconds (6) Packet size limit: file hdr: 262144 bytes Number of packets: 341 k File size: 449 MB Data size: 444 MB Capture duration: 3673.413779 seconds First packet time: 2018-12-01 11:26:53.521929 Last packet time: 2018-12-01 12:28:06.935708 Data byte rate: 120 kBps Data bit rate: 967 kbps Average packet size: 1300.72 bytes Average packet rate: 93 packets/s SHA256: 989388128d676c329ccdbdec4ed221ab8ecffad81910a16f473ec2c2f54c5d6e RIPEMD160: 0742b6bbc79735e57904008d6064cce7eb95abc9 SHA1: d725b389bea044d6520470c8dab0de1598b01d89 Strict time order: True Number of interfaces in file: 1 

Fazit


Dieser Artikel wurde ursprünglich im Jahr 2011 veröffentlicht und dann ernsthaft aktualisiert. Wenn Sie Kommentare, Verbesserungen oder Tipps zum Spickzettel haben, schreiben Sie mir . Wireshark ist eines der unverzichtbaren Werkzeuge, die viele verwenden, aber nur wenige sprechen fließend. Hier können Sie tiefer und tiefer gehen.

Source: https://habr.com/ru/post/de436226/


All Articles