Cracker une clé WPA : attaque par dictionnaire

Bonjour à tous, aujourd'hui je vais vous montrer comment cracker une clé WPA.

Je vous rappel que vous êtes responsable de ce que vous faites et dans ce cas nous ne saurions être tenus pour responsables quant à l'utilisation de ce tutoriel par des personnes mal intentionnées.

Nous allons utiliser une méthode qui s'appelle "attaque par dictionnaire". Elle consiste à tester énormément de mots de passe contenus dans un fichier (le dictionnaire) jusqu'à trouver le bon, mais rassurez-vous, vous n'allez pas le faire manuellement, aircrack-ng est là pour ça ;)

Prérequis

Avant de vous lancer dans ce tutoriel, il faut :

  • Disposer d'une carte wifi compatible mode monitor et injection
  • Avoir l'autorisation du propriété du réseau Wifi pour vous amuser avec
  • Qu'une station valide soit connectée au réseau wifi
  • Etre familier avec Backtrack
  • Posséder un dictionnaire de mot de passe

Concernant ce dernier point, vous pouvez en trouver sur le net gratuitement. Pour ce tuto, j'ai récupéré un dictionnaire simpliste d'à peine 500ko, je ne vous ferai donc pas l'affront de vous le proposer.
Sachez qu'il s'agit d'un simple fichier texte et que, dans l'absolu, vous pouvez vous faire votre propre dictionnaire mais c'est un peu fastidieux, vous en conviendrez ;)

Je suppose ici que vous avez votre live CD de Backtrack et que savez comment le booter. Si ça n'est pas le cas, je vous conseil de lire les prérequis du tuto Cracker une clé WEP.

1. Passage en mode monitor de la carte wifi

Tout d'abord, nous devons passer notre carte wifi en mode monitor afin de pouvir écouter les réseaux wifi environnants. Pour se renseigner sur notre interface wifi, on utilise la commande suivante :


iwconfig

 

IWCONFIG

 

Dans le cas présent, notre interface s'appelle wlan0. Ensuite, nous allons passer notre carte wifi en mode monitor grâce à cette commande :


airmon-ng start wlan0

 

MODE MONITOR

 

Le retour de console indiquant "monitor mode enabled on mon0" nous informe que la carte wifi est bien en mode monitor et que l'interface s'appelle mon0. Nous pouvons maintenant passer à l'écoute des réseaux.

2. Airodump-ng, écoute des réseaux wifi

Nous allons maintenant lancer airodump-ng, le programme permettant de surveiller les réseaux wifi. Voici comment il s'utilise :
airodump-ng <option> <interface>
<option> correspond aux options que l'on souhaite utiliser pour cette commande
<interface> correspond à notre interface wifi, dans le cas présent : mon0

Airodump-ng offre une multitude d'options et de filtre afin de cibler ce que l'on souhaite surveiller :

  • -w permet de créer un fichier de capture dans lequel seront enregistrés tous les paquets. Exemple : airodump-ng -w out wlan0 (un fichier de capture nommé out est créé. Le premier fichier s'appellera out-01.cap, le 2eme out-02.cap ...etc)
  • --encrypt permet de filtrer les réseaux en fonction du type d'encryptage utilisé. Exemple: airodump-ng --encrypt wep wlan0 (seuls les réseaux en WEP seront affichés)
  • -c permet de cibler l'écoute sur un canal wifi particulier. Exemple: airodump-ng -c 1 wlan0 (airodump-ng n'écoutera que le canal 1)
  • --bssid permet de ne cibler qu'un seul point d'accès en fonction de son adresse MAC. Exemple: airodump-ng --bssid 00:16:41:C9:E0:3F wlan0 (airodump-ng ne surveillera que le point d'accès dont l'adresse MAC est 00:16:41:C9:E0:3F)

Ici, nous allons surveiller les réseaux encryptés en WPA, la commande à utiliser est donc :


airodump-ng --encrypt wpa mon0

 

Ecoute des réseaux wifi encryptés en WPA

 

Le retour de console nous affiche alors tous les réseaux wifi à proximité encryptés en WPA et sur tous les canaux. Pour arrêter airodump-ng, faites Ctrl + C.
Notre cible est ici la livebox ayant pour adresse MAC 5C:33:8E:48:2A:94 (colone BSSID) et émettant sur le canal 6 (colone CH). Nous allons focaliser notre écoute sur cette cible et enregistrer les données de capture dans un fichier nommé out. Notre commande va donc être :


airodump-ng -w out --encrypt wpa -c 6 --bssid 5C:33:8E:48:2A:94 mon0

 


Ecoute des réseaux wifi encryptés en WPA

airodump-ng ajoute -01.cap au nom du premier fichier de capture. Si on stoppe et relance airodump avec le même nom de fichier, il en créera un second -02.cap, etc...

 

On peut voir qu'une station est connectée. Cette condition est indispensable pour effectuer un crack WPA. En effet, la capture d'un handshake ne peut être faite QUE si une station valide est connectée au point d'accès.

3. Aireplay-ng, attaque active

Le 4 way handshake est un ensemble de paquets émis par le point d'accès et la station lorsque celle ci se connecte. Lors de la connexion, si votre réception est bonne (la qualité radio du signal est visible dans la colonne "rxq", si elle est supérieure à 50 elle est de bonne qualité), le handshake sera capturé.

Une méthode de crack (méthode passive) consiste à cibler un point d'accès et à écouter le réseau pendant des heures en attendant qu'un client se connecte.
Une autre méthode (celle que nous allons utiliser ici) consiste à utiliser aireplay-ng et son attaque -0 (désauthentication) pour forcer la déconnexion du client et capturer le handshake lorsqu'il se reconnecte.

Le gestionnaire de réseau wifi de Windows est reglé par défaut pour se reconnecter automatiquement à un point d'accès en cas de déconnexion, l'attaque -0 exploite cette faille.

On commence par ouvrir deux nouveaux shell.
Dans le premier, on prépare la commande suivante :


aireplay-ng -0 0 -a 5C:33:8E:48:2A:94 mon0

Dans le second shell, on prépare la commande suivante :


aireplay-ng -0 0 -a 5C:33:8E:48:2A:94 -c 38:E7:D8:D8:D6:65 mon0

Détaillons un peu ces commandes :

  • Le paramètre -0 signifie que l'on effectue une attaque déauth
  • Le 0 qui suit signifit que l'envoi de paquets de déauth sera infini, il faudra donc arrêter l'attaque après quelques instants avec Ctrl + C. Vous pouvez spécifier un nombre d'itérations, par exemple aireplay-ng -0 5 , et l'attaque s'arrêtera après l'envoi de 5 paquets de déauth.
  • Le paramètre -a correspond à l'adresse MAC de la box (colone BSSID)
  • Le paramètre -c correspond à l'adresse MAC de la station connectée (colone STATION)

Quand les commandes sont prêtes, lancez-les dans chaque shell, patientez quelques secondes et stoppez les.

SHELL2 SHELL3

Si l'attaque a réussi, vous devriez voir apparaître un WPA handshake en haut à droite de la fenêtre airodump-ng, indiquant que l'attaqe est un succès.
Selon la qualité de la réception, la capture du handshake peut être immédiate, ou très fastidieuse. Il se peut que vous deviez renouveler les attaques à de nombreuses reprises avant d'obtenir le tant attendu handshake.

Ecoute des réseaux wifi encryptés en WPA

4. Aircrack-ng, bruteforce du handshake

Maintenant que le handshake est dans le fichier de capture, nous pouvons stopper airodump-ng.

Nous attaquons maintenant la partie qui risque d'être la plus longue en terme de temps. Vous devez vous armer d'un bon dictionnaire de mot de passe et le copier/coller dans le répertoire où se trouve le fichier de capture. Dans mon cas, mon dictionnaire s'appelle "lower.lst" .

C'est l'heure du moment tant attendu : le crack !

Voici comment il se lance : aircrack-ng -w dictionnaire fichierDeCapture

Dans le cas présent, la commande est :


aircrack-ng -w lower.lst out-01.cap

Le crack se lance alors. Souvenez-vous de ce que je vous ai dis en début de ce tuto, Aircrack-ng va tester tous les mots de passe contenus dans le fichier dictionnaire jusqu'à trouver le bon. La vitesse du crack, indiquée en haut en keys/second dépend de la puissance de calcul de votre processeur.

Crack en cours...

Attends un peu, comment tous les mots de passe du monde peuvent être contenus dans un seul fichier .txt ?

Justement, ça n'est pas possible, d'où l'importance d'avoir un dictionnaire conséquent. Mais c'est à double tranchant, car si on augmente la taille du dictionnaire, on augmente potentiellement la durée du crack. Vous pouvez également tester plusieurs dictionnaires. Quoi qu'il soit, cette étape est affaire de patiente ;)

Mais avec un peu de chance...

KEY FOUND !

Ce tuto est là pour vous faire prendre conscience que même s'il est techniquement possible de cracker une clé WPA par bruteforcing, il n'est pas impossible que ledit crack dure (très) longtemps voire même échoue, donc pas de panique, votre réseau wifi reste relativement sûr, surtout si vous utilisez un encryptage en WPA2 128 bits ;).

Sources: [1]

Vos réactions (30) :

Tch@rod21

slt! J'aimerais savoir où télécharger le dictionnaire de mot de passe le plus puissant!

14/04/2013 à 09:22

lobodol

@Tch@rod21 : Va faire un tour ici : http://crackstation.net/
Tu devrais trouver ton bonheur, il y a des dico pour différents types de clé et c'est très complet.
Amuse-toi ;)

14/04/2013 à 13:34

donchaki

Bonjour,

en premier, je vous remercie pour votre tuto et je vous confirme que je suis un amateur du monde d'intrusion et de pénétration j'ai eu de succès à cracker les réseaux wifi wep et wpa a la présence de l'option wps avec reaver sans probléme et biensure l'outil backtrack 5r3 sous une machine virtuelle vm ware work station 8 et la miraculeuse carte wifi ALFA NETWORK AWUS036H 1000MW.

de ce fait, j'ai tenté de cracker un réseau wifi wpa à l'aide d'un dictionnaire de 4giga, je connais les démarches pour récuperer le handshake comme démontré sur votre tuto.

a titre d'information, je peux me connecter sur backtrack 5r3 sans carte wifi mais via ma carte wifi sur windows7 "connexion internet partagé avec vmware" ,si je me déconnecte sur windows 7 et récuperer le handshak de réseau wpa je pourrais continuer le crack avec dictionnaire sans carte wifi connecté sous backtrack 5r3.

en 2éme, je me demande comment transférer mon dico de windows 7 vers backtrack sans clé usb et de préférence à l'aide de réseau partagé .

merci d'avance

27/05/2013 à 12:31

lobodol

@donchaki : Si j'ai bien compris ce que tu me demande, il s'agit de régler les options de presse-papier partagé dans VMWare. Et pour faire ça, j'imagine qu'il faut fouiller dans les options de configuration dudit logiciel.
Bonne chance !

11/06/2013 à 15:48

Kamote

Bonjour, j'ai une petite question, j'ai trouver un dictionnaire de 13go mais je ne peux l'ouvrir avec aucun programme et donc je n'ai que son nom mais pas après son nom un ".(quelque chose)" et comme dans ton tuto ton dico et en .lst je suis perdu x)
Je vais tenter de faire toute la manip avec mon dico en .txt mais si sa plante ça fou les boules quand même x)

14/06/2013 à 09:28

lobodol

Bonjour Kamote.
As-tu vérifié qu'il ne s'agissait pas d'une archive ? Il est fort probable que ça soit un dictionnaire compressé dont l'extension ait été supprimée ensuite.
Tu as essayé également de l'ouvrir avec Notepad++ (on ne sait jamais) ?

14/06/2013 à 09:31

Kamote

Mon dictionnaire venez de plusieurs fichiers .rar que j'ai décomprésser si c'est la question x)
Et je vais essayer de l'ouvrir avec notepad++

14/06/2013 à 10:09

Kamote

Je viens d'essayer avec Notepad++, le verdict n'a pas tardé, file too big x)
Ai-je vraiment besoin de l'ouvrir pour pouvoir l'utilisé pendant la manip ou ce n'est pas important?

14/06/2013 à 10:14

lobodol

Ah d'accord, bon dans ce cas pas de soucis, il s'agit bien d'un fichier texte simplement trop gros pour être lu tel quel.
Tu peux donc l'utiliser sans problème pour ta manip'. Comme ton fichier n'a pas d'extension, ta commande sera de la forme suivante :
aircrack-ng -w tonDicoSansExtension out-01.cap

14/06/2013 à 10:18

Kamote

D'accord merci :D
Encore une question, je ne dispose pas de CD avec Backtrack mais je le fais par clé USB car j'ai lus que c'était possible mais j'ai beau chercher et bidouiller dans le BIOS de mes deux PC (HP pavilion DV5 et HP pavilion g series ou pavilion g7) pour booter sur la clé USB configurer avec backtrack mais rien n'y fait :(
Une idée?

14/06/2013 à 10:23

lobodol

Tout d'abord il faut t'assurer que tu as bien créé une clé usb bootable. C'est à dire que tu n'as pas juste copié/collé l'iso sur la clé mais bien utilisé un logiciel pour créé ta clé usb bootable (UNetbootin par exemple).
Ensuite, tu as deux solutions : modifier la séquence de boot dans le BIOS ou appuyer sur F11 (de mémoire) pour choisir sur quel périphérique booter.
Vérifie tout de même les raccourcis clavier pour ta carte mère ;)

14/06/2013 à 10:31

Kamote

Pour la clé USB j'ai effectivement utilisé unetbootin avec le fichier iso mais c'est une fois dans le BIOS que ça pèche
Connais-tu un moyen d'être sur que le BIOS que l'on possède puisse "booter" avec une clé USB?

14/06/2013 à 10:34

lobodol

Si le BIOS de ton pc est (vraiment) vieux, il est possible qu'il te soit impossible de booter via une clé USB, tu devras donc utiliser un CD (ou DVD).
Va quand même faire un tour ici, ça peut t'être utile.

14/06/2013 à 10:37

Kamote

Merci pour tout :)

14/06/2013 à 10:41

Kamote

J'ai enfin réussie a booter mon pc avec ma clé mais quand je le lance le message suivant s'écrit et ne disparait jamais et rien ne ce passe "SYSLINUX 4.03 2010-10-22 EDD Copyright (C) 1994-2010 H. Peter Anvin et al"
Que dois-je faire?

14/06/2013 à 14:23

lobodol

Il semblerait que ta liveUSB soit corrompu. Essaye de refaire une liveUSB ou bien avec un autre ISO de BackTrack...

14/06/2013 à 14:30

Kamote

J'ai de nouveau un problème x)
J'ai le handshake mais à partir du moment ou je tape la commande pour le crack ce message apparaît: "fopen(dictionary) failed: No such file or directory
Opening out-01.cap
Read 192794 packets

15/06/2013 à 12:29

lobodol

C'est qu'il n'arrive pas à ouvrir ton dictionnaire. Tu es sûr que tu as renseigné le bon nom de fichier ? Tu es sûr que ton dictionnaire se trouve bien dans le même répertoire que ton fichier de capture ?

15/06/2013 à 12:32

Kamote

C'est à dire?
Je débute dans ce domaine et mon dictionnaire et dans un dossier de mon ordinateur car je ne savais pas ou le mettre

15/06/2013 à 12:35

lobodol

... quand tu utilise airodump-ng, ça te créé un fichier de capture (out-01.cap si tu a suivi le tuto). Il se trouve dans le répertoire root (de mémoire). C'est dans ce répertoire qu'il faut placer ton dictionnaire. Le dico et le fichier de capture doivent être dans le même répertoire.

15/06/2013 à 12:38

Kamote

D'accord mais le dico et sur le pc avant de commencer la manip ou il faut une clé usb ou disque dur externe pour le mettre dans le dossier pendant la manip?

15/06/2013 à 12:49

neiris

c'est pas du cracking pas brute force ca c'est une attaque par dictionnaire...

09/08/2013 à 09:25

lobodol

C'est vrai que c'est un abus de langage de parler de brute force, mais comme l'attaque par dictionnaire va souvent de paire avec cette dernière, on a tendance à associer les deux au terme "brute force". Mais il est vrai que la terminologie exacte est "attaque par dictionnaire"

10/08/2013 à 12:52

rabah

impossible decrypte wifi wpa psk jai tester tous les programe back track wifislax benini kali lunix mais aucun program donn une resultat

25/10/2014 à 23:47

alain

je vous en pris je n'arrive pas a trouver le dico vous pouvez m'aider

29/12/2014 à 13:32

galilee

salut et merci a tous j'aimerais avoir un lien pour lesd dictionnaires

13/10/2015 à 21:44

lobodol

@galilee: salut, lis mon premier commentaire sur cet article (plus haut) ;)

14/10/2015 à 11:32

HASSANI

merci

04/11/2015 à 09:48

Saïd assi

bonjour à tous j'ai un petit souci j'ai télécharger un dictionnaire plus de 13 Go mais j'arrive pas trouvé le mot de pass que doit je faire. merci

18/12/2015 à 18:00

fabbrice

la commande aireplay-ng ne bosse pas chez moa voilà ce qui s'affiche
12:30:55 Waiting for beacon frame (BSSID: C8:51:95:91:B0:17) on channel -1
12:30:55 Couldn't determine current channel for mon0, you should either force the operation with --ignore-negative-one or apply a kernel patch
Please specify an ESSID (-e).

08/04/2016 à 15:04

Vous avez besoin d'aide ? Utilisez le Forum plutôt que les commentaires.

Un commentaire ?

* Champs obligatoires