Wireshark : activer la géolocalisation d’adresses IP
Sommaire
I. Présentation
Aujourd’hui, nous allons activer et utiliser une fonctionnalité très intéressante de Wireshark : la géolocalisation des adresses IP publiques via les bases de données MaxMind GeoLite2.
Cette fonctionnalité va permettre d’afficher des informations sur les adresses IP publiques, afin de connaître l'origine ou la destination d'un flux dans Wireshark. Voici les informations que l'on pourra obtenir :
- ASN : le numéro Autonomous System
- Le Pays
- La ville
Avant de continuer, voici la liste des précédents articles de cette série sur Wireshark :
- Tutoriel - Installation pas-à-pas de Wireshark
- Tutoriel - Découverte de l'interface Wireshark
- Tutoriel - Astuces pour personnaliser l'interface de Wireshark !
- Tutoriel - Wireshark et les filtres de capture
- Tutoriel - Wireshark et les filtres d'affichage
- Tutoriel - Wireshark et la résolution de noms
- Tutoriel - Wireshark et les commentaires
- Téléchargement - Wireshark
II. Mise en place des bases de données
A. Prérequis
Avant de télécharger les bases de données MaxMind, il faut valider que notre version de Wireshark est compatible avec cette fonctionnalité. Cette fonctionnalité est disponible depuis la version 2.6 de Wireshark.
Pour vérifier la compatibilité de Wireshark, il faut lancer l'application, aller sur le menu "Aide" et ensuite cliquer sur "A Propos de Wireshark".
Une nouvelle fenêtre s’ouvre, vous devez trouver ceci "with MaxMind DB resolver" , sinon il faudra télécharger une version de Wireshark plus récente.
B. Récupération des bases de données
Pour récupérer les bases de données MaxMind, il faut obligatoirement créer un compte sur leur site (la récupération des bases de données est gratuite).
Voici le lien : MaxMind - Télécharger les bases de données GeoIP
Une fois authentifié, il faut récupérer les trois fichiers suivants :
- GeoLite2 ASN
- GeoLite2 City
- GeoLite2 Country
Pour télécharger une base de données, il faut absolument prendre le format "GeoIP2 Binary (.mmdb)(APIs)" et ensuite cliquer sur "Download GZIP".
Répéter cette opération pour les fichiers "GeoLite2 City" et "GeoLite2 Country".
Une fois les fichiers téléchargés, vous devriez avoir trois fichiers au format tar.gz comme ceux-ci :
N.B : la date dans le nom du fichier correspond à la date de MAJ de la base de Données.
Une fois les téléchargements effectués, je vous recommande de copier les trois fichiers dans un répertoire dédié.
Dernière étape avant de lier les bases de données à Wireshark, il faut décompresser les fichiers avec 7-Zip (ou un logiciel équivalent qui prend en charge le format tar.gz). Cette étape est à faire deux fois par fichier.
Après la première décompression, vous devez avoir trois nouveaux fichiers au format ".tar".
Ensuite, vous devez répéter cette opération sur les fichiers en ".tar". Dans chaque dossier présent sur votre machine se trouve un fichier avec l'extension ".mmdb". Voici un exemple :
Gardez de côté l'ensemble des fichiers en ".mmdb" , et vous pouvez supprimer l’ensemble des autres fichiers, car ce sont seulement les archives sources.
Vous devez vous retrouver avec les trois fichiers suivants "GeoLite2-ASN.mmdb", "GeoLite2-City.mmdb" et "GeoLite2-Country.mmdb".
Nous pouvons passer à l'étape suivante qui consiste à intégrer ces bases de données dans Wireshark.
C. Intégration des bases de Données dans Wireshark
L’intégration des bases de données dans Wireshark est très simple. Tout d'abord, nous allons spécifier le répertoire où sont stockés les fichiers.
Ouvrez Wireshark et allez sur le menu "Editer" puis "Préférences".
Une nouvelle fenêtre s'ouvre, cliquez sur "Name Resolution". Ensuite, cliquez sur "Editer…" au niveau de "MaxMind database directories".
Une autre fenêtre s’ouvre, cette fois pour donner le chemin du répertoire des bases de données.
Cliquez sur le "+" et ensuite cliquez sur "Parcourir" pour spécifier votre répertoire. Enfin, cliquez sur "OK".
Cliquez une nouvelle fois sur "OK" dans la fenêtre des préférences.
Voilà, la configuration de GeoIP est terminée !
III. Utilisation de la fonctionnalité GeoIP
A. Les Endpoints
Pour voir rapidement la localisation des adresses IP publiques dans Wireshark, il faut aller dans le menu "Statistiques" et ensuite cliquer sur "Endpoints".
La fenêtre des "Endpoints" apparaît, cliquez sur "IPv4".
Comme vous pouvez le voir, quatre nouvelles colonnes sont apparues :
- Country : localise le pays d’une adresse IP
- City : localise la ville d’une adresse IP
- AS : Permet de spécifier dans quelle AS se trouve une adresse IP
- AS Organisation : permet de spécifier à quelle entreprise appartient cette IP
N.B : vous pouvez aussi retrouver les informations de GeoIP sur l’onglet IPv6.
B. La carte de GeoIP
Dans la fenêtre des "Endpoints", il y a un nouvel icône en bas à gauche intitulé "carte". Cliquez sur "Carte" et ensuite cliquez sur "Ouvrir dans un navigateur".
N.B : Wireshark utilisera votre navigateur par défaut.
Votre navigateur s’ouvre avec la carte basée sur OpenStreetMap, et on voit le nombre d'adresses IP par localisation.
Vous pouvez zoomer en double-cliquant sur une valeur de la carte. Ensuite, si vous cliquez sur une adresse IP, vous pouvez afficher les informations qu’on retrouve dans les colonnes sur les endpoints.
C. GeoIP et le détail des paquets
Les informations de GeoIP se situent aussi dans le détail des paquets dans la partie "Internet Protocol". Pour tester, cliquez sur un paquet contenant une adresse IP publique au sein de votre capture. Ensuite, allez dans le panneau détail du paquet, et déroulez l’en-tête "Internet Protocol Version 4" puis déroulez la partie "GeoIP".
N.B : La partie GeoIP peut-être soit indiquée en source ou en destination.
Avec la mise en place de la base de données GeoIP, nous retrouvons aussi les informations dans la partie Internet Protocol (V4 ou V6).
On y retrouve les informations de base comme le pays, la ville, l'AS et la société à laquelle appartient l'adresse IP. En plus, nous avons des informations de style "coordonnées GPS" telles que la longitude et la latitude de l’adresse IP.
D. Les filtres d'affichage
Il est possible de filtrer une trace réseau via les informations de GeoIP, voici les filtres intéressants à garder précieusement :
- Filtrer sur un pays en source ou destination : ip.geoip.country == "United States"
- Filtrer sur pays en source : ip.geoip.src_country == "United States"
- Filtrer sur pays en destination : ip.geoip.dst_country == "United States"
- Filtrer sur le code d’un pays en source ou destination : ip.geoip.country_iso == "US"
- Filtrer sur une organisation (une entreprise) : ip.geoip.org == "GOOGLE"
N.B : pensez à consulter notre précédent article sur les filtres d’affichage dans Wireshark afin de créer vos filtres facilement.
E. Les colonnes
Vous pouvez aussi ajouter en colonne dans la liste des paquets avec les informations de GeoIP.
Prenons un exemple : ajouter en colonne les numéros AS.
Il faut retourner dans le détail du paquet au niveau de l’en-tête "Internet Protocol version 4", dérouler la partie "GeoIP" et ensuite effectuez un clic droit et cliquez sur "Appliquer en Colonne".
N.B : pensez à consulter notre précédent article sur la personnalisation de Wireshark pour vous aider à gérer vos colonnes.
IV. Mon retour d’expérience
La fonctionnalité de Géolocalisation IP m’a servi dans le cadre d’une tentative de cyberattaque afin d’identifier de quel pays provenait cette tentative, dans le cadre d'une analyse post mortem. A titre personnel, ça m’a permis de retirer l’envoi de statistiques d’une application, vers le Brésil.
V. Conclusion
Cet article sur Wireshark et la fonctionnalité de GeoIP est terminé ! Grâce à cette fonctionnalité, vous disposez d'informations supplémentaires très pratiques pour analyser des paquets, et surtout précieuses dans le cadre d’analyses liées à un incident de cybersécurité.
Le prochain article parlera du décryptage de flux HTTPS en live avec Wireshark.
Très bon article, merci à vous !
Merci pour votre retour, ça fait plaisir.
J’ai beaucoup apprécié votre article, merci.
Merci pour ce retour positif.