Transformez votre flux de travail Wireshark avec Brim sous Linux
Wireshark est la norme de facto pour l'analyse du trafic réseau. Malheureusement, il devient de plus en plus lent à mesure que la capture de paquets se développe. Brim résout si bien ce problème qu'il modifiera votre flux de travail Wireshark.
Sommaire
Wireshark est génial, mais. . .
Wireshark est un merveilleux logiciel open source. Il est utilisé par les amateurs et les professionnels du monde entier pour enquêter sur les problèmes de réseau. Il capture les paquets de données qui voyagent le long des fils ou à travers l'éther de votre réseau. Une fois que vous avez capturé votre trafic, Wireshark vous permet de filtrer et de rechercher dans les données, de suivre les conversations entre les appareils du réseau, et bien plus encore.
Aussi génial que soit Wireshark, il a un problème. Les fichiers de capture de données réseau (appelés traces réseau ou captures de paquets) peuvent devenir très volumineux, très rapidement. Cela est particulièrement vrai si le problème que vous essayez d'étudier est complexe ou sporadique, ou si le réseau est volumineux et occupé.
Plus la capture de paquets (ou PCAP) est importante, plus Wireshark devient lent. Le simple fait d'ouvrir et de charger une trace très volumineuse (tout ce qui dépasse 1 Go) peut prendre tellement de temps que vous pensez que Wireshark s'est effondré et a abandonné le fantôme.
Travailler avec des fichiers de cette taille est une vraie douleur. Chaque fois que vous effectuez une recherche ou modifiez un filtre, vous devez attendre que les effets soient appliqués aux données et mis à jour à l'écran. Chaque retard perturbe votre concentration, ce qui peut nuire à votre progression.
Brim est le remède à ces malheurs. Il agit comme un préprocesseur interactif et un frontal pour Wireshark. Lorsque vous voulez voir le niveau granulaire que Wireshark peut fournir, Brim l'ouvre instantanément pour vous exactement sur ces paquets.
Si vous effectuez beaucoup de capture réseau et d'analyse de paquets, Brim révolutionnera votre flux de travail.
Installation de Brim
Brim est très nouveau, donc il n'a pas encore fait son chemin dans les référentiels logiciels des distributions Linux. Cependant, sur la page de téléchargement de Brim, vous trouverez des fichiers de package DEB et RPM, donc l'installer sur Ubuntu ou Fedora est assez simple.
Si vous utilisez une autre distribution, vous pouvez télécharger le code source depuis GitHub et créer vous-même l'application.
Brim utilise zq
, un outil de ligne de commande pour les journaux Zeek, vous devrez donc également télécharger un fichier ZIP contenant le zq
binaires.
Installer Brim sur Ubuntu
Si vous utilisez Ubuntu, vous devrez télécharger le fichier du package DEB et zq
Fichier ZIP Linux. Double-cliquez sur le fichier de package DEB téléchargé et l'application du logiciel Ubuntu s'ouvre. La licence Brim est répertoriée par erreur comme «propriétaire» – elle utilise la licence BSD à 3 clauses.
Cliquez sur "Installer".
Une fois l'installation terminée, double-cliquez sur le zq
Fichier ZIP pour lancer l'application Archive Manager. Le fichier ZIP contiendra un seul répertoire; faites-le glisser et déposez-le du «Gestionnaire d'archives» vers un emplacement sur votre ordinateur, comme le répertoire «Téléchargements».
Nous tapons ce qui suit pour créer un emplacement pour le zq
binaires:
sudo mkdir /opt/zeek
Nous devons copier les binaires du répertoire extrait vers l'emplacement que nous venons de créer. Remplacez le chemin et le nom du répertoire extrait sur votre machine dans la commande suivante:
sudo cp Downloads/zq-v0.20.0.linux-amd64/* /opt/Zeek
Nous devons ajouter cet emplacement au chemin, nous allons donc modifier le fichier BASHRC:
sudo gedit .bashrc
L'éditeur gedit s'ouvre. Faites défiler vers le bas du fichier, puis tapez cette ligne:
export PATH=$PATH:/opt/zeek
Enregistrez vos modifications et fermez l'éditeur.
Installation de Brim sur Fedora
Pour installer Brim sur Fedora, téléchargez le fichier de package RPM (au lieu de DEB), puis suivez les mêmes étapes que celles décrites pour l'installation d'Ubuntu ci-dessus.
Il est intéressant de noter que lorsque le fichier RPM s'ouvre dans Fedora, il est correctement identifié comme ayant une licence open source, plutôt qu'une licence propriétaire.
Lancement de Brim
Cliquez sur «Afficher les applications» dans le dock ou appuyez sur Super + A. Tapez «bord» dans la zone de recherche, puis cliquez sur «bord» lorsqu'il apparaît.
Brim se lance et affiche sa fenêtre principale. Vous pouvez cliquer sur «Choisir les fichiers» pour ouvrir un navigateur de fichiers, ou faire glisser et déposer un fichier PCAP dans la zone entourée par le rectangle rouge.
Brim utilise un affichage à onglets et vous pouvez ouvrir plusieurs onglets simultanément. Pour ouvrir un nouvel onglet, cliquez sur le signe plus (+) en haut, puis sélectionnez un autre PCAP.
Bases du bord
Brim charge et indexe le fichier sélectionné. L'indice est l'une des raisons pour lesquelles Brim est si rapide. La fenêtre principale contient un histogramme des volumes de paquets au fil du temps et une liste des «flux» du réseau.
Un fichier PCAP contient un flux ordonné dans le temps de paquets réseau pour un grand nombre de connexions réseau. Les paquets de données pour les différentes connexions sont entremêlés car certains d'entre eux auront été ouverts simultanément. Les paquets pour chaque «conversation» réseau sont entrecoupés des paquets d'autres conversations.
Wireshark affiche le paquet de flux réseau par paquet, tandis que Brim utilise un concept appelé «flux». Un flux est un échange réseau (ou conversation) complet entre deux appareils. Chaque type de flux est catégorisé, codé par couleur et étiqueté par type de flux. Vous verrez des flux intitulés "dns", "ssh", "https", "ssl" et bien d'autres.
Si vous faites défiler l'affichage du résumé du flux vers la gauche ou la droite, de nombreuses autres colonnes seront affichées. Vous pouvez également ajuster la période pour afficher le sous-ensemble d'informations que vous souhaitez voir. Voici quelques façons d'afficher les données:
- Cliquez sur une barre de l'histogramme pour zoomer sur l'activité réseau qu'elle contient.
- Cliquez et faites glisser pour mettre en surbrillance une plage de l'affichage de l'histogramme et effectuer un zoom avant. Brim affichera alors les données de la section en surbrillance.
- Vous pouvez également spécifier des périodes exactes dans les champs «Date» et «Heure».
Brim peut afficher deux volets latéraux: un à gauche et un à droite. Ceux-ci peuvent être masqués ou rester visibles. Le volet de gauche affiche un historique de recherche et une liste des PCAP ouverts, appelés espaces. Appuyez sur Ctrl + (pour activer ou désactiver le volet gauche.
Le volet de droite contient des informations détaillées sur le flux en surbrillance. Appuyez sur Ctrl +) pour activer ou désactiver le volet droit.
Cliquez sur «Conn» dans la liste «UID Correlation» pour ouvrir un schéma de connexion pour le flux en surbrillance.
Dans la fenêtre principale, vous pouvez également mettre en surbrillance un flux, puis cliquer sur l'icône Wireshark. Cela lance Wireshark avec les paquets pour le flux en surbrillance affiché.
Wireshark s'ouvre, affichant les paquets d'intérêt.
Filtrage à Brim
La recherche et le filtrage dans Brim sont flexibles et complets, mais vous n’avez pas besoin d’apprendre un nouveau langage de filtrage si vous ne le souhaitez pas. Vous pouvez créer un filtre syntaxiquement correct dans Brim en cliquant sur des champs dans la fenêtre de résumé, puis en sélectionnant des options dans un menu.
Par exemple, dans l'image ci-dessous, nous avons fait un clic droit sur un champ «dns». Nous allons ensuite sélectionner "Filtre = Valeur" dans le menu contextuel.
Les choses suivantes se produisent alors:
- Le texte
_path = "dns"
est ajouté à la barre de recherche. - Ce filtre est appliqué au fichier PCAP, il n'affichera donc que les flux qui sont des flux DNS (Domain Name Service).
- Le texte du filtre est également ajouté à l'historique de recherche dans le volet gauche.
Nous pouvons ajouter d'autres clauses au terme de recherche en utilisant la même technique. Nous allons faire un clic droit sur le champ d'adresse IP (contenant "192.168.1.26") dans la colonne "Id.orig_h", puis sélectionner "Filtre = Valeur" dans le menu contextuel.
Cela ajoute la clause supplémentaire en tant que clause AND. L'affichage est maintenant filtré pour afficher les flux DNS provenant de cette adresse IP (192.168.1.26).
Le nouveau terme de filtre est ajouté à l'historique de recherche dans le volet gauche. Vous pouvez passer d'une recherche à l'autre en cliquant sur les éléments dans la liste de l'historique des recherches.
L'adresse IP de destination de la plupart de nos données filtrées est 81.139.56.100. Pour voir quels flux DNS ont été envoyés à différentes adresses IP, nous cliquons avec le bouton droit de la souris sur «81.139.56.100» dans la colonne «Id_resp_h», puis nous sélectionnons «Filtre! = Valeur» dans le menu contextuel.
Un seul flux DNS provenant de 192.168.1.26 n'a pas été envoyé à 81.139.56.100 et nous l'avons localisé sans avoir à taper quoi que ce soit pour créer notre filtre.
Clauses de filtrage d'épinglage
Lorsque nous cliquons avec le bouton droit sur un flux «HTTP» et que nous sélectionnons «Filtre = Valeur» dans le menu contextuel, le volet récapitulatif n'affichera que les flux HTTP. Nous pouvons ensuite cliquer sur l'icône Pin à côté de la clause de filtre HTTP.
La clause HTTP est maintenant épinglée en place, et tous les autres filtres ou termes de recherche que nous utilisons seront exécutés avec la clause HTTP ajoutée au début.
Si nous tapons «GET» dans la barre de recherche, la recherche sera limitée aux flux qui ont déjà été filtrés par la clause épinglée. Vous pouvez épingler autant de clauses de filtre que nécessaire.
Pour rechercher des paquets POST dans les flux HTTP, effacez simplement la barre de recherche, tapez «POST», puis appuyez sur Entrée.
Le défilement latéral révèle l'ID de l'hôte distant.
Tous les termes de recherche et de filtrage sont ajoutés à la liste «Historique». Pour réappliquer un filtre, cliquez simplement dessus.
Vous pouvez également rechercher un hôte distant par son nom.
Modification des termes de recherche
Si vous souhaitez rechercher quelque chose, mais que vous ne voyez pas de flux de ce type, vous pouvez cliquer sur n’importe quel flux et modifier l’entrée dans la barre de recherche.
Par exemple, nous savons qu'il doit y avoir au moins un flux SSH dans le fichier PCAP car nous avons utilisé rsync
pour envoyer des fichiers à un autre ordinateur, mais nous ne pouvons pas le voir.
Nous allons donc cliquer avec le bouton droit sur un autre flux, sélectionner "Filtre = Valeur" dans le menu contextuel, puis modifier la barre de recherche pour dire "ssh" au lieu de "dns".
Nous appuyons sur Entrée pour rechercher des flux SSH et en trouver un seul.
Appuyez sur Ctrl +) pour ouvrir le volet droit, qui affiche les détails de ce flux. Si un fichier a été transféré pendant un flux, les hachages MD5, SHA1 et SHA256 apparaissent.
Cliquez avec le bouton droit sur l'un de ces éléments, puis sélectionnez «Recherche VirusTotal» dans le menu contextuel pour ouvrir votre navigateur sur le site Web VirusTotal et transmettre le hachage pour vérification.
VirusTotal stocke les hachages de logiciels malveillants connus et d'autres fichiers malveillants. Si vous ne savez pas si un fichier est sûr, il s’agit d’un moyen simple de le vérifier, même si vous n’avez plus accès au fichier.
Si le fichier est inoffensif, vous verrez l'écran affiché dans l'image ci-dessous.
Le complément parfait à Wireshark
Brim rend le travail avec Wireshark encore plus rapide et plus facile en vous permettant de travailler avec de très gros fichiers de capture de paquets. Faites-lui un essai aujourd'hui!