Transformieren Sie Ihren Wireshark-Workflow mit Brim unter Linux

Wireshark ist der De-facto-Standard für die Analyse des Netzwerkverkehrs. Leider wird es mit zunehmender Paketerfassung zunehmend verzögert. Rand löst dieses Problem so gut, dass es Ihren Wireshark-Workflow verändern wird.

Wireshark ist großartig, aber . . .

Wireshark ist ein wunderbares Stück Open-Source-Software. Es wird weltweit von Amateuren und Profis verwendet, um Netzwerkprobleme zu untersuchen. Es erfasst die Datenpakete, die über die Leitungen oder durch den Äther Ihres Netzwerks übertragen werden. Sobald Sie Ihren Datenverkehr erfasst haben, können Sie mit Wireshark die Daten filtern und durchsuchen, Gespräche zwischen Netzwerkgeräten verfolgen und vieles mehr.

So großartig Wireshark auch ist, es gibt ein Problem. Netzwerkdatenerfassungsdateien (sogenannte Netzwerkablaufverfolgungen oder Paketerfassungen) können sehr schnell sehr groß werden. Dies gilt insbesondere, wenn das Problem, das Sie untersuchen möchten, komplex oder sporadisch ist oder das Netzwerk groß und ausgelastet ist.

Je größer die Paketerfassung (oder PCAP), desto verzögerter wird Wireshark. Allein das Öffnen und Laden einer sehr großen Ablaufverfolgung (alles über 1 GB) kann so lange dauern, dass man meinen könnte, Wireshark wäre umgekippt und hätte den Geist aufgegeben.

Das Arbeiten mit Dateien dieser Größe ist ein echtes Problem. Jedes Mal, wenn Sie eine Suche durchführen oder einen Filter ändern, müssen Sie warten, bis die Effekte auf die Daten angewendet und auf dem Bildschirm aktualisiert werden. Jede Verzögerung stört Ihre Konzentration, was Ihren Fortschritt behindern kann.

Rand ist das Heilmittel für diese Leiden. Es fungiert als interaktiver Präprozessor und Frontend für Wireshark. Wenn Sie die granulare Ebene sehen möchten, die Wireshark bereitstellen kann, öffnet Brim sie sofort genau für diese Pakete für Sie.

Wenn Sie viel Netzwerkerfassung und Paketanalyse durchführen, wird Brim Ihren Arbeitsablauf revolutionieren.

Brim installieren

Brim ist sehr neu, hat es also noch nicht in die Software-Repositories der Linux-Distributionen geschafft. Allerdings auf der Brim-Download-Seite, finden Sie DEB- und RPM-Paketdateien, sodass die Installation unter Ubuntu oder Fedora einfach genug ist.

Wenn Sie eine andere Distribution verwenden, können Sie dies tun Laden Sie den Quellcode herunter von GitHub herunterladen und die Anwendung selbst erstellen.

Brim verwendet zq, ein Befehlszeilentool für Zeek logs, daher müssen Sie auch eine ZIP-Datei herunterladen, die die zq-Binärdateien enthält.

Brim unter Ubuntu installieren

Wenn Sie Ubuntu verwenden, müssen Sie die DEB-Paketdatei und die zq Linux-ZIP-Datei herunterladen. Doppelklicken Sie auf die heruntergeladene DEB-Paketdatei, und die Ubuntu-Softwareanwendung wird geöffnet. Die Brim-Lizenz wird fälschlicherweise als „Proprietär“ aufgeführt – sie verwendet die BSD 3-Klausel-Lizenz.

Klicken Sie auf „Installieren“.

Klicken

Doppelklicken Sie nach Abschluss der Installation auf die zq-ZIP-Datei, um die Archive Manager-Anwendung zu starten. Die ZIP-Datei enthält ein einziges Verzeichnis; Ziehen Sie es per Drag-and-Drop aus dem „Archiv-Manager“ an einen Ort auf Ihrem Computer, z. B. in das Verzeichnis „Downloads“.

  So benennen Sie Mediendateien unter Linux mit FileBot automatisch um

Wir geben Folgendes ein, um einen Speicherort für die zq-Binärdateien zu erstellen:

sudo mkdir /opt/zeek

Wir müssen die Binärdateien aus dem extrahierten Verzeichnis an den gerade erstellten Ort kopieren. Ersetzen Sie den Pfad und Namen des extrahierten Verzeichnisses auf Ihrem Computer im folgenden Befehl:

sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/Zeek

Wir müssen diesen Speicherort zum Pfad hinzufügen, also bearbeiten wir die BASHRC-Datei:

sudo gedit .bashrc

Der Gedit-Editor wird geöffnet. Scrollen Sie zum Ende der Datei und geben Sie dann diese Zeile ein:

export PATH=$PATH:/opt/zeek

Speichern Sie Ihre Änderungen und schließen Sie den Editor.

Brim auf Fedora installieren

Um Brim auf Fedora zu installieren, laden Sie die RPM-Paketdatei herunter (anstelle von DEB) und befolgen Sie dann die gleichen Schritte, die wir oben für die Ubuntu-Installation beschrieben haben.

Interessanterweise wird die RPM-Datei, wenn sie in Fedora geöffnet wird, korrekt als eine Open-Source-Lizenz und nicht als eine proprietäre identifiziert.

Brim starten

Klicken Sie im Dock auf „Anwendungen anzeigen“ oder drücken Sie Super+A. Geben Sie „brim“ in das Suchfeld ein und klicken Sie dann auf „brim“, wenn es angezeigt wird.

Typ

Brim startet und zeigt sein Hauptfenster an. Sie können auf „Dateien auswählen“ klicken, um einen Dateibrowser zu öffnen, oder eine PCAP-Datei per Drag-and-Drop in den von dem roten Rechteck umgebenen Bereich ziehen.

Brim verwendet eine Anzeige mit Registerkarten, und Sie können mehrere Registerkarten gleichzeitig geöffnet haben. Um eine neue Registerkarte zu öffnen, klicken Sie oben auf das Pluszeichen (+) und wählen Sie dann ein anderes PCAP aus.

Brim-Grundlagen

Brim lädt und indiziert die ausgewählte Datei. Der Index ist einer der Gründe, warum Brim so schnell ist. Das Hauptfenster enthält ein Histogramm der Paketvolumina im Zeitverlauf und eine Liste der Netzwerk-„Flüsse“.

Eine PCAP-Datei enthält einen zeitlich geordneten Strom von Netzwerkpaketen für sehr viele Netzwerkverbindungen. Die Datenpakete für die verschiedenen Verbindungen werden vermischt, weil einige von ihnen gleichzeitig geöffnet worden sein werden. Die Pakete für jede Netzwerk-„Konversation“ werden mit den Paketen anderer Konversationen vermischt.

Wireshark zeigt den Netzwerk-Stream Paket für Paket an, während Brim ein Konzept namens „Flows“ verwendet. Ein Datenfluss ist ein vollständiger Netzwerkaustausch (oder eine Konversation) zwischen zwei Geräten. Jeder Flow-Typ ist kategorisiert, farbcodiert und nach Flow-Typ gekennzeichnet. Sie sehen Flows mit den Bezeichnungen „dns“, „ssh“, „https“, „ssl“ und viele mehr.

Wenn Sie die Flow-Zusammenfassungsanzeige nach links oder rechts scrollen, werden viel mehr Spalten angezeigt. Sie können auch den Zeitraum anpassen, um die Teilmenge der Informationen anzuzeigen, die Sie sehen möchten. Im Folgenden finden Sie einige Möglichkeiten, wie Sie Daten anzeigen können:

  So können Sie über die Linux-Befehlszeile in Binärdateien einsehen

Klicken Sie auf einen Balken im Histogramm, um die darin enthaltene Netzwerkaktivität zu vergrößern.
Klicken und ziehen Sie, um einen Bereich der Histogrammanzeige hervorzuheben und hineinzuzoomen. Brim zeigt dann die Daten aus dem hervorgehobenen Abschnitt an.
In den Feldern „Datum“ und „Uhrzeit“ können Sie auch genaue Zeiträume angeben.

Brim kann zwei Seitenbereiche anzeigen: einen links und einen rechts. Diese können ausgeblendet werden oder sichtbar bleiben. Der Bereich auf der linken Seite zeigt einen Suchverlauf und eine Liste offener PCAPs, sogenannte Spaces. Drücken Sie Strg+[ to toggle the left pane on or off.

The

The pane on the right contains detailed information about the highlighted flow. Press Ctrl+] , um den rechten Bereich ein- oder auszuschalten.

Ein hervorgehoben

Klicken Sie in der Liste „UID-Korrelation“ auf „Conn“, um ein Verbindungsdiagramm für den markierten Flow zu öffnen.

Klicken

Im Hauptfenster können Sie auch einen Flow markieren und dann auf das Wireshark-Symbol klicken. Dadurch wird Wireshark mit den angezeigten Paketen für den hervorgehobenen Flow gestartet.

Wireshark wird geöffnet und zeigt die interessanten Pakete an.

Filterung im Rand

Das Suchen und Filtern in Brim ist flexibel und umfassend, aber Sie müssen keine neue Filtersprache lernen, wenn Sie nicht möchten. Sie können in Brim einen syntaktisch korrekten Filter erstellen, indem Sie auf Felder im Zusammenfassungsfenster klicken und dann Optionen aus einem Menü auswählen.

In der Abbildung unten haben wir beispielsweise mit der rechten Maustaste auf ein „dns“-Feld geklickt. Wir werden dann „Filter = Wert“ aus dem Kontextmenü auswählen.

Dann passieren folgende Dinge:

Der Suchleiste wird der Text _path = „dns“ hinzugefügt.
Dieser Filter wird auf die PCAP-Datei angewendet, sodass nur DNS-Flüsse (Domain Name Service) angezeigt werden.
Der Filtertext wird auch dem Suchverlauf im linken Bereich hinzugefügt.

Mit der gleichen Technik können wir dem Suchbegriff weitere Klauseln hinzufügen. Wir klicken mit der rechten Maustaste auf das IP-Adressfeld (mit „192.168.1.26“) in der Spalte „Id.orig_h“ und wählen dann „Filter = Value“ aus dem Kontextmenü.

Dadurch wird die zusätzliche Klausel als UND-Klausel hinzugefügt. Die Anzeige wird jetzt gefiltert, um DNS-Flüsse anzuzeigen, die von dieser IP-Adresse (192.168.1.26) stammen.

Der neue Filterbegriff wird dem Suchverlauf im linken Bereich hinzugefügt. Sie können zwischen Suchen wechseln, indem Sie auf die Elemente in der Suchverlaufsliste klicken.

Die Ziel-IP-Adresse für die meisten unserer gefilterten Daten ist 81.139.56.100. Um zu sehen, welche DNS-Flows an verschiedene IP-Adressen gesendet wurden, klicken wir mit der rechten Maustaste auf „81.139.56.100“ in der Spalte „Id_resp_h“ und wählen dann im Kontextmenü „Filter != Value“.

Zusammenfassungsbildschirm mit einem Suchfilter, der eine enthält

Nur ein DNS-Fluss, der von 192.168.1.26 stammte, wurde nicht an 81.139.56.100 gesendet, und wir haben ihn gefunden, ohne etwas eingeben zu müssen, um unseren Filter zu erstellen.

  So beheben Sie Probleme mit der Corsair-Maus und -Tastatur unter macOS und Linux

Pinning-Filterklauseln

Wenn wir mit der rechten Maustaste auf einen „HTTP“-Flow klicken und „Filter = Value“ aus dem Kontextmenü auswählen, zeigt das Zusammenfassungsfenster nur HTTP-Flows an. Wir können dann auf das Pin-Symbol neben der HTTP-Filterklausel klicken.

Die HTTP-Klausel ist jetzt fixiert und alle anderen Filter oder Suchbegriffe, die wir verwenden, werden mit der vorangestellten HTTP-Klausel ausgeführt.

Wenn wir „GET“ in die Suchleiste eingeben, wird die Suche auf Flüsse beschränkt, die bereits durch die gepinnte Klausel gefiltert wurden. Sie können beliebig viele Filterklauseln anheften.

Um nach POST-Paketen in den HTTP-Flows zu suchen, löschen wir einfach die Suchleiste, geben „POST“ ein und drücken dann die Eingabetaste.

Durch seitliches Scrollen wird die ID des Remote-Hosts angezeigt.

Die Fernbedienung

Alle Such- und Filterbegriffe werden der Liste „Verlauf“ hinzugefügt. Um einen Filter erneut anzuwenden, klicken Sie einfach darauf.

Die automatisch ausgefüllte

Sie können auch anhand des Namens nach einem Remote-Host suchen.

Auf der Suche nach

Suchbegriffe bearbeiten

Wenn Sie nach etwas suchen möchten, aber keinen Flow dieses Typs sehen, können Sie auf einen beliebigen Flow klicken und den Eintrag in der Suchleiste bearbeiten.

Zum Beispiel wissen wir, dass es mindestens einen SSH-Fluss in der PCAP-Datei geben muss, weil wir verwendet haben rsync um einige Dateien an einen anderen Computer zu senden, aber wir können es nicht sehen.

Wir klicken also mit der rechten Maustaste auf einen anderen Flow, wählen „Filter = Value“ aus dem Kontextmenü und bearbeiten dann die Suchleiste so, dass „ssh“ statt „dns“ angezeigt wird.

Wir drücken die Eingabetaste, um nach SSH-Flows zu suchen und stellen fest, dass es nur einen gibt.

Durch Drücken von Strg+]wird der rechte Bereich geöffnet, in dem die Details für diesen Flow angezeigt werden. Wenn eine Datei während eines Flows übertragen wurde, wird die MD5, SHA1, und SHA256 Hashes erscheinen.

Klicken Sie mit der rechten Maustaste auf eines davon und wählen Sie dann „VirusTotal Lookup“ aus dem Kontextmenü, um Ihren Browser zu öffnen VirusTotal Website und übergeben Sie den Hash zur Überprüfung.

VirusTotal speichert die Hashes bekannter Malware und anderer schädlicher Dateien. Wenn Sie sich nicht sicher sind, ob eine Datei sicher ist, können Sie dies ganz einfach überprüfen, auch wenn Sie keinen Zugriff mehr auf die Datei haben.

Wenn die Datei gutartig ist, sehen Sie den im Bild unten gezeigten Bildschirm.

EIN

Die perfekte Ergänzung zu Wireshark

Brim macht die Arbeit mit Wireshark noch schneller und einfacher, indem es Ihnen ermöglicht, mit sehr großen Paketerfassungsdateien zu arbeiten. Probieren Sie es noch heute aus!