Transformieren Sie Ihren Wireshark-Workflow mit Brim unter Linux

Veröffentlicht: 2022-01-29
Bunte Ethernet-Kabel.
Pixelnest/Shutterstock

Wireshark ist der De-facto-Standard für die Analyse des Netzwerkverkehrs. Leider wird es mit zunehmender Paketerfassung zunehmend verzögert. Brim 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.

Anzeige

Brim 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.

VERWANDT: So verwenden Sie Wireshark-Filter unter Linux

Brim installieren

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

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

Brim verwendet zq , ein Befehlszeilentool für Zeek-Protokolle, 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 „Proprietary“ aufgeführt – sie verwendet die BSD 3-Clause-Lizenz.

Klicken Sie auf „Installieren“.

Klicken Sie auf „Installieren“.

Anzeige

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“.

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 

Die BASHRC-Datei im Gedit-Editor mit der Zeile 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.

Anzeige

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.

Geben Sie „brim“ in das Suchfeld ein.

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.

Das Hauptfenster von Brim nach dem Start.

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“.

Das Brim-Hauptfenster mit einer geladenen PCAP-Datei.

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.

Anzeige

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:

  • 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+[, um den linken Bereich ein- oder auszuschalten.

Der Bereich „Leerzeichen“ in Brim.

Der Bereich auf der rechten Seite enthält detaillierte Informationen zum markierten Flow. Drücken Sie Strg+], um den rechten Bereich ein- oder auszuschalten.

Ein hervorgehobener Bereich „Felder“ auf Brim.

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

Klicken Sie auf „Verbinden“.

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.

Von Brim ausgewählte Pakete werden in Wireshark angezeigt.

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.

Anzeige

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.

Ein Kontextmenü im Übersichtsfenster.

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.

Ein nach DNS gefilterter Zusammenfassungsbildschirm.

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.

Ein Zusammenfassungsbildschirm, der nach Flusstyp und IP-Adresse gefiltert ist.

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 "!="-Klausel enthält.

Anzeige

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.

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.

"GET" in das Suchfeld.

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.

„POST“ im Suchfeld, ausgeführt mit der angehefteten „HTTP“-Klausel.

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

Die Remote-Spalte „Host“ im Zusammenfassungsbildschirm von Brim.

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

Die automatisch ausgefüllte "Verlaufs"-Liste.

Anzeige

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

Suche nach „trustwave.com“ in Brim.

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 rsync verwendet haben, 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.

Ein SSH-Fluss im Zusammenfassungsfenster.

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 Flusses übertragen wurde, werden die MD5-, SHA1- und SHA256-Hashes angezeigt.

Anzeige

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

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.

Die Hash-Kontextmenüoptionen.

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

Eine „Keine Übereinstimmungen gefunden“-Antwort von der VirusTotal-Website.

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!