Guide et aide-mémoire pour Wireshark

Même une connaissance superficielle du programme Wireshark et de ses filtres permettra d'économiser un ordre de grandeur lors du dépannage des problèmes de réseau ou d'application. Wireshark est utile pour de nombreuses tâches dans le travail d'un ingénieur réseau, d'un spécialiste de la sécurité ou d'un administrateur système. Voici quelques exemples d'utilisation:

Dépannage de la connectivité réseau


  • Affichage visuel de la perte de paquets
  • Analyse de relais TCP
  • Graphique de paquet long retardé

Explorer les sessions au niveau de l'application (même lors du cryptage avec SSL / TLS, voir ci-dessous)


  • Vue complète des sessions HTTP, y compris tous les en-têtes et données pour les demandes et les réponses
  • Afficher les sessions Telnet, afficher les mots de passe, les commandes entrées et les réponses
  • Afficher le trafic SMTP et POP3, lire les e-mails

Dépanner DHCP avec des données de niveau paquet


  • Explorer les traductions DHCP de diffusion
  • La deuxième étape de l'échange DHCP (offre DHCP) avec l'adresse et les paramètres
  • Demande du client à l'adresse proposée
  • Ack du serveur confirmant la demande

Extraire des fichiers de sessions HTTP


  • Exportation d'objets depuis HTTP, tels que JavaScript, des images ou même des exécutables

Extraire des fichiers des sessions SMB


  • Similaire à l'option d'exportation HTTP, mais en extrayant les fichiers transférés via SMB, le protocole de partage de fichiers dans Windows

Détection et analyse des logiciels malveillants


  • Détection d'un comportement anormal pouvant indiquer un malware
  • Rechercher des domaines inhabituels ou des adresses IP finales
  • Cartes d'E / S pour détecter les connexions persistantes (balises) avec les serveurs de gestion
  • Filtrer les données «normales» et détecter les anomalies
  • Récupérez des réponses DNS volumineuses et d'autres anomalies qui peuvent indiquer des logiciels malveillants

Vérification des analyses de port et d'autres types d'analyse pour les vulnérabilités


  • Comprendre le trafic réseau provenant des scanners
  • Analyse des procédures de vérification de vulnérabilité pour distinguer les faux positifs des faux négatifs

Ces exemples ne sont que la pointe de l'iceberg. Dans le guide, nous vous expliquerons comment utiliser un outil aussi puissant.

Installer Wireshark


Wireshark fonctionne sur différents systèmes d'exploitation et est facile à installer. Mentionnez uniquement Ubuntu Linux, Centos et Windows.

Installer sur Ubuntu ou Debian


#apt-get update #apt-get install wireshark tshark 

Installer sur Fedora ou CentOS


 #yum install wireshark-gnome 

Installation de Windows


La page de téléchargement contient le fichier exécutable pour l'installation. Le pilote de capture de paquets est également assez simple à installer, à l'aide duquel la carte réseau passe en mode "inaudible" (le mode promiscuous vous permet de recevoir tous les paquets indépendamment de leur destinataire).

Premiers pas avec les filtres


Avec la première interception, vous verrez un modèle standard et les détails du package dans l'interface Wireshark.

Une fois que vous avez capturé une session HTTP, arrêtez l'enregistrement et jouez avec les filtres et les paramètres de base d' Analyser | Suivez | Flux HTTP .

Les noms des filtres parlent d'eux-mêmes. Entrez simplement les expressions appropriées dans la ligne de filtre (ou dans la ligne de commande si vous utilisez tshark). Le principal avantage des filtres est l'élimination du bruit (trafic qui ne nous intéresse pas). Vous pouvez filtrer le trafic par adresse MAC, adresse IP, sous-réseau ou protocole. Le filtre le plus simple consiste à entrer http , donc seul le trafic HTTP sera affiché (port TCP 80) .

Exemples de filtres IP


 ip.addr == 192.168.0.5 !(ip.addr == 192.168.0.0/24) 

Exemples de filtres de protocole


 tcp udp tcp.port == 80 || udp.port == 80 http not arp and not (udp.port == 53) 

Essayez une combinaison de filtres qui affiche tout le trafic sortant, à l'exception de HTTP et HTTPS, qui est acheminé en dehors du réseau local . C'est un bon moyen de détecter les logiciels (même les malwares) qui interagissent avec Internet via des protocoles inhabituels.

Suivez le flux


Une fois que vous avez capturé plusieurs paquets HTTP, vous pouvez utiliser l'élément de menu Analyser | sur l'un d'eux. Suivez | Flux HTTP . Il affichera toute la session HTTP. Dans cette nouvelle fenêtre, vous verrez une demande HTTP du navigateur et une réponse HTTP du serveur.



Résolution DNS dans Wireshark


Par défaut, Wireshark ne résout pas les adresses réseau dans la console. Cela peut être modifié dans les paramètres.

Modifier | Préférences | Résolution de nom | Activer la résolution de noms de réseau

Comme pour tcpdump , la procédure de résolution ralentit l'affichage des paquets. Il est également important de comprendre que lorsque vous capturez des paquets en ligne, les requêtes DNS de votre hôte deviennent du trafic supplémentaire qui peut être intercepté.

Tshark pour la ligne de commande


Si vous n'avez pas tshark , consultez notre guide avec des exemples de filtres . Ce programme est souvent ignoré, bien qu'il soit idéal pour capturer des sessions sur un système distant. Contrairement à tcpdump , il vous permet de capturer et d'afficher des sessions au niveau de l'application à la volée: les décodeurs de protocole Wireshark sont également disponibles pour tshark.

Création de règles de pare-feu


Voici un moyen rapide de créer des règles à partir de la ligne de commande afin de ne pas rechercher sur Internet une syntaxe spécifique. Sélectionnez la règle appropriée et accédez à Outils | Règles ACL du pare-feu . Divers pare-feu sont pris en charge, tels que Cisco IOS, ipfilter , ipfw , iptables , pf et même le pare-feu Windows via netsh .



Travailler avec Geo-base GeoIP


Si Wireshark est compilé avec le support GeoIP et que vous avez des bases de données Maxmind gratuites, le programme peut déterminer l'emplacement des ordinateurs par leurs adresses IP. Enregistrez-vous À propos | Wireshark , que le programme est compilé avec la version dont vous disposez. Si GeoIP est sur la liste, vérifiez la présence des bases de données GeoLite City, Country et ASNum sur le disque. Spécifiez l'emplacement des bases dans le menu Edition | Préférences | Résolution de nom .

Vérifiez le système pour un vidage du trafic en sélectionnant Statistiques | Points finaux | IPv4 . L'emplacement et les informations ASN de l'adresse IP doivent apparaître dans les colonnes de droite.



Une autre fonctionnalité GeoIP consiste à filtrer le trafic par emplacement à l'aide du filtre ip.geoip . Par exemple, de cette façon, vous pouvez exclure le trafic d'un ASN spécifique. La commande ci-dessous exclut les paquets de l'unité réseau ASN 63949 (Linode).

 ip and not ip.geoip.asnum == 63949 

Bien sûr, le même filtre peut être appliqué à des villes et des pays individuels . Supprimez le bruit et ne laissez que du trafic vraiment intéressant.

Décryptage des sessions SSL / TLS


Une façon de décrypter les sessions SSL / TLS consiste à utiliser la clé privée du serveur auquel le client est connecté.

Bien sûr, vous n'avez pas toujours accès à la clé privée. Mais il existe une autre option pour afficher simplement le trafic SSL / TLS sur le système local. Si Firefox ou Chrome est chargé à l'aide d'une variable d'environnement spéciale, les clés symétriques des sessions SSL / TLS individuelles sont écrites dans un fichier que Wireshark peut lire. Avec ces clés, Wireshark affichera une session entièrement décryptée!

1. Définition de la variable d'environnement


Linux / Mac

 export SSLKEYLOGFILE=~/sslkeylogfile.log 

Windows

Sur les propriétés du système | Avancé, cliquez sur le bouton Variables d'environnement et ajoutez le nom de la variable (SSLKEYLOGFILE) et le chemin d'accès au fichier comme valeur.

2. Configuration de Wireshark


Dans le menu contextuel, sélectionnez Modifier | Préférences | Protocoles | SSL | (Pre) -Master-Secret Log Nom de fichier - Parcourez en spécifiant le fichier que vous avez spécifié dans la variable d'environnement.

Commencez à capturer le trafic sur votre système local.

3. Redémarrer Firefox ou Chrome


Après être allé sur le site Web HTTPS, le fichier journal commencera à augmenter en taille, car il écrit des clés de session symétriques.

Jetez un œil à la session Wireshark lancée précédemment. Vous devriez voir quelque chose de similaire à la capture d'écran ci-dessous avec des sessions déchiffrées. Paquets déchiffrés - sur l'onglet dans le panneau inférieur.



Une autre façon d'afficher une session est via l' analyse | Suivez | Stream | SSL Si la session est correctement déchiffrée, vous verrez une option pour SSL.

Bien sûr, soyez prudent lors de l'écriture de ces clés et packages. Si un étranger accède au fichier journal, il y trouvera facilement vos mots de passe et cookies d'authentification.

Une autre option pour accéder au trafic HTTP de base consiste à utiliser l'outil Burp Suite avec le certificat CA chargé dans le navigateur. Dans ce cas, le proxy déchiffre la connexion côté client, puis établit une nouvelle session SSL / TLS sur le serveur. Il existe de nombreuses façons de mener une telle attaque MiTM contre vous-même, ce sont deux des plus faciles.

Extraire des fichiers de packages à l'aide de la fonction d'exportation (HTTP ou SMB)


Les fichiers sont facilement extraits via le menu d'exportation.

Fichier | Exporter des objets | HTTP

Tous les fichiers trouvés seront affichés dans une nouvelle fenêtre. De là, vous pouvez enregistrer des fichiers individuels ou tous en même temps. Une méthode similaire est utilisée pour extraire les fichiers des sessions SMB. Comme nous l'avons déjà mentionné, il s'agit du protocole Microsoft Server Message Block, qui est utilisé pour le partage de fichiers sous Windows.



Barre d'état


La barre d'état sur le côté droit de la fenêtre vous permet d'accéder rapidement à l'emplacement souhaité dans le vidage réseau en cliquant sur l'indicateur de couleur. Par exemple, les paquets avec des erreurs sont marqués en rouge dans la barre d'état.



Exemple PCAP


Lorsque vous commencez à travailler avec Wireshark, je veux regarder quelques vidages intéressants avec des packages. Ils peuvent être trouvés sur la page des échantillons de Wireshark . Il y aura suffisamment d'exemples avec différents protocoles pour plusieurs mois d'analyse, il y a même des échantillons de trafic de vers et d'exploits.

Réglage de l'environnement


L'apparence de la console par défaut est hautement personnalisable. Vous pouvez ajouter ou supprimer des colonnes, en ajoutant même des éléments aussi simples qu'une colonne de temps UTC, ce qui augmente immédiatement le contenu d'informations des journaux si vous analysez l'historique des packages.

Les colonnes sont configurées dans le menu Edition | Préférences | Apparence | Colonnes Le modèle général, la police et les couleurs y sont également modifiés.

Sur la vidéo - conseils utiles pour configurer l'environnement, y compris le dépannage des numéros de séquence TCP.


capinfos


Wireshark est livré avec un capinfos ligne de commande capinfos pratique. Cet utilitaire génère des statistiques de vidage par lots, avec l'heure d'enregistrement de début / fin et d'autres détails. Avec l'option -T , il produit un texte à onglets - il convient à l'importation dans des feuilles de calcul ou à une analyse dans la console.

 test@ubuntu:~$ capinfos test.pcap File name: test.pcap File type: Wireshark/tcpdump/... - pcap File encapsulation: Ethernet File timestamp precision: microseconds (6) Packet size limit: file hdr: 262144 bytes Number of packets: 341 k File size: 449 MB Data size: 444 MB Capture duration: 3673.413779 seconds First packet time: 2018-12-01 11:26:53.521929 Last packet time: 2018-12-01 12:28:06.935708 Data byte rate: 120 kBps Data bit rate: 967 kbps Average packet size: 1300.72 bytes Average packet rate: 93 packets/s SHA256: 989388128d676c329ccdbdec4ed221ab8ecffad81910a16f473ec2c2f54c5d6e RIPEMD160: 0742b6bbc79735e57904008d6064cce7eb95abc9 SHA1: d725b389bea044d6520470c8dab0de1598b01d89 Strict time order: True Number of interfaces in file: 1 

Conclusion


Cet article a été initialement publié en 2011, puis sérieusement mis à jour. Si vous avez des commentaires, des améliorations ou des conseils pour la feuille de triche, écrivez-moi . Wireshark est l'un de ces outils indispensables que beaucoup utilisent, mais peu le maîtrisent. Ici, vous pouvez aller de plus en plus profondément.

Source: https://habr.com/ru/post/fr436226/


All Articles