https://www.wireshark.org

Wireshark ist ein Open-Source-Tool zur plattformübergreifenden Analyse von Netzwerkpaketen, das Live-Verkehr abhören und untersuchen sowie Paketerfassungen (PCAP) überprüfen kann. Es wird allgemein als eines der besten Tools zur Paketanalyse verwendet. In diesem Raum werden wir uns mit den Grundlagen von Wireshark befassen und damit grundlegende Paketanalysen durchführen.

Hinweis: An diesen Raum ist eine VM angeschlossen. Das Zimmer verfügt über eine „Split View“-Funktion.

In der VM sind zwei Capture-Dateien vorhanden. Mit der Datei „http1.pcapng“ können Sie die in den Screenshots gezeigten Aktionen simulieren. Bitte beachten Sie, dass Sie zur Beantwortung der Fragen die Datei „Exercise.pcapng“ verwenden müssen.

Beantworten sie die folgenden Fragen
1. Welche Datei wird zur Simulation der Screenshots verwendet?

http1.pcapng

2. Welche Datei wird zur Beantwortung der Fragen verwendet?

Exercise.pcapng

Anwendungsfälle (Use Cases)

Wireshark ist eines der leistungsstärksten verfügbaren Tools zur Verkehrsanalyse. Es gibt mehrere Zwecke für seine Verwendung:

Erkennen und Beheben von Netzwerkproblemen, wie z. B. Auslastungspunkte und Überlastung des Netzwerks.
Erkennen von Sicherheitsanomalien wie böswilligen Hosts, abnormaler Portnutzung und verdächtigem Datenverkehr.
Untersuchen und Lernen von Protokolldetails wie Antwortcodes und Nutzdaten.
Hinweis: Wireshark ist kein Intrusion Detection System (IDS). Es ermöglicht Analysten lediglich, die Pakete eingehend zu entdecken und zu untersuchen. Es verändert auch keine Pakete; es liest sie. Daher hängt die Erkennung von Anomalien oder Netzwerkproblemen in hohem Maße vom Wissen und den Untersuchungsfähigkeiten des Analysten ab.

GUI und Daten

Die Wireshark-GUI öffnet sich mit einer einzigen All-in-One-Seite, die Benutzern hilft, den Datenverkehr auf verschiedene Weise zu untersuchen. Auf den ersten Blick fallen fünf Abschnitte auf.

Das folgende Bild zeigt das Hauptfenster von Wireshark. Die in der Tabelle erläuterten Abschnitte sind hervorgehoben. Öffnen Sie nun Wireshark und gehen Sie die Komplettlösung durch.

Laden von PCAP-Dateien

Das obige Bild zeigt die leere Oberfläche von Wireshark. Die einzige verfügbare Information ist die kürzlich verarbeitete Datei „http1.cap“. Laden wir diese Datei und sehen wir uns die detaillierte Paketpräsentation von Wireshark an. Beachten Sie, dass Sie auch das Menü „Datei“ verwenden, die Datei ziehen und ablegen oder auf die Datei doppelklicken können, um ein PCAP zu laden.

Jetzt können wir den verarbeiteten Dateinamen, die detaillierte Anzahl der Pakete und die Paketdetails sehen. Paketdetails werden in drei verschiedenen Bereichen angezeigt, sodass wir sie in verschiedenen Formaten entdecken können.

Farbpakete

Neben schnellen Paketinformationen färbt Wireshark Pakete auch in der Reihenfolge verschiedener Bedingungen und des Protokolls ein, um Anomalien und Protokolle in Erfassungen schnell zu erkennen (dies erklärt, warum in den angegebenen Screenshots fast alles grün ist). Dieser Blick auf die Paketinformationen kann dabei helfen, bei der Analyse genau herauszufinden, wonach Sie suchen. Mithilfe von Anzeigefiltern können Sie benutzerdefinierte Farbregeln erstellen, um interessante Ereignisse zu erkennen. Wir werden sie im nächsten Raum behandeln. Konzentrieren wir uns nun auf die Standardeinstellungen und verstehen wir, wie die dargestellten Datendetails angezeigt und verwendet werden.

Wireshark verfügt über zwei Arten von Paketfärbungsmethoden: temporäre Regeln, die nur während einer Programmsitzung verfügbar sind, und permanente Regeln, die unter der Einstellungsdatei (Profil) gespeichert werden und für die nächste Programmsitzung verfügbar sind. Sie können das „Rechtsklick-Menü“ oder das Menü „Ansicht -> Farbregeln“ verwenden, um dauerhafte Farbregeln zu erstellen. Das Menü „Paketliste einfärben“ aktiviert/deaktiviert die Farbregeln. Die vorübergehende Einfärbung von Paketen erfolgt über das „Rechtsklick-Menü“ oder das Menü „Ansicht -> Konversationsfilter“, das in AUFGABE-5 behandelt wird.

Die standardmäßige permanente Farbgebung ist unten dargestellt.

Verkehrsschnüffeln (Traffic Sniffing)

Sie können die blaue „Haifisch-Taste“ (shark button) verwenden, um das Netzwerk-Sniffen (Erfassen des Datenverkehrs) zu starten, die rote Taste stoppt das Sniffing und die grüne Taste startet den Sniffing-Vorgang neu. Die Statusleiste zeigt außerdem die verwendete Sniffing-Schnittstelle und die Anzahl der gesammelten Pakete an.

PCAP-Dateien zusammenführen (Merge PCAP Files)

Wireshark kann zwei PCAP-Dateien zu einer einzigen Datei zusammenfassen. Sie können den Menüpfad „Datei -> Zusammenführen“ verwenden, um ein PCAP mit dem verarbeiteten zusammenzuführen. Wenn Sie die zweite Datei auswählen, zeigt Wireshark die Gesamtzahl der Pakete in der ausgewählten Datei an. Sobald Sie auf „Öffnen“ klicken, wird die vorhandene PCAP-Datei mit der ausgewählten zusammengeführt und eine neue PCAP-Datei erstellt. Beachten Sie, dass Sie die „zusammengeführte“ PCAP-Datei speichern müssen, bevor Sie daran arbeiten.

Dateidetails anzeigen

Es ist hilfreich, die Dateidetails zu kennen. Insbesondere bei der Arbeit mit mehreren PCAP-Dateien müssen Sie manchmal die Dateidetails (Datei-Hash, Erfassungszeit, Kommentare zur Erfassungsdatei, Schnittstelle und Statistiken) kennen und abrufen, um die Datei zu identifizieren, zu klassifizieren und zu priorisieren. Sie können die Details anzeigen, indem Sie „Statistik -> Eigenschaften der Capture-Datei“ befolgen oder auf das „pcap-Symbol unten links“ im Fenster klicken.

Paketzerlegung (Packet Dissection)

Die Paketzerlegung wird auch als Protokollzerlegung bezeichnet und untersucht Paketdetails durch Dekodierung verfügbarer Protokolle und Felder. Wireshark unterstützt eine lange Liste von Protokollen für die Dissektion, und Sie können auch eigene Dissektionsskripte schreiben. Weitere Details zur Dissektion finden Sie hier.

Hinweis: In diesem Abschnitt wird erläutert, wie Wireshark OSI-Schichten zum Aufschlüsseln von Paketen verwendet und wie diese Schichten für die Analyse verwendet werden. Es wird erwartet, dass Sie bereits über Hintergrundkenntnisse des OSI-Modells und seiner Funktionsweise verfügen.

Paketdetails (Packet Details)

Sie können im Paketlistenbereich auf ein Paket klicken, um dessen Details zu öffnen (ein Doppelklick öffnet die Details in einem neuen Fenster). Pakete bestehen nach dem OSI-Modell aus 5 bis 7 Schichten. Wir werden sie alle in einem HTTP-Paket aus einer Beispielaufnahme durchgehen. Das Bild unten zeigt das Paket Nr. 27.

Jedes Mal, wenn Sie auf ein Detail klicken, wird der entsprechende Teil im Paketbyte-Bereich hervorgehoben.

Wir können sieben verschiedene Schichten des Pakets erkennen: Frame/Paket, Quelle [MAC], Quelle [IP], Protokoll, Protokollfehler, Anwendungsprotokoll und Anwendungsdaten. Im Folgenden gehen wir näher auf die Schichten ein.

Der Frame (Schicht 1)(Layer 1): Hier sehen Sie, welchen Frame/welches Paket Sie betrachten, sowie Details, die für die physikalische Schicht des OSI-Modells spezifisch sind.

Quelle (source) [MAC] (Schicht 2): Hier werden Ihnen die Quell- und Ziel-MAC-Adressen angezeigt. aus der Datenverbindungsschicht des OSI-Modells.

Quelle [IP] (Schicht 3): Hier werden Ihnen die Quell- und Ziel-IPv4-Adressen angezeigt. aus der Netzwerkschicht des OSI-Modells.

Protokoll (Schicht 4): Hier werden Ihnen Details zum verwendeten Protokoll (UDP/TCP) sowie Quell- und Zielports angezeigt. aus der Transportschicht des OSI-Modells.

Protokollfehler: Diese Fortsetzung der 4. Schicht zeigt bestimmte Segmente von TCP, die neu zusammengesetzt werden mussten.

Anwendungsprotokoll (Schicht 5): Hier werden spezifische Details zum verwendeten Protokoll angezeigt, z. B. HTTP, FTP und SMB. Aus der Anwendungsschicht des OSI-Modells.

Anwendungsdaten(Application Data): Diese Erweiterung (extension) der 5. Schicht kann die anwendungsspezifischen Daten anzeigen.

Pakete markieren

Das Markieren von Paketen ist eine weitere hilfreiche Funktion für Analysten. Sie können ein bestimmtes Paket zur weiteren Untersuchung finden/auf dieses verweisen, indem Sie es markieren. Es hilft Analysten, auf ein Ereignis von Interesse hinzuweisen oder bestimmte Pakete aus der Erfassung zu exportieren. Sie können das Menü „Bearbeiten“ oder das „Rechtsklick“-Menü verwenden, um Pakete zu markieren bzw. die Markierung aufzuheben.

Markierte Pakete werden in Schwarz angezeigt, unabhängig von der ursprünglichen Farbe, die den Verbindungstyp darstellt. Beachten Sie, dass die Informationen zu markierten Paketen bei jeder Dateisitzung erneuert werden, sodass markierte Pakete nach dem Schließen der Capture-Datei verloren gehen.

Paketkommentare

Ähnlich wie die Paketmarkierung ist das Kommentieren eine weitere hilfreiche Funktion für Analysten. Sie können Kommentare zu bestimmten Paketen hinzufügen, die die weitere Untersuchung erleichtern oder andere Layer-Analysten an wichtige/verdächtige Punkte erinnern und darauf hinweisen. Im Gegensatz zur Paketmarkierung können die Kommentare in der Erfassungsdatei verbleiben, bis der Bediener sie entfernt.

Pakete exportieren

Capture-Dateien können Tausende von Paketen in einer einzigen Datei enthalten. Wie bereits erwähnt, ist Wireshark kein IDS. Daher ist es manchmal erforderlich, bestimmte Pakete aus der Datei zu trennen und tiefer zu graben, um einen Vorfall zu beheben. Diese Funktionalität hilft Analysten, die einzigen verdächtigen Pakete freizugeben (festgelegter Umfang). Somit werden redundante Informationen nicht in den Analyseprozess einbezogen. Über das Menü „Datei“ können Sie Pakete exportieren.

Objekte (Dateien) exportieren

Wireshark kann über die Leitung übertragene Dateien extrahieren. Für einen Sicherheitsanalysten ist es von entscheidender Bedeutung, freigegebene Dateien zu erkennen und für weitere Untersuchungen zu speichern. Das Exportieren von Objekten ist nur für ausgewählte Protokollströme (DICOM, HTTP, IMF, SMB und TFTP) verfügbar.

Zeitanzeigeformat

Wireshark listet die Pakete auf, sobald sie erfasst werden. Daher ist die Untersuchung des Standardflusses nicht immer die beste Option. Standardmäßig zeigt Wireshark die Zeit in „Sekunden seit Beginn der Aufnahme“ an. Für eine bessere Darstellung wird üblicherweise das UTC-Zeitanzeigeformat verwendet. Über das Menü „Ansicht -> Zeitanzeigeformat“ können Sie das Zeitanzeigeformat ändern.

Experteninfo

Wireshark erkennt auch bestimmte Protokollzustände, um Analysten dabei zu helfen, mögliche Anomalien und Probleme leicht zu erkennen. Beachten Sie, dass es sich hierbei nur um Vorschläge handelt und immer die Möglichkeit besteht, dass es zu falsch positiven/negativen Ergebnissen kommt. Experteninformationen können eine Gruppe von Kategorien in drei verschiedenen Schweregraden bereitstellen. Einzelheiten sind in der folgenden Tabelle aufgeführt.

Über den „unten linken unteren Bereich“ in der Statusleiste oder das Menü „Analysieren –> Experteninformationen“ können Sie alle verfügbaren Informationseinträge über eine Dialogbox einsehen. Es werden die Paketnummer, die Zusammenfassung, das Gruppenprotokoll und das Gesamtaufkommen angezeigt.

Paketfilterung

Wireshark verfügt über eine leistungsstarke Filter-Engine, die Analysten dabei hilft, den Datenverkehr einzugrenzen und sich auf das gewünschte Ereignis zu konzentrieren. Wireshark verfügt über zwei Arten von Filteransätzen: Erfassungs- und Anzeigefilter. Erfassungsfilter werden zum „Erfassen“ nur der Pakete verwendet, die für den verwendeten Filter gültig sind. Anzeigefilter werden zum „Anzeigen“ der für den verwendeten Filter gültigen Pakete verwendet. Im nächsten Raum besprechen wir die Unterschiede und die fortgeschrittene Verwendung dieser Filter. Konzentrieren wir uns nun auf die grundlegende Verwendung der Anzeigefilter, die den Analysten in erster Linie helfen wird.

Filter sind spezifische Abfragen für Protokolle, die in der offiziellen Protokollreferenz von Wireshark verfügbar sind. Während die Filter nur die Option zur Untersuchung des interessierenden Ereignisses darstellen, gibt es zwei verschiedene Möglichkeiten, den Datenverkehr zu filtern und das Rauschen aus der Erfassungsdatei zu entfernen. Der erste verwendet Abfragen und der zweite das Kontextmenü. Wireshark bietet eine leistungsstarke GUI, und für Analysten, die keine Abfragen für grundlegende Aufgaben schreiben möchten, gibt es eine goldene Regel: „Wenn Sie darauf klicken können, können Sie es filtern und kopieren.“

Als Filter anwenden

Dies ist die einfachste Methode zum Filtern des Datenverkehrs. Während Sie eine Capture-Datei untersuchen, können Sie auf das Feld klicken, das Sie filtern möchten, und das „Rechtsklick-Menü“ (right-click menu) oder das Menü „Analysieren -> Als Filter anwenden“ (Analyse –> Apply as Filter)verwenden, um den spezifischen Wert zu filtern. Sobald Sie den Filter anwenden, generiert Wireshark die erforderliche Filterabfrage, wendet sie an, zeigt die Pakete entsprechend Ihrer Auswahl an und blendet die nicht ausgewählten Pakete im Paketlistenbereich aus. Beachten Sie, dass die Anzahl der gesamten und angezeigten Pakete immer in der Statusleiste angezeigt wird.

Konversationsfilter

Wenn Sie die Option „Als Filter anwenden“ verwenden, filtern Sie nur eine einzelne Entität des Pakets. Diese Option ist eine gute Möglichkeit, einen bestimmten Wert in Paketen zu untersuchen. Angenommen, Sie möchten eine bestimmte Paketnummer und alle verknüpften Pakete untersuchen, indem Sie sich auf IP-Adressen und Portnummern konzentrieren. In diesem Fall hilft Ihnen die Option „Konversationsfilter“, nur die zugehörigen Pakete anzuzeigen und den Rest der Pakete einfach auszublenden. Sie können das „Rechtsklick-Menü“ oder das Menü „Analysieren –> Konversationsfilter“ verwenden, um Konversationen zu filtern.

Als Filter vorbereiten (Prepare)

Ähnlich wie „Als Filter anwenden“ hilft diese Option Analysten beim Erstellen von Anzeigefiltern über das „Rechtsklick“-Menü. Allerdings wendet dieses Modell im Gegensatz zum vorherigen Modell die Filter nicht nach der Auswahl an. Es fügt die erforderliche Abfrage zum Bereich hinzu und wartet auf den Ausführungsbefehl (Eingabe) oder eine andere ausgewählte Filteroption, indem es „.. und/oder…“ aus dem „Rechtsklick-Menü“ verwendet.

Als Spalte anwenden (Apply as Column)
Standardmäßig bietet der Paketlistenbereich grundlegende Informationen zu jedem Paket. Sie können das „Rechtsklick-Menü“ oder das Menü „Analysieren -> Als Spalte anwenden“ verwenden, um Spalten zum Paketlistenbereich hinzuzufügen. Sobald Sie auf einen Wert klicken und ihn als Spalte anwenden, wird er im Paketlistenbereich angezeigt. Diese Funktion hilft Analysten, das Erscheinungsbild eines bestimmten Werts/Feldes in den verfügbaren Paketen in der Erfassungsdatei zu untersuchen. Sie können die im Paketlistenbereich angezeigten Spalten aktivieren/deaktivieren, indem Sie oben im Paketlistenbereich auf klicken.

Stream folgen

Wireshark zeigt alles in Paketportionsgröße an. Es ist jedoch möglich, die Streams zu rekonstruieren und den Rohdatenverkehr anzuzeigen, wie er auf Anwendungsebene dargestellt wird. Dem Protokoll folgend, helfen Streams Analysten, die Daten auf Anwendungsebene neu zu erstellen und das interessierende Ereignis zu verstehen. Es ist auch möglich, die unverschlüsselten Protokolldaten wie Benutzernamen, Passwörter und andere übertragene Daten einzusehen.

Sie können das „Rechtsklick-Menü“ oder das Menü „Analysieren –> TCP/UDP/HTTP-Stream verfolgen“ verwenden, um Verkehrsströme zu verfolgen. Streams werden in einem separaten Dialogfeld angezeigt. Pakete, die vom Server stammen, werden blau hervorgehoben, Pakete, die vom Client stammen, werden rot hervorgehoben.

Quote of the week

“Imagination is more important than knowledge.  For knowledge is limited, whereas imagination embraces the entire world, stimulating progress, giving birth to evolution.”

Albert Einstein