Récupérer une clé WPA2/PSK avec aircrack-ng

Vous avez pu voir que le WEP n’est pas sécurisé (juste ici), mais le groupe de travail IEEE 802.11i a sortis un standard en 2005 qui comble ces lacunes, ce standard c’est le WPA2.

Et le WPA1 il devient quoi ?

Bonne question, pour répondre je vais faire un petit historique très rapide.

Entre le moment où le WEP a été déconseillé et l’arrivée de WPA2, la Wi-Fi alliance avait mis en place le WPA. Le WPA est fondé sur un sous ensemble de la norme 802.11i (WPA2) il utilise le matériel déjà existant, on avait accès à WPA avec une mise à jour du firmware, tandis que le WPA2 utilise un autre matériel. Mais la plus grosse différence se trouve dans le protocole de chiffrement (RC4 pour WPA et AES pour WPA2).

Le WPA est moins sécurisé que le WPA2 car il utilise un chiffrement plus faible et sa rétrocompatibilité avec les équipements WEP l’empêche de devenir plus sécurisé, le WPA est assez peu répendus.

Les apports de la nome 802.11i se classe en trois catégories :

  • Définition de multiples protocoles de sécurisation
  • Informations permettant de choisir l’un d’entre eux
  • Nouvelle méthode de distribution des clés

Il existe deux manière principales de s’authentifier, la manière PSK et la manière PMK.

La manière PMK (Pairwise Master Key) utilise le standard 802.1x (serveur RADIUS) en plus de la clé PMK, c’est ce qu’on appelle le WPA2 « entreprise » car il y a un serveur d’authentification supplémentaire, il est plus compliqué à mettre en place mais plus sécurisé, c’est n’est pas de ce type de WPA2 dont je parlerais dans la suite du tuto.

La deuxième manière est plus simple à mettre en place car elle utilise, comme dit plus tôt, une clé PSK (Pre-Shared Key), la clé PSK est une clé distribuée manuellement, cette manière d’authentification ne nécessite aucun serveur supplémentaire, juste notre point d’accès. C’est ce qu’on appelle plus communément le WPA2 « personnel ».

La première étape pour se connecter à un réseau Wi-Fi protégé en WPA2 est le protocole à quatre passes, ou 4-ways handshake. Ce sont quatre étapes qui vont permettre d’authentifier le client et de mettre en place les clés de chiffrement qui seront utilisé. En récupérant ce handshake nous allons pouvoir casser la clé avec une attaque par dictionnaire, je reviendrais sur les attaques par dictionnaire un peu plus tard.

1 – De quoi j’ai besoin pour faire récupérer ma clé WPA2 ?

Et bien j’ai les mêmes besoins pour ce crack que pour la récupération de WEP. J’ai besoin de aircrack-ng, et d’une carte réseau sans fil qui peut passer en mode monitor.

2 – En parlant du mode monitor, c’est justement la première chose à faire

On passe notre carte réseau sans fil en mode monitor, ainsi on peut écouter les ondes des points d’accès environnent.

3 – Capturer le trafic

Pour commencer on capture en « général » (tout ce qui passe) pour repérer le bon point d’accès. (airodump-ng mon_interface)

Une fois qu’on a repéré le bon point d’accès (encadré en rouge), on fait une capture de ce point d’accès (airodump-ng –bssid @MAC_AP –c CH –w FICHIER_CRACK interface), en précisant l’adresse MAC de l’AP (–bssid), le canal utilisé (-c) et je sauvegarde le résultat de ma capture dans un fichier (-w).

Et voici ce que j’obtiens (votre résultat devrait être similaire) :

On laisse cette commande tourner pendant la réalisation de l’étape 4.

4 – Déconnecter un utilisateur

Ensuite on va déconnecter un utilisateur, comme il se reconnectera automatiquement nous récupèrerons le WPA handshake à ce moment.

Pour forcer la déconnection d’un utilisateur j’utilise l’outil aireplay-ng avec l’option –deauth et je précise le nombre de paquet de déconnexion que je veux envoyer.

La commande :

Le screenshot suivant montre ce qui se passe :

Maintenant je retourne sur la capture airodump-ng, on remarque qu’on a bien capturé le handshake.

5 – Aircrack-ng

Je vais lancer aircrack-ng sur le fichier créé par airodump-ng. Comme précisé plus tôt dans ce tuto, la récupération de clé WPA2/PSK se fait via une attaque par dictionnaire.

Mais c’est quoi une attaque par dictionnaire ?

Pour expliquer le fonctionnement d’une attaque par dictionnaire je vais d’abord expliquer une attaque par force brute, l’attaque par force brute consiste à tester toutes les combinaisons possibles. Par exemple si j’ai un cadenas fermé via une combinaison de quatre chiffres, je vais d’abord tester 0000, puis 0001, 0002, 0003, 0004, 0005, 0006, 0007, 0008, 0009, 0010, etc. jusqu’à 9999. Les attaques par force brutes sont très longues, imaginez-vous tester toutes les combinaisons en prenant en compte les lettres minuscule, majuscule, les chiffres, les caractères spéciaux… C’est très long.

L’attaque par dictionnaire est une attaque qui utilise une liste de mot, on va tester tous les mots d’une liste plus ou moins longue, comme l’attaque par dictionnaire lit séquentiellement le fichier dictionnaire il est préférable de créer un dictionnaire intelligemment avec les mots de passe les plus utilisé en début de liste par exemple. Une attaque par dictionnaire est plus rapide qu’une attaque par force brute mais contrairement à cette dernière l’attaque par dictionnaire ne va pas obligatoirement trouver le mot de passe.

Kali linux a des dictionnaires intégrés qui se trouve dans /usr/share/wordlist, je vais utiliser le dictionnaire rockyou.txt (que j’ai extrait au préalable)

La commande aircrack-ng pour faire cette attaque par dictionnaire prend cette forme : Aircrack-ng nom_fichier –w fichier_dico

J’ai effectué deux test, le premier a échoué, la clé a trouvé était « trytoH@ckM3« , je ne l’ai pas trouvé (en tout cas via le dictionnaire rockyou.txt) après 1h30 de test. La deuxième clé, que j’ai trouvé, et que vous pouvez voir sur la capture suivante n’a mis que quelques secondes à être trouvé.

Cette attaque ne fonctionne donc pas à tous les coups ! Si vous avez protégé votre réseau Wi-Fi en WPA2 et que vous avez une bonne clé alors vous n’avez pas de soucis à vous faire.

sources : wonderhowto ; aircrack-ng ; crackstation ; crack-wifi.com

3 réflexions au sujet de “Récupérer une clé WPA2/PSK avec aircrack-ng

  1. Bonjour.
    Comment procéder sans dictionnaire mais avec des conditions ? (Du genre, uniquement une clé de 26 caractères en majuscules et sans ponctuation)
    Merci 🙂

    • Hi,
      A mon avis le meilleur moyen pour tester toutes les possibilités d’une condition, pour reprendre ton exemple, pour tester toutes les combinaisons possibles de 26 caractères en majuscules sans ponctuation, il faudrait créer un dictionnaire qui contiendrait tous les mots de passe que l’on veut tester puis utiliser ce dictionnaire avec aircrack-ng. On peut facilement générer ces dictionnaires grâce à des logiciels comme CRUNCH.
      Une autre option serait de passer par d’autres outils pour cracker le .cap (ne pas utiliser aircrack-ng), des outils capables de brute force suivant des conditions. L’outils oclhashcat permet, normalement, de faire ça, mais je n’ai jamais testé personnellement.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.