Introduction
Dans ce laboratoire, vous allez explorer une technique moderne pour tester la sécurité des réseaux sans fil WPA/WPA2. Plus précisément, vous apprendrez à capturer un Pairwise Master Key Identifier (PMKID). Le PMKID fait partie du protocole WPA et peut parfois être demandé à un point d'accès (AP) sans qu'un client y soit connecté. La capture de ce PMKID permet une attaque par force brute hors ligne pour découvrir le mot de passe Wi-Fi, une méthode souvent appelée attaque "sans client" (clientless).
Nous utiliserons deux outils principaux : hcxdumptool pour capturer le PMKID à partir du trafic réseau et hcxtools pour traiter les données capturées. À la fin de ce laboratoire, vous aurez capturé avec succès un PMKID à partir d'un point d'accès simulé et l'aurez sauvegardé pour un éventuel cracking.
Installation de hcxtools et hcxdumptool
Dans cette étape, nous allons installer les outils nécessaires à notre attaque. hcxdumptool est un outil sophistiqué conçu pour capturer des paquets à partir de réseaux Wi-Fi, ciblant spécifiquement les informations utiles aux attaques, comme les PMKIDs. hcxtools est une suite d'utilitaires utilisée pour convertir et manipuler les données capturées dans des formats compatibles avec les logiciels de cracking de mots de passe tels que Hashcat.
Nous utiliserons le gestionnaire de paquets apt-get pour installer les deux outils. Ouvrez un terminal et exécutez la commande suivante. Vous aurez besoin de privilèges sudo pour installer de nouveaux paquets sur le système.
sudo apt-get install -y hcxtools hcxdumptool
Une fois la commande terminée, le système téléchargera et installera les deux paquets ainsi que leurs dépendances. Vous devriez voir une sortie indiquant que les paquets sont en cours de décompression et de configuration.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
hcxdumptool hcxtools
0 upgraded, 2 newly installed, 0 to remove and ...
...
Setting up hcxtools (6.2.7-2) ...
Setting up hcxdumptool (6.2.7-2) ...
Les outils étant installés, nous sommes prêts à commencer l'écoute du trafic réseau.
Utilisation de hcxdumptool pour écouter les balises AP sur une interface
Dans cette étape, nous allons utiliser hcxdumptool pour commencer la capture de paquets sans fil. Pour ce laboratoire, une interface sans fil virtuelle nommée mon0 a été créée pour vous en mode moniteur. Le mode moniteur permet à l'interface de capturer tout le trafic Wi-Fi dans l'air, pas seulement le trafic qui lui est destiné.
Nous allons exécuter hcxdumptool et le diriger vers notre interface moniteur. Nous activerons également un affichage de statut pour voir ce que l'outil fait en temps réel.
Exécutez la commande suivante dans votre terminal. L'environnement de laboratoire exécute déjà un point d'accès de test nommé TestAP, que hcxdumptool détectera.
sudo hcxdumptool -i mon0 --enable_status=1
-i mon0: Spécifie l'interface à utiliser pour la capture.--enable_status=1: Active l'affichage du statut, qui montre des informations sur les réseaux trouvés et les données capturées.
Une fois que vous exécutez la commande, hcxdumptool commencera à scanner. Vous verrez un tableau des points d'accès et des clients détectés. Laissez-le fonctionner pendant environ 15 à 20 secondes.
start capturing (stop with ctrl+c)
INTERFACE:...............: mon0
FILTERLIST (MAC).........: 0 entries
FILTERLIST (ESSID).......: 0 entries
MAC ACCESS POINT.........: 2a:50:e4:4c:a8:75 (incremented on every new client)
MAC CLIENT...............: 2e:50:e4:4c:a8:75 (incremented on every new client)
REPLAYCOUNT..............: 64326
ANONCE...................: 2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a2a5d171a
[21:12:30 - 001] [FOUND ACCESS POINT: 02:00:00:00:01:00 (TestAP)]
...
Après un court instant, vous pouvez arrêter le processus de capture en appuyant sur Ctrl+C dans le terminal.
Identifier un hash PMKID dans la sortie de l'outil
Dans cette étape, vous apprendrez à identifier quand un PMKID a été capturé avec succès. Pendant que hcxdumptool est en cours d'exécution, il interroge activement les points d'accès pour voir s'ils répondent avec un PMKID. Lorsqu'il réussit, il affiche un message clair sur la console.
Si vous avez laissé la commande de l'étape précédente s'exécuter, vous auriez dû voir une ligne similaire à celle ci-dessous. Cette ligne est la confirmation que nous avons ce dont nous avons besoin.
[21:12:32 - 001] [FOUND PMKID] 02:00:00:00:01:00 -> 2e:50:e4:4c:a8:75
Analysons cette sortie :
[FOUND PMKID]: C'est l'indicateur clé. Cela signifie quehcxdumptoola réussi à demander et à recevoir un PMKID.02:00:00:00:01:00: C'est le BSSID (adresse MAC) du point d'accès (TestAP).-> 2e:50:e4:4c:a8:75: C'est l'adresse MAC de la station (notre client virtuel) quehcxdumptoola utilisée pour faire la demande.
Voir ce message signifie que vous avez capturé avec succès le PMKID. Vous n'avez pas besoin d'exécuter de nouvelles commandes dans cette étape ; l'objectif est de comprendre la sortie de l'étape précédente.
Comprendre l'avantage du PMKID par rapport aux handshakes
Dans cette étape, nous discuterons pourquoi l'attaque PMKID représente une avancée significative par rapport aux méthodes traditionnelles de cracking WPA/WPA2.
La méthode classique pour cracker un mot de passe Wi-Fi consiste à capturer un handshake en 4 étapes complet. Ce handshake se produit lorsqu'un appareil client (comme un ordinateur portable ou un téléphone) s'authentifie avec succès auprès d'un point d'accès. Pour le capturer, un attaquant doit attendre qu'un appareil se connecte ou forcer un appareil connecté à se déconnecter puis à se reconnecter. Cela présente un inconvénient majeur : cela dépend entièrement de la présence et de l'activité d'un appareil client. Si aucun appareil n'est connecté, ou s'ils ne se reconnectent pas pendant que vous écoutez, vous ne pouvez pas capturer le handshake.
L'attaque PMKID surmonte cette limitation. Le PMKID fait partie du processus d'association initial, spécifiquement dans l'élément d'information du réseau de sécurité robuste (RSN IE) que les AP modernes diffusent dans leurs trames beacon. hcxdumptool peut demander activement ces informations à l'AP sans qu'aucun client légitime ne soit présent.
L'avantage clé est que cette attaque est sans client (clientless). Nous devons seulement être à portée de l'AP cible. Cela rend le processus d'acquisition d'un hash crackable beaucoup plus rapide et plus fiable, car nous n'attendons plus passivement qu'un client agisse.
Sauvegarder le hash PMKID dans un fichier pour le cracking
Dans cette dernière étape, nous allons exécuter hcxdumptool à nouveau, mais cette fois nous sauvegarderons les données capturées contenant le PMKID dans un fichier. Ce fichier pourra ensuite être utilisé avec d'autres outils comme hcxpcapngtool et hashcat pour le cracking hors ligne.
Nous utilisons l'option -o pour spécifier un fichier de sortie. Le format standard pour ces captures est pcapng.
Exécutez la commande suivante. Elle commencera la capture et sauvegardera toutes les découvertes dans un fichier nommé captured_pmkid.pcapng dans votre répertoire actuel (~/project).
sudo hcxdumptool -i mon0 -o captured_pmkid.pcapng --enable_status=1
Laissez l'outil s'exécuter jusqu'à ce que vous voyiez à nouveau le message [FOUND PMKID]. Une fois que vous le voyez, vous pouvez arrêter la capture avec Ctrl+C.
Après avoir arrêté l'outil, vérifiez que le fichier a été créé en listant le contenu du répertoire :
ls -l
Vous devriez voir le fichier captured_pmkid.pcapng dans la sortie :
total 8
-rw-r--r-- 1 root root 1060 Dec 12 21:15 captured_pmkid.pcapng
-rw-r--r-- 1 labex labex 159 Dec 12 21:10 hostapd.conf
Ce fichier contient maintenant le PMKID du réseau TestAP. La prochaine étape logique dans une attaque réelle serait de convertir ce fichier dans un format de hash et d'utiliser un outil de cracking de mot de passe pour trouver le mot de passe d'origine.
Résumé
Dans ce laboratoire, vous avez acquis avec succès les bases de l'attaque WPA/WPA2 sans client en capturant un PMKID.
Vous avez commencé par installer les paquets essentiels hcxtools et hcxdumptool. Vous avez ensuite utilisé hcxdumptool pour écouter sur une interface en mode moniteur, identifié le message [FOUND PMKID] confirmant une capture réussie, et compris l'avantage théorique clé de cette méthode par rapport aux attaques traditionnelles basées sur les handshakes. Enfin, vous avez sauvegardé le PMKID capturé dans un fichier pcapng, le préparant pour la prochaine étape d'un audit de sécurité, qui serait le cracking de mot de passe hors ligne. Cette compétence est un ajout précieux à la boîte à outils de tout testeur de sécurité sans fil.
