Comment identifier les activités réseau suspectes avec Wireshark en cybersécurité

WiresharkAdvanced
Pratiquer maintenant

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.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau avancé avec un taux de réussite de 15%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

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 :

  1. La section supérieure affiche les interfaces réseau disponibles
  2. La section du milieu (actuellement vide) affichera les paquets capturés
  3. La barre de filtre en haut vous permet de filtrer les paquets affichés
  4. 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 :

  • eth0 ou ens33 : Connexion Ethernet (filaire)
  • wlan0 : Connexion Wi-Fi
  • lo : 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 :

  1. Si Wireshark n'est pas déjà en cours d'exécution, démarrez-le :
wireshark &
  1. Dans la fenêtre principale de Wireshark, trouvez votre interface réseau principale (probablement eth0 ou ens33 - utilisez l'interface que vous avez identifiée précédemment avec la commande ip a).

  2. Double-cliquez sur l'interface réseau pour commencer à capturer les paquets.

  3. 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
  4. 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
  1. Revenez à Wireshark, et vous devriez voir les paquets ping ICMP apparaître dans la capture.

  2. 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 :

  1. Dans Wireshark, allez dans File > Save ou appuyez sur Ctrl+S.

  2. Accédez au répertoire ~/wireshark_lab que nous avons créé précédemment.

  3. Nommez votre fichier basic_capture.pcapng et cliquez sur Save.

## 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é :

  1. Dans Wireshark, allez dans File > Open ou appuyez sur Ctrl+O.

  2. Accédez à ~/wireshark_lab/basic_capture.pcapng et 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 IP
  • tcp.port == 80 - Affiche les paquets avec le port TCP 80
  • http - Affiche tous les paquets HTTP

Application de filtres d'affichage de base

Entraînons-nous à appliquer des filtres de base à notre trafic capturé :

  1. Assurez-vous que Wireshark est ouvert avec notre fichier de capture précédemment enregistré. Sinon, ouvrez-le :
wireshark ~/wireshark_lab/basic_capture.pcapng &
  1. Localisez la barre de filtre en haut de la liste des paquets (elle indique "Apply a display filter..." lorsqu'elle est vide).

  2. Filtrons le trafic DNS. Tapez ce qui suit dans la barre de filtre :

dns
  1. 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.

  1. Essayons maintenant de filtrer le trafic HTTP :
http

Appliquez le filtre et observez les paquets HTTP.

  1. 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 :

  • && ou and pour l'opération ET (AND)
  • || ou or pour l'opération OU (OR)
  • ! ou not pour 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 :

  1. Dans la barre de filtre, tapez :
tcp
  1. Appliquez le filtre. Vous ne devriez voir que les paquets TCP.

  2. Enregistrons ce filtre pour une utilisation future. Cliquez sur le bouton "+" situé à droite de la barre de filtre.

  3. Dans la boîte de dialogue qui apparaît, entrez :

    • Nom du filtre : TCP Traffic
    • Chaîne de filtre : tcp
  4. Cliquez sur "Save" pour enregistrer ce filtre.

Analyse de la hiérarchie des protocoles

Wireshark fournit une visualisation utile des protocoles dans votre capture :

  1. Allez dans Statistics > Protocol Hierarchy.

  2. Cela montre une répartition des protocoles par pourcentage et nombre de paquets.

  3. Fermez cette fenêtre une fois l'examen terminé.

Enregistrement des résultats filtrés

Enregistrons une vue filtrée de notre capture :

  1. Appliquez un filtre de votre choix (par exemple, http ou dns).

  2. Allez dans File > Export Specified Packets.

  3. Assurez-vous que "Displayed" est sélectionné dans la section "Packet Range".

  4. Accédez à ~/wireshark_lab/ et enregistrez sous filtered_capture.pcapng.

  5. 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 :

  1. Utilisation inhabituelle des ports : Trafic sur des ports peu courants ou des ports de logiciels malveillants bien connus
  2. Requêtes DNS excessives : Peut indiquer un tunneling DNS ou une exfiltration de données
  3. Informations d'identification non chiffrées : Mots de passe envoyés en clair
  4. Analyse de ports (Port Scanning) : Plusieurs tentatives de connexion à différents ports
  5. Schémas de données inhabituels : Charges utiles encodées en Base64 ou trafic chiffré là où ce n'est pas attendu
  6. 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

  1. Démarrez une nouvelle capture Wireshark sur votre interface réseau principale :
wireshark &
  1. Dans Wireshark, double-cliquez sur votre interface réseau principale pour commencer la capture.

  2. 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
  1. Une fois la commande terminée, arrêtez la capture Wireshark en cliquant sur le bouton carré rouge.

  2. Enregistrez cette capture sous le nom suspicious_traffic.pcapng dans 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 :

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

  1. 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 :

  1. 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
  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"
  2. 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 nmap
  • suspicious_traffic.pcapng - Capture Wireshark des activités suspectes
  • security_report.txt - Notre rapport d'analyse

Ces fichiers représentent un flux de travail d'analyse de cybersécurité de base :

  1. Capture du trafic suspect
  2. Analyse du trafic à l'aide de filtres appropriés
  3. 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 à :

  1. Installer et configurer Wireshark sur Ubuntu
  2. Capturer le trafic réseau à partir de diverses interfaces
  3. Appliquer des filtres pour analyser des types spécifiques de trafic réseau
  4. Identifier les activités potentiellement suspectes telles que l'analyse de ports
  5. 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.