Transformeer uw Wireshark-workflow met Brim op Linux

Kleurrijke Ethernet-kabels.
pixelnest / Shutterstock

Wireshark is de de facto standaard voor het analyseren van netwerkverkeer. Helaas wordt het steeds trager naarmate het vastleggen van pakketten toeneemt. Brim lost dit probleem zo goed op dat het uw Wireshark-workflow zal veranderen.

Wireshark is geweldig, maar. . .

Wireshark is een prachtig stukje open-source software. Het wordt wereldwijd door amateurs en professionals gebruikt om netwerkproblemen te onderzoeken. Het vangt de datapakketten op die langs de draden of door de ether van uw netwerk reizen. Zodra u uw verkeer heeft vastgelegd, kunt u met Wireshark de gegevens filteren en doorzoeken, gesprekken tussen netwerkapparaten traceren en nog veel meer.

Hoe geweldig Wireshark ook is, het heeft één probleem. Bestanden voor het vastleggen van netwerkgegevens (netwerktraces of pakketopnames genoemd) kunnen zeer snel erg groot worden. Dit is vooral het geval als het probleem dat u probeert te onderzoeken complex of sporadisch is, of als het netwerk groot en druk is.

Hoe groter de pakketopname (of PCAP), hoe laggy Wireshark wordt. Alleen al het openen en laden van een heel groot (alles dan 1 GB) spoor kan zo lang duren, dat je zou denken dat Wireshark was omgevallen en de geest had opgegeven.

Werken met bestanden van die grootte is echt lastig. Elke keer dat u een zoekopdracht uitvoert of een filter wijzigt, moet u wachten tot de effecten op de gegevens zijn toegepast en op het scherm zijn bijgewerkt. Elke vertraging verstoort je concentratie, wat je voortgang kan belemmeren.

Brim is de remedie voor deze ellende. Het fungeert als een interactieve preprocessor en front-end voor Wireshark. Als u het gedetailleerde niveau wilt zien dat Wireshark kan bieden, opent Brim het onmiddellijk voor u, precies op die pakketten.

Als u veel netwerkopname en pakketanalyse uitvoert, zal Brim uw workflow radicaal veranderen.

VERWANT: Hoe Wireshark-filters op Linux te gebruiken

Brim installeren

Brim is erg nieuw, dus het heeft nog niet zijn weg gevonden naar de softwarebronnen van de Linux-distributies. Op de Brim-downloadpagina vindt u echter DEB- en RPM-pakketbestanden, dus het installeren op Ubuntu of Fedora is eenvoudig genoeg.

Als je een andere distributie gebruikt, kun je de broncode downloaden van GitHub en de applicatie zelf bouwen.

Brim gebruikt zq, een opdrachtregelprogramma voor Zeek-logboeken, dus u moet ook een ZIP-bestand downloaden met de zq binaries.

Brim installeren op Ubuntu

Als u Ubuntu gebruikt, moet u het DEB-pakketbestand en zq Linux ZIP-bestand. Dubbelklik op het gedownloade DEB-pakketbestand en de Ubuntu-softwaretoepassing wordt geopend. De Brim-licentie wordt ten onrechte vermeld als “Proprietary” – deze maakt gebruik van de 3-Clause BSD-licentie.

Klik op ‘Installeren’.

Klik op "Installeren".

Als de installatie is voltooid, dubbelklikt u op het zq ZIP-bestand om de applicatie Archiefbeheer te starten. Het ZIP-bestand bevat een enkele map; slepen en neerzetten van de “Archiefbeheerder” naar een locatie op uw computer, zoals de map “Downloads”.

We typen het volgende om een ​​locatie voor het zq binaire bestanden:

sudo mkdir /opt/zeek

sudo mkdir / opt / zeek in een terminalvenster.

We moeten de binaire bestanden van de uitgepakte map kopiëren naar de locatie die we zojuist hebben gemaakt. Vervang het pad en de naam van de uitgepakte map op uw computer met de volgende opdracht:

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

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

We moeten die locatie aan het pad toevoegen, dus we zullen het BASHRC-bestand bewerken:

sudo gedit .bashrc

sudo gedit .bashrc in een terminalvenster.

De gedit-editor wordt geopend. Scroll naar de onderkant van het bestand en typ deze regel:

export PATH=$PATH:/opt/zeek

Het BASHRC-bestand in de gedit-editor met de regel export PATH = $ PATH: / opt / zeek.

Sla uw wijzigingen op en sluit de editor.

Brim installeren op Fedora

Om Brim op Fedora te installeren, download je het RPM-pakketbestand (in plaats van de DEB) en volg je dezelfde stappen die we hebben behandeld voor de Ubuntu-installatie hierboven.

Interessant is dat wanneer het RPM-bestand wordt geopend in Fedora, het correct wordt geïdentificeerd als een open-source-licentie in plaats van een eigen licentie.

Brim lanceren

Klik op “Show Applications” in het dock of druk op Super + A. Typ “brim” in het zoekvak en klik vervolgens op “Brim” wanneer het verschijnt.

Typ "rand" in het zoekvak.

Brim wordt gestart en geeft het hoofdvenster weer. U kunt op “Kies bestanden” klikken om een ​​bestandsbrowser te openen, of u kunt een PCAP-bestand slepen en neerzetten in het gebied dat wordt omgeven door de rode rechthoek.

Het Brim-hoofdvenster na het opstarten.

Brim gebruikt een weergave met tabbladen en u kunt meerdere tabbladen tegelijk openen. Om een ​​nieuw tabblad te openen, klikt u bovenaan op het plusteken (+) en selecteert u vervolgens een ander PCAP.

Brim Basics

Brim laadt en indexeert het geselecteerde bestand. De index is een van de redenen waarom Brim zo snel is. Het hoofdvenster bevat een histogram van pakketvolumes in de loop van de tijd en een lijst met netwerkstromen.

Het Brim-hoofdvenster met een PCAP-bestand geladen.

Een PCAP-bestand bevat een op tijd geordende stroom netwerkpakketten voor een groot aantal netwerkverbindingen. De datapakketten voor de verschillende verbindingen lopen door elkaar omdat sommige gelijktijdig geopend zullen zijn. De pakketten voor elk netwerk “gesprek” worden afgewisseld met de pakketten van andere gesprekken.

Wireshark geeft de netwerkstroom pakket voor pakket weer, terwijl Brim een ​​concept gebruikt dat ‘stromen’ wordt genoemd. Een stroom is een complete netwerkuitwisseling (of conversatie) tussen twee apparaten. Elk stroomtype is gecategoriseerd, kleurgecodeerd en gelabeld per stroomtype. U ziet stromen met het label “dns”, “ssh”, “https”, “ssl” en nog veel meer.

Als u de weergave van het stroomoverzicht naar links of rechts schuift, worden veel meer kolommen weergegeven. U kunt ook de tijdsperiode aanpassen om de subset van informatie weer te geven die u wilt zien. Hieronder vindt u een aantal manieren waarop u gegevens kunt bekijken:

  • Klik op een balk in het histogram om in te zoomen op de netwerkactiviteit erin.
  • Klik en sleep om een ​​bereik van de histogramweergave te markeren en zoom in. Brim toont dan de gegevens van de gemarkeerde sectie.
  • U kunt ook exacte perioden opgeven in de velden “Datum” en “Tijd”.

Brim kan twee zijruiten weergeven: één aan de linkerkant en één aan de rechterkant. Deze kunnen worden verborgen of blijven zichtbaar. Het paneel aan de linkerkant toont een zoekgeschiedenis en een lijst met open PCAP’s, spaties genaamd. Druk op Ctrl +[ to toggle the left pane on or off.

The "Spaces" pane in Brim.

The pane on the right contains detailed information about the highlighted flow. Press Ctrl+] om het rechterdeelvenster in of uit te schakelen.

Een gemarkeerd "Velden" -venster op Brim.

Klik op “Conn” in de lijst “UID Correlation” om een ​​verbindingsdiagram voor de gemarkeerde stroom te openen.

Klik op "Conn."

In het hoofdvenster kunt u ook een stroom markeren en vervolgens op het Wireshark-pictogram klikken. Hierdoor wordt Wireshark gestart met de weergegeven pakketten voor de gemarkeerde stroom.

Klik op het Wireshark-pictogram in het hoofdvenster van Brim.

Wireshark wordt geopend en toont de pakketten van belang.

Pakketten geselecteerd uit Brim weergegeven in Wireshark.

Filteren in Brim

Zoeken en filteren in Brim zijn flexibel en uitgebreid, maar je hoeft geen nieuwe filtertaal te leren als je dat niet wilt. U kunt een syntactisch correct filter in Brim bouwen door op velden in het overzichtsvenster te klikken en vervolgens opties in een menu te selecteren.

In de onderstaande afbeelding hebben we bijvoorbeeld met de rechtermuisknop op een “dns” -veld geklikt. We gaan dan “Filter = Waarde” selecteren in het contextmenu.

Een contextmenu in het overzichtsvenster.

De volgende dingen gebeuren dan:

  • De tekst _path = "dns" wordt toegevoegd aan de zoekbalk.
  • Dat filter wordt toegepast op het PCAP-bestand, dus het geeft alleen stromen weer die DNS-stromen (Domain Name Service) zijn.
  • De filtertekst wordt ook toegevoegd aan de zoekgeschiedenis in het linkerdeelvenster.

Een overzichtsscherm gefilterd door DNS.

Met dezelfde techniek kunnen we nog meer clausules aan de zoekterm toevoegen. We klikken met de rechtermuisknop op het IP-adresveld (dat “192.168.1.26” bevat) in de kolom “Id.orig_h” en selecteren vervolgens “Filter = Waarde” in het contextmenu.

Dit voegt de aanvullende clausule toe als een EN-clausule. Het scherm is nu gefilterd om DNS-stromen weer te geven die afkomstig zijn van dat IP-adres (192.168.1.26).

Een overzichtsscherm gefilterd op stroomtype en IP-adres.

De nieuwe filterterm wordt toegevoegd aan de zoekgeschiedenis in het linkerdeelvenster. U kunt tussen zoekopdrachten schakelen door op de items in de zoekgeschiedenislijst te klikken.

Het bestemmings-IP-adres voor de meeste van onze gefilterde gegevens is 81.139.56.100. Om te zien welke DNS-stromen naar verschillende IP-adressen zijn verzonden, klikken we met de rechtermuisknop op “81.139.56.100” in de kolom “Id_resp_h” en selecteren vervolgens “Filter! = Waarde” in het contextmenu.

Overzichtsscherm met een zoekfilter dat een "! =" -Clausule bevat.

Slechts één DNS-stroom die afkomstig was van 192.168.1.26, werd niet verzonden naar 81.139.56.100 en we hebben deze gelokaliseerd zonder iets te hoeven typen om ons filter te maken.

Filterclausules vastzetten

Als we met de rechtermuisknop op een “HTTP” -stroom klikken en “Filter = Waarde” selecteren in het contextmenu, zal het samenvattingsvenster alleen HTTP-stromen weergeven. We kunnen dan op het Pin-pictogram naast de HTTP-filterclausule klikken.

Klik op het pictogram Pin.

De HTTP-clausule is nu vastgezet en alle andere filters of zoektermen die we gebruiken, worden uitgevoerd met de HTTP-clausule eraan voorafgegaan.

Als we “GET” typen in de zoekbalk, wordt de zoekopdracht beperkt tot stromen die al zijn gefilterd door de vastgezette clausule. U kunt zoveel filterclausules vastzetten als nodig is.

"GET" in het zoekvak.

Om te zoeken naar POST-pakketten in de HTTP-stromen, wissen we eenvoudig de zoekbalk, typen “POST” en drukken vervolgens op Enter.

"POST" in het zoekvak uitgevoerd met de vastgezette "HTTP" -clausule.

Als u zijwaarts scrolt, wordt de ID van de externe host weergegeven.

De externe "Host" -kolom in het Brim-overzichtsscherm.

Alle zoek- en filtertermen worden toegevoegd aan de lijst “Geschiedenis”. Om een ​​filter opnieuw toe te passen, klikt u erop.

De automatisch ingevulde "Geschiedenis" -lijst.

U kunt ook op naam naar een externe host zoeken.

Zoeken naar "trustwave.com" in Brim.

Zoektermen bewerken

Als u iets wilt zoeken, maar geen stroom van dat type ziet, kunt u op een willekeurige stroom klikken en het item in de zoekbalk bewerken.

We weten bijvoorbeeld dat er ten minste één SSH-stroom in het PCAP-bestand moet zijn omdat we rsync om bestanden naar een andere computer te sturen, maar we kunnen het niet zien.

We klikken dus met de rechtermuisknop op een andere stroom, selecteren ‘Filter = Waarde’ in het contextmenu en bewerken vervolgens de zoekbalk om ‘ssh’ te zeggen in plaats van ‘dns’.

We drukken op Enter om te zoeken naar SSH-stromen en ontdekken dat er maar één is.

Een SSH-stroom in het overzichtsvenster.

Als u op Ctrl +]drukt, wordt het rechterdeelvenster geopend, waarin de details voor deze stroom worden weergegeven. Als een bestand is overgedragen tijdens een stroom, verschijnen de MD5-, SHA1- en SHA256-hashes.

Klik met de rechtermuisknop op een van deze items en selecteer vervolgens “VirusTotal Lookup” in het contextmenu om uw browser op de VirusTotal-website te openen en de hash door te geven ter controle.

VirusTotal slaat de hashes op van bekende malware en andere kwaadaardige bestanden. Als u niet zeker weet of een bestand veilig is, is dit een gemakkelijke manier om dit te controleren, zelfs als u geen toegang meer heeft tot het bestand.

De hash-contextmenu-opties.

Als het bestand goedaardig is, ziet u het scherm dat in de onderstaande afbeelding wordt weergegeven.

Een antwoord "Geen overeenkomsten gevonden" van de VirusTotal-site.

De perfecte aanvulling op Wireshark

Brim maakt het werken met Wireshark nog sneller en gemakkelijker doordat u met zeer grote pakketopnamebestanden kunt werken. Probeer het vandaag nog uit!

Nieuwste artikelen

Gerelateerde artikelen