Introduction
Dans le domaine de la cybersécurité, la compréhension et l'identification des activités réseau suspectes sont cruciales pour maintenir une infrastructure réseau sécurisée et résiliente. Ce tutoriel vous guidera à travers le processus d'utilisation de Wireshark, un puissant analyseur de protocole réseau, pour détecter et analyser les menaces potentielles dans votre environnement réseau.
Installation et configuration de Wireshark
Qu'est-ce que Wireshark ?
Wireshark est un puissant analyseur de protocole réseau open-source qui vous permet de capturer et d'inspecter les données circulant sur un réseau en temps réel. Les professionnels de la sécurité l'utilisent pour :
- Surveiller le trafic réseau
- Dépanner les problèmes de réseau
- Détecter les activités suspectes
- Analyser les détails des protocoles
- Identifier les menaces potentielles pour la sécurité
Installation de Wireshark
Commençons par installer Wireshark sur notre système Ubuntu. Ouvrez un terminal et exécutez les commandes suivantes :
sudo apt update
sudo apt install -y wireshark
Pendant l'installation, il vous sera demandé si les non-superutilisateurs doivent être en mesure de capturer des paquets. Sélectionnez "Oui" pour plus de commodité dans cet environnement de laboratoire.
L'installation peut prendre quelques minutes. Une fois terminée, vous devriez voir une sortie indiquant que Wireshark a été installé avec succès.
Configuration des permissions utilisateur
Pour capturer des paquets sans exécuter Wireshark en tant que root, nous devons ajouter notre utilisateur au groupe wireshark :
sudo usermod -a -G wireshark $USER
Pour que les modifications prennent effet, nous devons nous déconnecter et nous reconnecter, mais pour ce laboratoire, nous pouvons appliquer les modifications immédiatement avec la commande suivante :
newgrp wireshark
Vérification de l'installation
Vérifions que Wireshark a été installé correctement :
wireshark --version
Vous devriez voir une sortie similaire à :
Wireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)
Copyright 1998-2022 Gerald Combs <gerald@wireshark.org> and contributors.
License GPLv2+: GNU GPL version 2 or later <https://www.gnu.org/licenses/>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiled (64-bit) with Qt 5.15.3, with libpcap, with POSIX capabilities
(Linux), with libnl 3, with Lua 5.2.4, with GLib 2.72.1, with zlib 1.2.11,
with Snappy, with libpcap 1.10.1, with GNUTLS 3.7.3, with Gcrypt 1.9.4.
Démarrage de Wireshark
Maintenant, démarrons Wireshark avec l'interface graphique :
wireshark &
L'application Wireshark s'ouvrira dans une nouvelle fenêtre. Vous verrez l'interface principale avec une liste des interfaces réseau disponibles pour la capture de paquets.
Prenez un moment pour vous familiariser avec l'interface utilisateur de Wireshark :
- La section supérieure affiche les interfaces réseau disponibles
- La section du milieu (actuellement vide) affichera les paquets capturés
- La barre de filtre en haut vous permet de filtrer les paquets affichés
- Divers menus et barres d'outils offrent des fonctionnalités supplémentaires
Dans l'étape suivante, nous allons apprendre à capturer le trafic réseau à l'aide de Wireshark.
Capture du trafic réseau avec Wireshark
Comprendre les interfaces réseau
Avant de pouvoir capturer le trafic réseau, nous devons comprendre quelle interface réseau surveiller. Dans un système typique, vous pouvez avoir plusieurs interfaces :
eth0ouens33: Connexion Ethernet (filaire)wlan0: Connexion Wi-Filo: Interface de bouclage (trafic local)
Vérifions les interfaces réseau disponibles sur notre système :
ip a
Cette commande affichera toutes les interfaces réseau. Recherchez des interfaces telles que eth0, ens33 ou d'autres interfaces réseau (le nom exact dépend de la configuration de votre système).
Génération de trafic réseau de test
Pour nous assurer que nous avons du trafic réseau à analyser, générons du trafic HTTP de base en effectuant quelques requêtes web :
## Créer un répertoire pour enregistrer nos captures
mkdir -p ~/wireshark_lab
## Générer du trafic HTTP
curl -s http://example.com > /dev/null
curl -s http://google.com > /dev/null
Capture du trafic dans Wireshark
Maintenant, capturons du trafic réseau à l'aide de Wireshark :
- Si Wireshark n'est pas déjà en cours d'exécution, démarrez-le :
wireshark &
Dans la fenêtre principale de Wireshark, trouvez votre interface réseau principale (probablement
eth0ouens33- utilisez l'interface que vous avez identifiée précédemment avec la commandeip a).Double-cliquez sur l'interface réseau pour commencer à capturer les paquets.
Vous verrez les paquets commencer à apparaître dans la fenêtre principale au fur et à mesure de leur capture :
- Le volet supérieur affiche la liste des paquets
- Le volet du milieu affiche les détails du paquet sélectionné
- Le volet inférieur affiche les données brutes du paquet sélectionné en hexadécimal et en ASCII
Générons un peu plus de trafic réseau pendant que Wireshark capture :
## Ouvrez une nouvelle fenêtre de terminal et exécutez :
ping -c 5 google.com
Revenez à Wireshark, et vous devriez voir les paquets ping ICMP apparaître dans la capture.
Pour arrêter la capture, cliquez sur le bouton carré rouge dans la barre d'outils ou allez dans
Capture>Stop.
Enregistrement du trafic capturé
Maintenant que nous avons capturé du trafic réseau, enregistrons-le pour une analyse plus approfondie :
Dans Wireshark, allez dans
File>Saveou appuyez surCtrl+S.Accédez au répertoire
~/wireshark_labque nous avons créé précédemment.Nommez votre fichier
basic_capture.pcapnget cliquez surSave.
## Vérifier que le fichier de capture a été enregistré
ls -la ~/wireshark_lab/
Vous devriez voir votre fichier basic_capture.pcapng dans la sortie.
Ouverture d'une capture enregistrée
Entraînons-nous à ouvrir notre fichier de capture enregistré :
Dans Wireshark, allez dans
File>Openou appuyez surCtrl+O.Accédez à
~/wireshark_lab/basic_capture.pcapnget ouvrez-le.
Les paquets capturés devraient maintenant être affichés dans Wireshark, prêts pour l'analyse.
Dans l'étape suivante, nous allons apprendre à filtrer et à analyser ce trafic capturé pour identifier des types spécifiques d'activités réseau.
Analyse du trafic réseau avec des filtres de base
Comprendre les filtres d'affichage de Wireshark
Les filtres d'affichage de Wireshark vous permettent de visualiser uniquement les paquets qui correspondent à des critères spécifiques. Ceci est essentiel lors de l'analyse de captures de paquets volumineuses pour trouver des informations pertinentes.
La syntaxe de base pour les filtres d'affichage de Wireshark est :
protocol.field == value
Par exemple :
ip.addr == 192.168.1.1- Affiche les paquets avec cette adresse IPtcp.port == 80- Affiche les paquets avec le port TCP 80http- Affiche tous les paquets HTTP
Application de filtres d'affichage de base
Entraînons-nous à appliquer des filtres de base à notre trafic capturé :
- Assurez-vous que Wireshark est ouvert avec notre fichier de capture précédemment enregistré. Sinon, ouvrez-le :
wireshark ~/wireshark_lab/basic_capture.pcapng &
Localisez la barre de filtre en haut de la liste des paquets (elle indique "Apply a display filter..." lorsqu'elle est vide).
Filtrons le trafic DNS. Tapez ce qui suit dans la barre de filtre :
dns
- Appuyez sur Entrée ou cliquez sur le bouton flèche bleu pour appliquer le filtre.
Vous ne devriez maintenant voir que les paquets DNS dans l'affichage. Il s'agit de requêtes et de réponses de résolution de noms de domaine.
- Essayons maintenant de filtrer le trafic HTTP :
http
Appliquez le filtre et observez les paquets HTTP.
- Filtrons pour une adresse IP spécifique. Tout d'abord, identifiez une adresse IP dans votre capture en regardant les colonnes source ou destination. Ensuite, appliquez un filtre comme :
ip.addr == [replace_with_an_ip_from_your_capture]
Par exemple : ip.addr == 93.184.216.34 (si vous voyez du trafic vers example.com)
Combinaison de filtres
Vous pouvez combiner des filtres à l'aide d'opérateurs logiques :
&&ouandpour l'opération ET (AND)||ouorpour l'opération OU (OR)!ounotpour l'opération NON (NOT)
Essayons un filtre combiné :
http && ip.addr == [replace_with_an_ip_from_your_capture]
Cela affichera le trafic HTTP uniquement vers/depuis l'adresse IP spécifiée.
Création d'un filtre simple pour le trafic TCP
Créons et enregistrons un filtre pour le trafic TCP :
- Dans la barre de filtre, tapez :
tcp
Appliquez le filtre. Vous ne devriez voir que les paquets TCP.
Enregistrons ce filtre pour une utilisation future. Cliquez sur le bouton "+" situé à droite de la barre de filtre.
Dans la boîte de dialogue qui apparaît, entrez :
- Nom du filtre :
TCP Traffic - Chaîne de filtre :
tcp
- Nom du filtre :
Cliquez sur "Save" pour enregistrer ce filtre.
Analyse de la hiérarchie des protocoles
Wireshark fournit une visualisation utile des protocoles dans votre capture :
Allez dans
Statistics>Protocol Hierarchy.Cela montre une répartition des protocoles par pourcentage et nombre de paquets.
Fermez cette fenêtre une fois l'examen terminé.
Enregistrement des résultats filtrés
Enregistrons une vue filtrée de notre capture :
Appliquez un filtre de votre choix (par exemple,
httpoudns).Allez dans
File>Export Specified Packets.Assurez-vous que "Displayed" est sélectionné dans la section "Packet Range".
Accédez à
~/wireshark_lab/et enregistrez sousfiltered_capture.pcapng.Vérifiez que le fichier a été enregistré :
ls -la ~/wireshark_lab/
Vous devriez voir à la fois vos fichiers de capture originaux et filtrés.
Dans l'étape suivante, nous utiliserons ces techniques de filtrage pour identifier les activités réseau suspectes.
Identification des activités réseau suspectes
Indicateurs courants d'activités réseau suspectes
Lors de l'analyse du trafic réseau à des fins de sécurité, certains schémas et comportements peuvent indiquer des activités suspectes ou malveillantes :
- Utilisation inhabituelle des ports : Trafic sur des ports peu courants ou des ports de logiciels malveillants bien connus
- Requêtes DNS excessives : Peut indiquer un tunneling DNS ou une exfiltration de données
- Informations d'identification non chiffrées : Mots de passe envoyés en clair
- Analyse de ports (Port Scanning) : Plusieurs tentatives de connexion à différents ports
- Schémas de données inhabituels : Charges utiles encodées en Base64 ou trafic chiffré là où ce n'est pas attendu
- Tentatives de connexion à des adresses IP malveillantes connues : Trafic vers/depuis des adresses sur liste noire
Simulation d'activités suspectes
À des fins d'apprentissage, simulons quelques activités réseau suspectes que nous pouvons détecter avec Wireshark :
## Créer un répertoire pour notre analyse de sécurité
mkdir -p ~/wireshark_lab/security_analysis
## Simuler une analyse de ports (limitée à quelques ports pour la démonstration)
nmap -p 80,443,22,21,25 scanme.nmap.org > ~/wireshark_lab/security_analysis/scan_results.txt 2>&1
Remarque : La commande nmap ci-dessus effectue une analyse sur les ports courants du serveur scanme.nmap.org, qui est spécifiquement configuré pour tester nmap.
Capture et analyse du trafic suspect
- Démarrez une nouvelle capture Wireshark sur votre interface réseau principale :
wireshark &
Dans Wireshark, double-cliquez sur votre interface réseau principale pour commencer la capture.
Dans un terminal séparé, exécutez la commande de simulation :
## Simuler une autre analyse de ports pendant la capture
nmap -p 80,443,22,21,25 scanme.nmap.org > /dev/null 2>&1
Une fois la commande terminée, arrêtez la capture Wireshark en cliquant sur le bouton carré rouge.
Enregistrez cette capture sous le nom
suspicious_traffic.pcapngdans le répertoire~/wireshark_lab/security_analysis/.
Détection de l'analyse de ports
L'analyse de ports est une technique de reconnaissance courante utilisée par les attaquants pour découvrir les services en cours d'exécution sur un système. Identifions l'activité d'analyse de ports dans notre capture :
- Appliquez un filtre pour voir les tentatives de connexion à différents ports :
tcp.flags.syn == 1 && tcp.flags.ack == 0
Ce filtre affiche les paquets TCP SYN, qui sont utilisés pour initier des connexions. Un grand nombre de ces paquets vers différents ports sur le même hôte est indicatif d'une analyse de ports.
- Pour vous concentrer sur le trafic lié à notre analyse nmap, vous pouvez ajouter un filtre pour le domaine cible :
tcp.flags.syn == 1 && tcp.flags.ack == 0 && ip.addr contains scanme.nmap.org
Création d'un rapport d'analyse de sécurité
Documentons nos conclusions dans un simple rapport d'analyse de sécurité :
## Créer un fichier de rapport
nano ~/wireshark_lab/security_analysis/security_report.txt
Ajoutez le contenu suivant au fichier :
Rapport d'analyse de sécurité
=======================
Date: [Date actuelle]
Constatations:
1. Activité d'analyse de ports détectée
- Source: [Votre adresse IP]
- Cible: scanme.nmap.org
- Ports ciblés: 80, 443, 22, 21, 25
- Preuve: Paquets TCP SYN vers plusieurs ports
2. Méthode d'analyse:
- Utilisation de Wireshark pour capturer le trafic réseau
- Application du filtre: tcp.flags.syn == 1 && tcp.flags.ack == 0
- Identification du schéma de tentatives de connexion systématiques
3. Actions recommandées:
- Surveiller les activités d'analyse non autorisées
- Mettre en œuvre des règles de pare-feu pour limiter l'analyse sortante
- Envisager la mise en œuvre de systèmes de détection d'intrusion réseau
Enregistrez le fichier en appuyant sur Ctrl+O, puis sur Entrée, et quittez nano avec Ctrl+X.
Création d'un filtre personnalisé pour les activités suspectes
Créons un filtre personnalisé pour détecter les problèmes de sécurité potentiels :
- Dans Wireshark, tapez le filtre suivant :
(tcp.flags.syn == 1 && tcp.flags.ack == 0) || (dns.qry.type == 1 && dns.qry.name contains "suspicious") || (http.request && ip.addr == 192.168.0.1)
Ce filtre complexe recherche :
- L'activité d'analyse de ports (paquets SYN sans ACK)
- Les requêtes DNS pour les domaines contenant "suspicious"
- Les requêtes HTTP vers/depuis l'IP 192.168.0.1
Enregistrez ce filtre :
- Cliquez sur le bouton "+" à l'extrémité droite de la barre de filtre
- Nom :
Surveillance de la sécurité - Chaîne de filtre : (collez le filtre ci-dessus)
- Cliquez sur "Save"
Exportez cette configuration de filtre pour une utilisation future :
## Tout d'abord, ouvrez votre répertoire de profil Wireshark pour trouver les filtres enregistrés
ls -la ~/.config/wireshark/
Résumé de votre analyse de sécurité
Vérifions nos artefacts d'analyse de sécurité :
## Lister tous les fichiers que nous avons créés
ls -la ~/wireshark_lab/security_analysis/
Vous devriez voir :
scan_results.txt- Sortie de notre analyse nmapsuspicious_traffic.pcapng- Capture Wireshark des activités suspectessecurity_report.txt- Notre rapport d'analyse
Ces fichiers représentent un flux de travail d'analyse de cybersécurité de base :
- Capture du trafic suspect
- Analyse du trafic à l'aide de filtres appropriés
- Documentation des conclusions et des recommandations
Dans un environnement de sécurité réel, vous continueriez à affiner vos techniques de détection, à créer des filtres plus sophistiqués et à intégrer l'analyse Wireshark avec d'autres outils de sécurité pour une détection et une réponse complètes aux menaces.
Résumé
Dans ce laboratoire, vous avez acquis une expérience pratique avec Wireshark, un puissant analyseur de protocoles réseau largement utilisé en cybersécurité. Vous avez appris à :
- Installer et configurer Wireshark sur Ubuntu
- Capturer le trafic réseau à partir de diverses interfaces
- Appliquer des filtres pour analyser des types spécifiques de trafic réseau
- Identifier les activités potentiellement suspectes telles que l'analyse de ports
- Documenter vos conclusions dans un rapport d'analyse de sécurité
Ces compétences constituent la base de l'analyse du trafic réseau à des fins de cybersécurité. En comprenant comment utiliser efficacement Wireshark, vous pouvez surveiller le trafic réseau, détecter les anomalies et identifier les menaces de sécurité potentielles avant qu'elles ne causent des dommages importants.
Au fur et à mesure que vous poursuivez votre parcours en cybersécurité, vous pouvez vous appuyer sur ces bases en apprenant des techniques de filtrage plus avancées, en développant des règles de détection personnalisées et en intégrant Wireshark à d'autres outils de sécurité pour créer des solutions complètes de surveillance réseau.


