Introduction
Le Wi-Fi Protected Setup (WPS) est une fonctionnalité conçue pour faciliter la connexion des appareils à un réseau sans fil sécurisé. Cependant, certaines implémentations du WPS contiennent une vulnérabilité critique qui peut être exploitée. L'attaque Pixie-Dust cible une faille dans la manière dont certains points d'accès sans fil génèrent des nombres aléatoires (nonces) lors de l'établissement de la connexion WPS. Contrairement à une attaque par force brute standard qui peut prendre des heures, une attaque Pixie-Dust réussie peut récupérer le code PIN WPS et le mot de passe WPA/WPA2 en quelques secondes.
Dans ce laboratoire, vous vous mettrez dans la peau d'un testeur d'intrusion pour apprendre comment fonctionne cette attaque. Vous utiliserez des outils de la suite aircrack-ng et Reaver pour identifier une cible vulnérable et exécuter l'attaque Pixie-Dust dans un environnement simulé. Cela vous donnera une compréhension pratique de cette puissante technique de piratage Wi-Fi.
Identifier une cible vulnérable à Pixie-Dust à partir d'un scan wash
Dans cette étape, vous commencerez par scanner les réseaux Wi-Fi à proximité qui ont le WPS activé. Pour ce faire, vous devez d'abord mettre votre interface sans fil en "mode moniteur" (monitor mode), ce qui lui permet de capturer tout le trafic Wi-Fi dans l'air, pas seulement le trafic destiné à votre appareil. L'outil airmon-ng est utilisé à cette fin.
Commençons par activer le mode moniteur sur l'interface wlan0. Dans un scénario réel, cela crée une nouvelle interface virtuelle, généralement nommée wlan0mon.
sudo airmon-ng start wlan0
Vous devriez voir une sortie confirmant que le mode moniteur a été activé sur une nouvelle interface nommée wlan0mon.
PHY Interface Driver Chipset
phy0 wlan0 ath9k Atheros Communications Inc. AR9271 802.11n
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 station mode vif disabled for [phy0]wlan0)
Maintenant que vous avez une interface en mode moniteur, vous pouvez utiliser l'outil wash pour scanner les points d'accès (AP) activés pour le WPS. wash listera tous les réseaux WPS qu'il détecte, ainsi que des informations importantes à leur sujet.
Exécutez la commande suivante pour démarrer le scan sur votre interface moniteur :
sudo wash -i wlan0mon
Après quelques instants, wash affichera une liste de réseaux.
Wash v1.6.5 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
BSSID Ch WPS Version WPS Locked ESSID
----------------------------------------------------------------
00:11:22:33:44:55 6 1.0 No VulnerableAP
AA:BB:CC:DD:EE:FF 1 1.0 Yes SecuredAP
À partir de cette sortie, recherchez une cible. La cible idéale pour une attaque Pixie-Dust est celle pour laquelle WPS Locked est No. Dans notre cas, le réseau avec l'ESSID VulnerableAP et le BSSID 00:11:22:33:44:55 est notre cible. Notez son BSSID, car vous en aurez besoin dans les étapes suivantes.
Lancer Reaver avec le paramètre -K ou --pixie-dust
Dans cette étape, nous allons nous préparer à lancer l'attaque à l'aide de Reaver. Reaver est un outil spécialement conçu pour effectuer des attaques par force brute contre les codes PIN des enregistreurs WPS afin de récupérer les phrases de passe WPA/WPA2.
Cependant, Reaver dispose également d'un mode spécial pour l'attaque Pixie-Dust, beaucoup plus rapide. Pour activer ce mode, vous devez utiliser l'argument de ligne de commande -K ou --pixie-dust. Lorsque cet argument est utilisé, Reaver tentera d'abord l'attaque Pixie-Dust. Si le point d'accès cible n'est pas vulnérable, Reaver peut alors se rabattre sur la méthode traditionnelle, plus lente, de force brute.
La structure de base de la commande Reaver pour une attaque Pixie-Dust ressemble à ceci :
sudo reaver -i <interface_moniteur> -b <bssid_cible> -K
sudo reaver: Exécute l'outil Reaver avec les privilèges root.-i <interface_moniteur>: Spécifie l'interface réseau qui est en mode moniteur (par exemple,wlan0mon).-b <bssid_cible>: Spécifie le BSSID (adresse MAC) du point d'accès cible.-K: C'est le commutateur crucial qui indique à Reaver d'effectuer une attaque Pixie-Dust.
Cette étape consiste à comprendre la structure de la commande. Dans l'étape suivante, vous combinerez ces connaissances avec les informations recueillies lors du scan wash pour exécuter la commande complète.
Spécifier le BSSID cible et l'interface moniteur
Il est maintenant temps de tout assembler et de lancer l'attaque. Vous avez identifié un BSSID cible et vous connaissez la structure de commande pour une attaque Pixie-Dust avec Reaver.
Rappel de l'étape 1 :
- Interface Moniteur :
wlan0mon - BSSID Cible :
00:11:22:33:44:55
Vous allez maintenant construire la commande Reaver complète. Nous ajouterons également l'option -vv (très verbeux). Ceci est fortement recommandé car cela affiche des informations détaillées sur l'échange WPS, y compris les nonces et les hachages qui sont essentiels à l'attaque Pixie-Dust. Cette sortie est essentielle pour comprendre le fonctionnement de l'attaque.
Exécutez la commande suivante dans votre terminal pour lancer l'attaque :
sudo reaver -i wlan0mon -b 00:11:22:33:44:55 -K -vv
Reaver va maintenant commencer à communiquer avec le point d'accès cible. Vous verrez une série de messages indiquant la progression de la négociation WPS (WPS handshake). Comme la cible est vulnérable dans notre environnement simulé, l'attaque sera très rapide.
Comprendre comment Pixie-Dust exploite une génération de nonce faible
Dans cette étape, vous allez analyser la sortie de la commande Reaver pour comprendre les mécanismes de l'attaque Pixie-Dust. Il s'agit d'une étape conceptuelle sans nouvelles commandes à exécuter.
Examinez la sortie détaillée générée par Reaver à l'étape précédente. Vous devriez voir des lignes préfixées par [P], qui affichent les valeurs capturées lors de l'échange WPS :
...
[+] Sending M1 message
[+] Received M2 message
[P] E-S1: d3b25a26a713c1b2
[P] E-S2: 1a84a5e22236aebd
[P] PKE: c1...e2
[P] PKR: 3a...b1
[P] E-Hash1: 7d...c3
[P] E-Hash2: 9f...a5
[P] AuthKey: 8c...99
...
Voici ce qui se passe :
- Négociation WPS (WPS Handshake) : Le client (Reaver) et le point d'accès échangent une série de messages (M1, M2, etc.) pour s'authentifier.
- Échange de Nonces : Pendant cette négociation, ils échangent des "nonces" (
E-S1etE-S2), qui sont censés être de grands nombres aléatoires utilisés une seule fois. - La faille : La vulnérabilité Pixie-Dust réside dans les points d'accès qui génèrent ces nonces à l'aide d'un algorithme faible ou prévisible. Au lieu d'être véritablement aléatoires, les nonces sont dérivés de secrets ou étroitement liés à ceux-ci, secrets qui peuvent être utilisés pour casser le code PIN.
- Cassage hors ligne (Offline Cracking) : Reaver capture les deux nonces (
E-S1,E-S2) et deux hachages (E-Hash1,E-Hash2) du point d'accès. Avec ces quatre valeurs, il dispose de suffisamment d'informations pour effectuer un calcul hors ligne. Il effectue un cassage par force brute du code PIN sur votre machine locale sans avoir besoin d'envoyer d'autres requêtes au point d'accès.
Étant donné que le processus de cassage est effectué hors ligne et exploite la faiblesse mathématique de la génération des nonces, il contourne les défenses de limitation de débit du point d'accès et trouve le code PIN correct presque instantanément.
Observer la récupération quasi instantanée du PIN et de la clé
Dans cette dernière étape, vous observerez le résultat réussi de l'attaque. Après que Reaver ait effectué les calculs hors ligne, il affichera les informations d'identification récupérées.
La dernière partie de la sortie Reaver de l'étape 3 devrait ressembler à ceci :
...
[+] Pixie-Dust attack...
[+] 100.00% complete @ 2023-10-27 10:30:00 (0 seconds remaining)
[+] WPS PIN: '12345670'
[+] WPA PSK: 'SuperSecretPassword'
[+] AP SSID: 'VulnerableAP'
Analysons les informations récupérées :
WPS PIN: '12345670': Il s'agit du code PIN à 8 chiffres de la fonctionnalité WPS du routeur. Vous pourriez utiliser ce code PIN pour connecter d'autres appareils compatibles WPS au réseau.WPA PSK: 'SuperSecretPassword': Il s'agit de la clé pré-partagée WPA/WPA2 (Pre-Shared Key), qui est le mot de passe Wi-Fi réel du réseau. C'est le but ultime de l'attaque.AP SSID: 'VulnerableAP': Ceci confirme le nom du réseau que vous avez compromis avec succès.
L'aspect le plus remarquable est la vitesse. Notez le "0 seconds remaining" dans la sortie. L'ensemble du processus, de l'initiation de la négociation à la récupération de la clé, n'a pris que quelques secondes. Cela contraste fortement avec une attaque par force brute WPS traditionnelle, qui pourrait prendre de nombreuses heures, voire être impossible si le point d'accès bloque WPS après plusieurs tentatives échouées. Vous avez maintenant démontré avec succès l'efficacité de l'attaque WPS Pixie-Dust.
Résumé
Dans ce laboratoire, vous avez exécuté avec succès une attaque WPS Pixie-Dust dans un environnement simulé. Vous avez acquis une expérience pratique des outils et concepts essentiels à l'évaluation de la sécurité Wi-Fi.
Vous avez appris à :
- Utiliser
airmon-ngpour activer le mode moniteur sur une interface sans fil. - Utiliser
washpour scanner et identifier les points d'accès activés pour le WPS. - Comprendre le but de l'option
-K(--pixie-dust) dans Reaver. - Exécuter une attaque Pixie-Dust ciblée à l'aide de
reaver, en spécifiant le BSSID de la cible. - Interpréter la sortie pour comprendre comment l'attaque exploite une génération de nonce faible.
- Observer la récupération quasi instantanée du code PIN WPS et de la PSK WPA.
Ce laboratoire met en évidence une vulnérabilité réelle et significative. La défense la plus efficace contre cette attaque et d'autres attaques liées au WPS consiste à désactiver complètement la fonctionnalité WPS dans les paramètres d'administration de votre routeur.
