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

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

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

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

De gedit-editor wordt geopend. Scroll naar de onderkant van het bestand en typ deze 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.

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.

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.

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 pane on the right contains detailed information about the highlighted flow. Press Ctrl+] om het rechterdeelvenster in of uit te schakelen.

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

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.

Wireshark wordt geopend en toont de pakketten van belang.

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.

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.

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

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.

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.

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.

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

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

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

U kunt ook op naam naar een externe host zoeken.

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.

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.

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

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!