Forcer une poignée de main WPA avec une attaque de désauthentification aireplay-ng

Beginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire sur la capture forcée d'une poignée de main WPA. La poignée de main WPA/WPA2 en quatre étapes est une donnée critique requise pour tenter de casser le mot de passe d'un réseau Wi-Fi. Bien que vous puissiez attendre passivement qu'un appareil se connecte au réseau pour capturer cette poignée de main, cela peut prendre du temps.

Une approche plus active consiste à forcer un client actuellement connecté à se déconnecter, puis à se reconnecter immédiatement. Ce processus est appelé une attaque de désauthentification (ou "deauth"). Lorsque le client se reconnecte, il effectue la poignée de main en quatre étapes, que vous pouvez ensuite capturer.

Dans ce laboratoire, vous utiliserez aireplay-ng, un outil puissant de la suite aircrack-ng, pour effectuer une attaque de désauthentification contre un client Wi-Fi simulé. Cela vous permettra de capturer de manière fiable la poignée de main WPA pour analyse. Notre environnement de laboratoire a été préconfiguré avec un point d'accès sans fil (AP) virtuel nommé MyTestAP et un client connecté.

Identification d'un client associé à partir d'un scan airodump-ng

Dans cette étape, vous préparerez votre interface sans fil pour la surveillance, puis vous utiliserez airodump-ng pour trouver le point d'accès cible et son client connecté.

Tout d'abord, vous devez mettre l'une de vos interfaces sans fil virtuelles en mode moniteur. Ce mode permet à l'interface de capturer tout le trafic Wi-Fi dans l'air, pas seulement le trafic qui lui est destiné. Nous utiliserons l'interface wlan1.

Exécutez la commande suivante pour démarrer le mode moniteur sur wlan1 :

sudo airmon-ng start wlan1

Cette commande créera une nouvelle interface moniteur, généralement nommée wlan1mon. Vous devriez voir une sortie confirmant que le mode a été activé.

PHY     Interface       Driver          Chipset

phy0    wlan0           mac80211_hwsim  Software simulator
phy1    wlan1           mac80211_hwsim  Software simulator

                (mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon)
                (mac80211 station mode vif disabled for [phy1]wlan1)

Maintenant, exécutez airodump-ng sur la nouvelle interface moniteur (wlan1mon) pour commencer le scan. Nous utiliserons l'option -w pour écrire les paquets capturés dans un fichier nommé capture, et nous spécifierons le BSSID et le canal de notre AP cible pour concentrer le scan. Le BSSID de notre AP simulé est 02:00:00:00:01:00 et il est sur le canal 6.

sudo airodump-ng -w capture --bssid 02:00:00:00:01:00 -c 6 wlan1mon

Laissez airodump-ng s'exécuter. Vous verrez un écran qui se met à jour en temps réel. La partie supérieure liste les points d'accès à proximité, et la partie inférieure liste les clients qui y sont connectés. Vous devriez voir notre AP, MyTestAP, et un client connecté à celui-ci.

La sortie ressemblera à ceci :

CH  6 ][ Elapsed: 10 s ][ 2023-10-27 10:30

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 02:00:00:00:01:00  -30       10        5    0   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -35    0- 1      0        5

À partir de cette sortie, identifiez et notez :

  • BSSID : 02:00:00:00:01:00 (L'adresse MAC de l'AP).
  • STATION : 02:00:00:00:02:00 (L'adresse MAC du client connecté).

Laissez ce terminal ouvert. Vous en aurez besoin pour confirmer la capture de la poignée de main plus tard.

Ouvrir un nouveau terminal pour l'attaque de désauthentification

Dans cette étape, vous ouvrirez une nouvelle fenêtre de terminal. La commande airodump-ng de l'étape précédente doit continuer à s'exécuter dans le premier terminal pour écouter la poignée de main WPA. L'attaque de désauthentification sera lancée à partir d'un second terminal distinct.

Pour ouvrir un nouveau terminal, cliquez sur l'icône + dans la barre d'onglets du terminal en haut de la fenêtre du terminal.

Open New Terminal

Une fois le nouveau terminal ouvert, vous serez dans le répertoire ~/project, prêt à exécuter la commande d'attaque à l'étape suivante. Toutes les commandes ultérieures pour l'attaque elle-même devront être exécutées dans ce nouveau terminal.

Construction de la commande aireplay-ng Deauth avec --deauth

Dans cette étape, vous allez construire la commande aireplay-ng qui effectuera l'attaque de désauthentification. Vous utiliserez les informations que vous avez collectées à l'étape 1.

La syntaxe de base pour une attaque de désauthentification avec aireplay-ng est :
aireplay-ng --deauth <nombre_de_paquets> -a <BSSID_AP> -c <STATION_Client> <interface>

Décomposons les composants :

  • --deauth : Ce drapeau spécifie le mode d'attaque de désauthentification.
  • <nombre_de_paquets> : C'est le nombre de paquets de désauthentification à envoyer. L'envoi d'une petite rafale, comme 5, est généralement suffisant pour déconnecter le client.
  • -a <BSSID_AP> : Ceci spécifie l'adresse MAC du point d'accès cible. D'après l'étape 1, c'est 02:00:00:00:01:00.
  • -c <STATION_Client> : Ceci spécifie l'adresse MAC du client que vous souhaitez déconnecter. D'après l'étape 1, c'est 02:00:00:00:02:00.
  • <interface> : C'est votre interface sans fil en mode moniteur, qui est wlan1mon.

Maintenant, assemblez la commande complète dans votre nouveau terminal. Elle devrait ressembler exactement à ceci :

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

N'appuyez pas encore sur Entrée. À l'étape suivante, vous exécuterez cette commande.

Exécuter l'attaque ciblant le client et le point d'accès

Dans cette étape, vous allez exécuter la commande que vous venez de construire pour lancer l'attaque.

Dans votre deuxième fenêtre de terminal, appuyez sur Entrée pour exécuter la commande aireplay-ng.

sudo aireplay-ng --deauth 5 -a 02:00:00:00:01:00 -c 02:00:00:00:02:00 wlan1mon

L'outil commencera immédiatement à envoyer des paquets de désauthentification. La sortie affichera l'heure et indiquera qu'il envoie des désauthentifications dirigées au client.

La sortie ressemblera à ceci :

10:35:10  Waiting for beacon frame (BSSID: 02:00:00:00:01:00) on channel 6
10:35:10  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
10:35:11  Sending 64 directed DeAuths to 02:00:00:00:02:00 (code 7).
...

L'attaque est très rapide. Dès que vous exécutez la commande, le client ciblé sera déconnecté du réseau et tentera immédiatement de se reconnecter. Ce processus de reconnexion est ce qui génère la poignée de main WPA que nous voulons capturer.

Revenez rapidement à votre premier terminal (celui qui exécute airodump-ng) pour observer le résultat à l'étape suivante.

Confirmer la capture de la poignée de main dans la fenêtre airodump-ng

Dans cette étape, vous allez confirmer que l'attaque de désauthentification a réussi en vérifiant le message de poignée de main WPA dans votre fenêtre airodump-ng.

Revenez à votre premier terminal. Si l'attaque a fonctionné, vous verrez un nouveau message dans le coin supérieur droit de l'affichage airodump-ng :

WPA handshake: 02:00:00:00:01:00

Ce message confirme que airodump-ng a intercepté et enregistré avec succès la poignée de main à quatre voies pour le BSSID spécifié.

CH  6 ][ Elapsed: 45 s ][ 2023-10-27 10:35 ][ WPA handshake: 02:00:00:00:01:00

 BSSID              PWR  Beacons    #Data, #/s  CH  MB   ENC  CIPHER AUTH ESSID

 02:00:00:00:01:00  -30       48       82    1   6  540  WPA2 CCMP   PSK  MyTestAP

 BSSID              STATION            PWR   Rate    Lost    Frames  Probe

 02:00:00:00:01:00  02:00:00:00:02:00  -36    0- 1      0       75

Maintenant que vous avez la poignée de main, vous pouvez arrêter la capture. Appuyez sur Ctrl+C dans le terminal airodump-ng pour l'arrêter.

Étant donné que vous avez utilisé l'option -w capture à l'étape 1, airodump-ng a enregistré le trafic capturé dans des fichiers dans votre répertoire actuel (~/project). Listez les fichiers pour voir les résultats.

ls -l

Vous devriez voir plusieurs fichiers commençant par capture, y compris capture-01.cap. Ce fichier .cap contient les données brutes des paquets, y compris la poignée de main WPA que vous venez de capturer.

-rw-r--r-- 1 root  root    450 Oct 27 10:36 capture-01.cap
-rw-r--r-- 1 root  root    892 Oct 27 10:36 capture-01.csv
-rw-r--r-- 1 root  root    634 Oct 27 10:36 capture-01.kismet.csv
-rw-r--r-- 1 root  root    128 Oct 27 10:36 capture-01.kismet.netxml
-rw-r--r-- 1 root  root    121 Oct 27 10:28 hostapd.conf
-rw-r--r-- 1 root  root     52 Oct 27 10:28 wpa_supplicant.conf

Le fichier capture-01.cap est le précieux. Il peut maintenant être utilisé avec des outils de craquage de mots de passe comme aircrack-ng pour tenter de découvrir la clé pré-partagée du réseau.

Résumé

Félicitations pour avoir terminé ce laboratoire ! Vous avez réussi à effectuer une attaque de désauthentification pour forcer et capturer une poignée de main WPA.

Dans ce laboratoire, vous avez appris à :

  • Mettre une interface sans fil en mode moniteur à l'aide de airmon-ng.
  • Scanner et identifier un point d'accès (AP) et un client cibles avec airodump-ng.
  • Construire et exécuter une attaque de désauthentification à l'aide de aireplay-ng.
  • Confirmer la capture de la poignée de main WPA et localiser le fichier .cap résultant.

C'est une compétence fondamentale dans les tests de sécurité des réseaux sans fil. Le fichier de poignée de main capturé est l'ingrédient clé pour la phase suivante : le craquage de mot de passe hors ligne à l'aide d'un outil comme aircrack-ng et d'une liste de mots complète.