Wireshark este instrumentul principal folosit pentru analiza traficului de rețea. Totuși, performanța sa poate încetini considerabil odată ce dimensiunea capturii de pachete crește. Brim abordează această problemă într-un mod atât de eficient, încât îți va transforma modul de lucru cu Wireshark.
Wireshark este excelent, dar…
Wireshark este un software open-source remarcabil. Este utilizat de pasionați și profesioniști din întreaga lume pentru a investiga problemele de rețea. Acesta capturează pachetele de date care circulă prin cabluri sau prin unde radio în rețeaua ta. După ce ai capturat traficul, Wireshark îți permite să filtrezi și să cauți prin date, să urmărești conversațiile dintre dispozitivele din rețea și multe altele.
Deși Wireshark este un instrument foarte puternic, el are și o limitare. Fișierele care conțin capturi de date de rețea (cunoscute și ca urme de rețea sau capturi de pachete) pot deveni foarte mari într-un timp scurt. Acest lucru se întâmplă mai ales dacă problema pe care încerci să o investighezi este complexă sau apare sporadic sau dacă rețeaua ta este mare și are un trafic intens.
Cu cât o captură de pachete (sau PCAP) este mai mare, cu atât Wireshark devine mai lent. Chiar și simpla deschidere și încărcare a unei urme foarte mari (de exemplu, peste 1 GB) poate dura atât de mult, încât ai putea crede că Wireshark s-a blocat sau a încetat să mai funcționeze.
Munca cu fișiere de această dimensiune este o adevărată provocare. De fiecare dată când efectuezi o căutare sau modifici un filtru, trebuie să aștepți ca modificările să fie aplicate datelor și afișate pe ecran. Fiecare astfel de întârziere îți poate afecta concentrarea și, implicit, progresul.
Brim vine ca o soluție la aceste dificultăți. Acesta funcționează ca un preprocesor interactiv și un frontend pentru Wireshark. Când dorești să vezi nivelul granular pe care îl oferă Wireshark, Brim îl deschide instantaneu, focalizat exact pe acele pachete specifice.
Dacă realizezi frecvent capturi de rețea și analize de pachete, Brim îți va revoluționa modul de lucru.
Instalarea Brim
Brim este un instrument relativ nou și încă nu a fost inclus în depozitele de software ale distribuțiilor Linux. Cu toate acestea, pe pagina de descărcare Brim, vei găsi fișiere pachet DEB și RPM, deci instalarea pe Ubuntu sau Fedora este destul de simplă.
Dacă utilizezi o altă distribuție, poți descărca codul sursă de pe GitHub și să compilezi singur aplicația.
Brim folosește zq, un instrument în linie de comandă pentru jurnalele Zeek, deci va trebui să descarci și un fișier ZIP care conține binarele zq.
Instalarea Brim pe Ubuntu
Dacă utilizezi Ubuntu, va trebui să descarci fișierul pachetului DEB și fișierul ZIP zq pentru Linux. Fă dublu clic pe fișierul pachetului DEB descărcat și se va deschide aplicația Ubuntu Software. Licența Brim este greșit specificată ca fiind „proprietară” – de fapt, aceasta este o licență BSD cu 3 clauze.
Apasă butonul „Instalare”.
După ce instalarea este finalizată, fă dublu clic pe fișierul ZIP zq pentru a lansa aplicația Archive Manager. Fișierul ZIP va conține un singur director; trage și plasează-l din „Manager de arhive” într-o locație de pe computerul tău, de exemplu, directorul „Descărcări”.
Introdu următorul cod pentru a crea o locație pentru binarele zq:
sudo mkdir /opt/zeek

Acum trebuie să copiem binarele din directorul extras în locația pe care tocmai am creat-o. Înlocuiește calea și numele directorului extras de pe calculatorul tău în următoarea comandă:
sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/Zeek

Trebuie să adăugăm această locație în variabila PATH. Așadar, vom edita fișierul BASHRC:
sudo gedit .bashrc

Se va deschide editorul gedit. Derulează până la capătul fișierului, apoi adaugă această linie:
export PATH=$PATH:/opt/zeek

Salvează modificările și închide editorul.
Instalarea Brim pe Fedora
Pentru a instala Brim pe Fedora, descarcă fișierul pachetului RPM (în loc de DEB), apoi urmează aceiași pași descriși mai sus pentru instalarea pe Ubuntu.
Interesant este că, atunci când fișierul RPM este deschis în Fedora, acesta este identificat corect ca având o licență open-source, nu una proprietară.
Lansarea Brim
Apasă pe „Afișare aplicații” în dock sau apasă Super+A. Tastează „brim” în caseta de căutare și dă clic pe „Brim” când apare.

Brim se va lansa și va afișa fereastra principală. Poți da clic pe „Alege fișiere” pentru a deschide un explorator de fișiere sau poți trage și plasa un fișier PCAP în zona înconjurată de dreptunghiul roșu.

Brim utilizează un sistem de afișare cu tab-uri și poți avea mai multe tab-uri deschise simultan. Pentru a deschide un tab nou, dă clic pe semnul plus (+) din partea de sus, apoi selectează un alt fișier PCAP.
Noțiunile de bază în Brim
Brim încarcă și indexează fișierul selectat. Indexarea este unul dintre motivele pentru care Brim este atât de rapid. Fereastra principală conține o histogramă a volumului de pachete în timp și o listă de „fluxuri” de rețea.

Un fișier PCAP conține un flux ordonat în timp de pachete de rețea pentru numeroase conexiuni de rețea. Pachetele de date pentru diferitele conexiuni sunt amestecate deoarece unele vor fi deschise simultan. Pachetele pentru fiecare „conversație” de rețea sunt intercalate cu pachetele altor conversații.
Wireshark afișează fluxul de rețea pachet cu pachet, în timp ce Brim folosește un concept numit „fluxuri”. Un flux este un schimb complet de rețea (sau conversație) între două dispozitive. Fiecare tip de flux este clasificat, codificat cu culori și etichetat după tipul de flux. Vei vedea fluxuri etichetate „dns”, „ssh”, „https”, „ssl” și multe altele.
Dacă derulezi afișajul cu sumarul fluxului spre stânga sau dreapta, vor fi afișate numeroase alte coloane. De asemenea, poți ajusta intervalul de timp pentru a afișa subsetul de informații pe care dorești să-l vezi. Mai jos sunt câteva modalități prin care poți vizualiza datele:
Dă clic pe o bară din histogramă pentru a mări activitatea de rețea din cadrul acelei perioade.
Dă clic și trage pentru a evidenția un anumit interval din histogramă și a mări acea zonă. Brim va afișa apoi datele din secțiunea evidențiată.
De asemenea, poți specifica perioade exacte în câmpurile „Dată” și „Oră”.
Brim poate afișa două panouri laterale: unul în stânga și unul în dreapta. Acestea pot fi ascunse sau pot rămâne vizibile. Panoul din stânga afișează un istoric de căutări și o listă a fișierelor PCAP deschise, numite spații. Apasă Ctrl+[ pentru a activa sau dezactiva panoul din stânga.

Panoul din dreapta conține informații detaliate despre fluxul evidențiat. Apasă Ctrl+] pentru a activa sau dezactiva panoul din dreapta.

Dă clic pe „Conn” din lista „Corelație UID” pentru a deschide o diagramă de conexiune pentru fluxul evidențiat.

În fereastra principală, poți, de asemenea, să evidențiezi un flux, apoi să dai clic pe pictograma Wireshark. Aceasta va lansa Wireshark cu pachetele corespunzătoare fluxului evidențiat afișate.

Wireshark se va deschide, afișând pachetele de interes.

Filtrarea în Brim
Căutarea și filtrarea în Brim sunt flexibile și complete, dar nu este necesar să înveți un nou limbaj de filtrare dacă nu dorești. Poți construi un filtru valid sintactic în Brim, dând clic pe câmpurile din fereastra de rezumat, apoi selectând opțiunile dintr-un meniu.
De exemplu, în imaginea de mai jos, am dat clic dreapta pe un câmp „dns”. Apoi, vom selecta „Filtru = Valoare” din meniul contextual.

Vor apărea următoarele:
Textul _path = „dns” este adăugat în bara de căutare.
Acest filtru este aplicat fișierului PCAP, deci vor fi afișate numai fluxurile care sunt fluxuri DNS (Domain Name Service).
Textul filtrului este adăugat și la istoricul de căutări din panoul din stânga.

Putem adăuga mai multe clauze la termenul de căutare, utilizând aceeași tehnică. Vom da clic dreapta pe câmpul de adresă IP (care conține „192.168.1.26”) din coloana „Id.orig_h”, apoi vom selecta „Filtru = Valoare” din meniul contextual.
Aceasta va adăuga clauza suplimentară ca o clauză AND. Afișajul este acum filtrat pentru a arăta fluxurile DNS care provin de la adresa IP respectivă (192.168.1.26).

Noul termen de filtrare este adăugat la istoricul de căutări din panoul din stânga. Poți naviga rapid între căutări, dând clic pe elementele din lista istoricului de căutări.
Adresa IP de destinație pentru majoritatea datelor filtrate este 81.139.56.100. Pentru a vedea ce fluxuri DNS au fost trimise la alte adrese IP, vom da clic dreapta pe „81.139.56.100” din coloana „Id_resp_h”, apoi selectăm „Filtru != Valoare” din meniul contextual.

Un singur flux DNS, care a provenit de la 192.168.1.26, nu a fost trimis la 81.139.56.100. L-am găsit fără a fi necesar să tastezi nimic pentru a crea filtrul.
Fixarea clauzelor de filtrare
Când dăm clic dreapta pe un flux „HTTP” și selectăm „Filtru = Valoare” din meniul contextual, panoul de rezumat va afișa numai fluxuri HTTP. Apoi putem da clic pe pictograma Pin de lângă clauza de filtrare HTTP.

Clauza HTTP este acum fixată, iar orice alte filtre sau termeni de căutare pe care le utilizăm vor fi executate cu clauza HTTP adăugată.
Dacă introducem „GET” în bara de căutare, căutarea va fi limitată la fluxurile care au fost deja filtrate de clauza fixată. Poți fixa oricâte clauze de filtrare ai nevoie.

Pentru a căuta pachete POST în fluxurile HTTP, pur și simplu ștergem bara de căutare, tastăm „POST” și apoi apăsăm Enter.

Derulând lateral, se afișează ID-ul gazdei de la distanță.

Toți termenii de căutare și filtrare sunt adăugați la lista „Istoric”. Pentru a reaplica orice filtru, dă clic pe el.

De asemenea, poți căuta o gazdă de la distanță după nume.

Editarea termenilor de căutare
Dacă dorești să cauți ceva anume, dar nu vezi un flux de acel tip, poți da clic pe orice flux și poți edita valoarea introdusă în bara de căutare.
De exemplu, știm că trebuie să existe cel puțin un flux SSH în fișierul PCAP, deoarece am folosit rsync pentru a trimite câteva fișiere pe alt calculator, dar nu le putem vedea.
Așadar, vom da clic dreapta pe un alt flux, vom selecta „Filtru = Valoare” din meniul contextual, apoi vom edita bara de căutare pentru a spune „ssh” în loc de „dns”.
Apăsăm Enter pentru a căuta fluxuri SSH și descoperim că există doar unul singur.

Dacă apăsăm Ctrl+], se deschide panoul din dreapta, care arată detaliile acestui flux. Dacă un fișier a fost transferat în timpul unui flux, vor apărea hash-urile MD5, SHA1 și SHA256.
Dă clic dreapta pe oricare dintre ele, apoi selectează „VirusTotal Lookup” din meniul contextual pentru a deschide browserul pe site-ul VirusTotal și a introduce hash-ul pentru verificare.
VirusTotal stochează fișierele hash ale programelor malware cunoscute și ale altor fișiere periculoase. Dacă nu ești sigur dacă un fișier este sigur, acesta este o modalitate ușoară de a verifica, chiar dacă nu mai ai acces la fișier.

Dacă fișierul este inofensiv, vei vedea ecranul afișat în imaginea de mai jos.

Complementul perfect pentru Wireshark
Brim face lucrul cu Wireshark și mai rapid și mai ușor, permițându-ți să lucrezi cu fișiere de captură de pachete foarte mari. Încearcă-l chiar azi!