Comment décrypter les clés wifi WPA/WPA2 PSK.

Parler de la sécurité sans fil dans la sphère domestique, c’est parler, irrémédiablement, de WPA/WPA2 PSK, en laissant de côté l’ancien et brisé cryptage WEP. Oui, il y a des points d’accès WiFi avec serveur RADIUS intégré, mais ce n’est pas la chose la plus courante sur le routeur qu’une famille utilise pour se connecter à Internet à la maison.

Dans cet article, nous examinerons le fonctionnement des menaces dans la WPA/WPA-2 PSK dans l’environnement domestique. Pour ce faire, nous verrons comment attaquer une infrastructure de ce type et quelles sont les recommandations en matière de sécurité.

WPA/WPA2

WPA [Wifi Protected Access] a émergé comme une solution temporaire de la Wi-Fi Alliance alors que l’IEEE travaillait sur la norme IEEE 802.11i pour sécuriser les réseaux sans fil une fois que la faiblesse de WEP[Wired Equivalent Privacy] est devenue évidente. Lorsque l’IEEE a publié 802.11i, la Wi-Fi Alliance a fourni la certification WPA2 pour tous les appareils qui répondaient aux spécifications de la nouvelle norme. Les solutions WPA et WPA2 prennent en charge le protocole 802.1x pour l’authentification dans les environnements professionnels et l’authentification par clé pré-partagée (PSK) pour les environnements SOHO (Small Office and Home Office) et les environnements domestiques.

WPA et WPA2 diffèrent peu conceptuellement et principalement dans l’algorithme de cryptage qu’ils utilisent. Alors que WPA base le cryptage des communications sur l’utilisation de l’algorithme TKIP[Temporary Key Integrity Protocol], qui est basé sur RC4 ainsi que sur WEP, WPA2 utilise CCMP[Counter-mode/CBC-MAC Protocol] basé sur AES[Advanced Encrytion System]. La deuxième différence notable est l’algorithme utilisé pour contrôler l’intégrité du message. Alors que WPA utilise une version moins élaborée pour la génération de MIC[Message Integrity Code], ou code “Michael”, WPA2 implémente une version améliorée de MIC.

Logiquement, lorsque vous choisissez comment sécuriser votre réseau domestique, il est préférable de choisir WPA2-PSK parce que la force de cryptage de AES est de loin supérieure à celle de TKIP. Cependant, si vous n’avez pas le matériel qui supporte cette technologie, l’utilisation de WPA-PSK est parfaitement valide car la vulnérabilité principale de WPA-PSK et WPA2-PSK ne se trouve pas dans l’algorithme de cryptage mais dans la force de la clé utilisée.

WPA/WPA2 PSK Architecture PSK

WPA-PSK et WPA2-PSK sont vulnérables et il est possible d’attaquer ces technologies afin de pouvoir utiliser le réseau et même écouter et analyser le trafic qui s’y propage. Cet article vise à refléter pourquoi et où WPA-PSK et WPA2-PSK sont vulnérables, comment exploiter cette vulnérabilité et comment protéger adéquatement le réseau.

Pour comprendre les vulnérabilités, nous devons d’abord analyser le processus d’association d’un client au réseau sans fil. Quel que soit le système de sécurité choisi pour le réseau (WEP, WPA-PSK ou WPA2-PSK), le processus d’association est toujours le même. Ce processus dépendra si le point d’accès émet des trames “Beacon Frame” pour l’annonce réseau en publiant son ESSID (Extended Service Set Identifier) ou non.

Si le point d’accès émet des trames de balise, le client se connecte au réseau en deux phases, une première phase d’authentification, qui peut être ouverte ou partagée par mot de passe, et une deuxième phase d’association.

Dans le cas où le point d’accès n’émet pas de “Beacon Frames”, il y a une phase de test initiale où le client envoie l’ESSID du réseau sans fil auquel il veut se connecter en attendant que le point d’accès réponde et initie ainsi les phases d’Authentification et d’Association. Tout ce processus, pour une connexion WPA2-PSK, peut être vu dans l’image suivante. Vous pouvez y voir les trois phases décrites.

architecture wpa commentpirater.org

La seule différence avec un réseau ouvert ou WEP, c’est que le point d’accès et le client s’entendent sur la politique de sécurité à suivre, ce qui constitue la première phase du processus d’authentification d’un réseau WPA/WPA2.

Cette façon de travailler est importante à savoir, car comme vous pouvez le voir dans l’image, le client se connecte initialement au réseau sans avoir lancé le processus d’authentification WPA/WPA2, que ce soit via PSK ou non, de sorte que le trafic envoyé n’est pas encore crypté. En raison de cette situation, un attaquant pourrait envoyer une trame de dissociation à un client sur le réseau, ce qui l’obligerait à se dissocier et à lancer un nouveau processus d’association et un nouveau processus d’authentification WPA/WPA2. C’est ce qu’on appelle l’attaque 0 ou dissociation.

Ce processus de ré-authentification ne serait effectué que si la connexion est WPA/WPA2 de l’entreprise, c’est-à-dire que la connexion est configurée en utilisant 802.1x pour l’authentification de port et EAP (Extended Authetication Protocol) contre un serveur RADIUS (Remote Authentication Dial-In Service) pour l’authentification de connexion. Dans le cas de WPA/WPA2 avec PSK, vous passez directement à la phase d’échange de clés.

Dans la phase d’échange de clés, le client et l’AP utilisent le PSK pour générer une clé appelée PMK[Pairwise Master Key]. Cette PMR est un dérivé lorsque le système est l’entreprise WPA/WPA2 mais c’est la même PSK dans les environnements PSK WPA/WPA2.

Avec la PMR, une clé de chiffrement est générée pour chaque processus d’authentification d’un client appelé PTK qui est essentiellement générée à partir de deux nombres aléatoires, l’un généré par le client et l’autre par le point d’accès qu’ils échangent pour obtenir la même clé PTK. Ce processus s’appelle la poignée de main à 4 mains.

Une fois le client authentifié, le protocole TKIP utilise 6 clés de cryptage par session, dont 4 sont utilisées pour les communications unicast et 2 pour les communications broadcast. Ces clés sont uniques par client et par session et sont modifiées périodiquement. Ces clés sont générées à partir des dérivées des adresses MAC, ESSID et PTK.

Comment le réseau PSK WPA/WPA2 peut-il être compromis?

Un attaquant qui veut violer un réseau WPA-PSK essaiera de capturer cet échange de nombres aléatoires, pour une fois connus, ainsi que les adresses SSID et MAC du client et le point d’accès au réseau obtiennent la phrase partagée ou le secret qui a été utilisé. Une fois que l’attaquant a la clé partagée, il peut se connecter au réseau.

L’attaquant pourra-t-il accéder au trafic généré par un autre utilisateur?

En théorie, il ne devrait pas être en mesure de le faire, car les clés TKIP générées sont uniques et par session, mais si l’attaquant est connecté au réseau et capture l’ensemble du processus d’authentification d’un autre utilisateur, il ou elle pourrait accéder aux numéros aléatoires échangés et, connaissant l’ESSID, PSK et MAC du client et le point d’accès, pourrait générer le PTK. Avec PTK, vous pouvez savoir quelles clés TKIP sont échangées cryptées. Une fois que l’attaquant a les clés TKIP, il a accès à tout le trafic et donc OUI il peut accéder aux données transmises. Le processus avec WPA2-PSK est similaire et l’attaquant cherchera les clés qui sont échangées dans AES-CCCMP.

L’information peut-elle être modifiée pendant le transit?

WPA et WPA2 mettent en œuvre le MIC[Code d’intégrité des messages] différemment et, bien qu’en théorie le MIC WPA pourrait être induit en erreur, les conditions pour effectuer un tel changement ne sont pas présentes dans la mise en œuvre pratique qui est faite. Ceci est bien expliqué et vous pouvez en savoir plus à ce sujet dans le travail “Observations on the Message Integrity Code in IEEE802.11Wireless LANs” de Jianyong Huang, Willy Susilo et Jennifer Seberry de la School of Information Technology and Computer Science de l’Université de Wollongong en Australie.

Cependant, si vous voulez en savoir plus sur la théorie des attaques sur les protocoles sans fil, l’article de Guillaume Lehembre, publié dans le magazine Hackin9, est le meilleur. Et il est également traduit en anglais : WiFi Security – WEP, WPA et WPA2.

Capturer le Handshake

Comme indiqué au point précédent, un attaquant qui veut casser ou casser un réseau WPA/WPA2 doit surveiller toutes les trames échangées sur le réseau sans fil pendant le processus d’authentification PSK pour obtenir les numéros aléatoires échangés. De cette façon, vous pouvez découvrir la clé PSK utilisée sur le réseau pour authentifier les clients.

Pour surveiller le réseau dans un environnement Windows, vous pouvez utiliser Commview pour Wifi ou Omnipeek en fonction du support que vous fournissez aux cartes que vous allez utiliser, bien sûr il y a plus d’outils.

Commview pour Wifi a été utilisé dans cet article, avec le chipset Intel Centrino Pro Wireless 2200BG, tandis que la ComboCard Orinoco 11a/b/g ComboCard 8480-FC a été utilisée pour les injections de trafic.

Tout d’abord, il est nécessaire de charger le pilote fourni par Commview, soit par l’assistant du programme, soit par le gestionnaire de périphérique ; dans tous les cas, le pilote de la carte doit rester avec le pilote comme indiqué dans l’image 2.

driver

Une fois le pilote correctement installé, la capture de trafic doit être activée à l’aide du bouton Lecture de la barre d’outils principale Commview. Lorsque la capture de trafic est activée, vous pouvez commencer à balayer les canaux WI-FI accessibles, comme illustré à la Figure 3.

Commview

Commview montrera tous les réseaux disponibles sur tous les canaux en donnant un aperçu de l’espace WI-FI de la zone. Une fois que le réseau cible a été sélectionné, il suffit d’activer la capture de paquets à partir de ce réseau en utilisant le bouton de capture dans le panneau d’options à droite.

Commview affiche, dans l’onglet Nœuds, les points d’accès et les clients associés qui utilisent le canal à un moment donné.

Commview nodes

La figure 4 montre un point d’accès utilisant WPA2-PSK avec cryptage CCMP et deux clients associés au réseau. Commview capture actuellement tous les paquets qui circulent sur le canal. Afin de ne pas saturer l’ordinateur, puisque l’objectif initial est de capturer l’échange de nombres aléatoires dans le processus d’authentification WPA/WPA2, il suffit de capturer uniquement les paquets de données. Pour faire cette sélection de paquets, il est possible d’ajouter des filtres dans la capture, par exemple par les adresses MAC de l’équipement.

commview capture

L’attaque 0

Pour obtenir rapidement l’échange de nombres aléatoires entre un ordinateur et le point d’accès, c’est-à-dire sans attendre qu’un nouvel ordinateur se connecte au réseau, une attaque de dissociation est lancée afin que l’ordinateur soit déconnecté et forcé de se connecter à nouveau. Ce processus est automatique sur les systèmes d’exploitation Windows XP mais nécessite une intervention de l’utilisateur sous Windows Vista. Pour ce faire à partir de Commview, il suffit d’aller dans le menu Outils et de cliquer sur Node Reassociation.

L'attaque 0

Pour avoir accès à ces options, il est nécessaire que la carte sans fil permette l’injection de paquets. Si vous utilisez le chipset Intel 2200BG, il ne sera pas possible d’effectuer l’injection, donc la seule solution est d’attendre qu’un client s’authentifie avec le point d’accès.

Dans cette boîte de dialogue, vous sélectionnez le point d’accès à usurper, c’est-à-dire l’adresse à simuler comme source de la trame de dissociation et le client à dissocier. En outre, le nombre de colis à envoyer doit être indiqué.

Une fois l’attaque lancée, et puisque Commview a capturé tous les paquets, il suffirait de les stocker au format.cap, de sorte que vous auriez tous les paquets, y compris ceux où vous échangez des nombres aléatoires prêts à cracker le PSK qui est utilisé dans ce réseau.

commview for wifi

WPA/WPA2 PSK cracking key cracking – Théorie

En mode WPA/WPA2 PSK, la clé PMK à partir de laquelle la PTK est ensuite dérivée est obtenue avec la fonction suivante :

PMK = PBKDF2(PSK, SSID, longueur SSID, 4096, 256)

Où PBKDF2 est une fonction de dérivation clé qui fait partie des étalons cryptographiques à clé publique (PKCS) des laboratoires RSA. Il s’agit d’une fonction pseudo-aléatoire qui est utilisée pour dériver la clé (PMR) en utilisant l’expression PSK et SSID.

Pour en déduire la clé de chiffrement par session (PTK), on utilise la PMR, les nombres aléatoires échangés, appelés anonce et snonce, et les adresses MAC du client et du point d’accès. Puisque tout ce qui est utilisé a été capturé sauf la PSK, il suffit d’essayer différentes phrases soit par la force brute, soit en utilisant un dictionnaire pour trouver la clé qui a été utilisée dans le cryptage.

Pour réaliser ce processus de craquage, il est possible d’utiliser des tables pré-calculées (tables Rainbow) pour augmenter le nombre de tests qui peuvent être effectués par seconde pour essayer de trouver la clé. C’est faisable, cependant, il y a une grande différence avec l’utilisation de ce type de table dans le craquage d’autres mots de passe.

Le problème est que les hashes pré-calculés dépendent du SSID du réseau, il n’est donc pas possible d’avoir tous les hashes pré-calculés pour tous les noms de réseau possibles. Il existe des projets, comme Renderlab où il est possible d’obtenir jusqu’à 33 Go de hashes pré-calculés, sur la base d’un dictionnaire et d’une liste SSID. Logiquement, ici en Espagne, son utilité est beaucoup plus limitée.

WPA/WPA2 PSK Key Cracking – Pratique

Une fois que les paquets d’une session d’authentification client ont été capturés, un processus de craquage de la clé PSK peut être exécuté. Pour effectuer ce processus, il est possible d’utiliser Cain, un outil d’audit de sécurité qui, parmi d’autres modules, est livré avec un outil spécial pour craquer les mots de passe. Dans l’onglet Cain Cracker, dans la section “802.11 Captures”, importez le fichier.cap contenant la capture d’une authentification client. Cain analyse le fichier de capture et indique s’il y a une poignée de main valide dans le fichier.cap à partir duquel la clé PSK peut être extraite.

cain logiciel

Une fois que l’échange est capturé, il est envoyé à crack, il est possible d’utiliser une attaque de force brute ou de se fier à un dictionnaire pour essayer d’accélérer le processus.

cain logiciel hack wifi

Le succès de l’attaque réside désormais uniquement et exclusivement dans la force des mots de passe utilisés par l’administrateur réseau. Si vous avez placé une clé réseau qui apparaît dans un dictionnaire ou si la clé est suffisamment petite et non sécurisée, il sera possible de la casser. Pour essayer de le briser par la force brute, il faut choisir l’alphabet à utiliser, la longueur minimale et maximale et commencer les tests.

attaque par la force brute

Pour l’attaque basée sur le dictionnaire, il est nécessaire d’avoir un bon dictionnaire, et d’indiquer les tests possibles à effectuer avec chacun des mots disponibles dans le dictionnaire.

attaque par la force brute 2

Dans les deux cas, si vous parvenez à trouver la clé, elle s’affichera en bas avec un message comme celui qui suit:

pirater wifi

La dernière version de Cain a la limitation qu’il n’est pas capable de travailler avec certains caractères, donc il ne serait pas possible de cracker certains hashes d’authentification. Comme alternative à Cain, vous pouvez utiliser la suite Aircrack, disponible sous Linux et Windows, qui vous permet de travailler avec toute la gamme de personnages.

aircrack

Analyse du trafic des autres utilisateurs

Les connexions réseau WPA/WPA2 utilisent des mots de passe par utilisateur et par session dérivés de la clé PSK pour le cryptage des données, de sorte que chaque connexion est supposée avoir la confidentialité nécessaire pour l’utilisateur.

Cependant, si le processus d’authentification d’un utilisateur est capturé dans le réseau et lorsque l’on connaît la clé PSK utilisée, les adresses MAC et le SSID, il suffit de capturer les numéros Snounce et Anounce échangés pour savoir quelle est la clé PMK et, par conséquent, pour pouvoir accéder aux clés PTK de l’utilisateur.

Une fois que les clés PTK sont connues, il est possible de décrypter tout le trafic généré par un utilisateur. Si l’utilisateur était précédemment connecté, il ne serait pas possible d’effectuer ce processus car le processus d’authentification n’aurait pas été capturé. Par conséquent, il est nécessaire d’effectuer une attaque 0 sur l’utilisateur vers lequel vous voulez analyser le trafic.

Analyse du trafic d’un utilisateur sur un réseau WPA/WPA2-PSK

Commview vous permet d’analyser le trafic pour les réseaux WEP et WPA/WPA/WPA2-PSK. Pour décrypter le trafic réseau dans le menu des préférences, l’option WEP/WPA Keys vous permet de charger les clés connues des réseaux sans fil.

cles wep wpa

Bien que la clé PSK soit configurée pour le réseau, il ne serait toujours pas possible de décrypter le trafic réseau d’un utilisateur qui s’y trouvait auparavant. Pour découvrir les clés utilisées par chacun des clients, il est nécessaire de lancer une attaque de dissociation de 0. Cela obligerait les clients à s’associer de nouveau et maintenant, avec la clé PSK du réseau, Commview obtiendra la clé PMK et immédiatement les clés de cryptage qui sont utilisées par chaque client individuel. Cela vous permettra de voir tout le trafic sur le réseau décrypté.

commview hack wifi

Conclusion

L’utilisation de WPA/WPA2-PSK est une solution de sécurité appropriée dans un environnement domestique tant qu’une clé sécurisée est utilisée. Comme nous l’avons vu tout au long de l’article, la sécurité ne dépend pas de la quantité de trafic circulant sur le réseau, mais de la possibilité d’obtenir la clé de cryptage à partir des paquets où l’authentification de l’utilisateur a lieu. Un petit nombre de paquets est suffisant pour obtenir les paquets dérivés de la clé. Il est donc nécessaire d’utiliser des phrases ou des clés fortes. Pour déterminer la force d’une clé, vous pouvez utiliser des pages telles que Passwordmeter, ou n’importe lequel des générateurs de clés WPA/WPA2 qui fournissent des clés fortes, comme http://www.kurtm.net/wpa-pskgen/.

Pour éviter que le craquement de la clé PSK ne soit trivial pour un attaquant, il est nécessaire d’éviter les clés que l’on trouve dans les dictionnaires, des clés de courtes longueurs de caractères et de peu de complexité. Aussi, pour les empêcher d’utiliser des tables pré-calculées, il est nécessaire d’éviter les noms SSID simples ou communs, comme “Home”, “Personal”, “Wifi”, “Default”, “Wireless”, “Net”, etc..

Cependant, ayant un réseau PSK WPA/WPA2 plus ou moins sécurisé contre les attaquants externes en utilisant des clés difficiles à cracker, cette infrastructure n’offre aucune protection contre les attaquants internes. Cet article indique clairement que tout utilisateur légitime du réseau pourra accéder aux données de tous les autres utilisateurs, comme nous l’avons vu dans la dernière partie.

Solutions

Pour éviter que les communications ne soient espionnées par des couples, des membres de la famille ou des voisins, il existe des solutions d’entreprise WPA/WPA2 utilisant des serveurs RADIUS et des systèmes d’authentification EAP basés sur des certificats numériques, des mots de passe et même l’utilisation du cryptage SSL pour l’échange EAP (Protected EAP). Ainsi, nous pourrions mettre en œuvre une infrastructure WPA/WPA2-EAP-MSCHAPv2, WPA/WPA2-EAP-EAP-MD5, WPA/WPA2-EAP-TLS (avec authentification du client par certificat d’utilisateur numérique) et le WPA/WPA2-PEAP-MSCHAPv2, également connu sous le nom de TLS-EAP-TLS parce que c’est l’ordre des couches de protocole, où la connexion SSL entre le serveur et le client est d’abord authentifiée avec un certificat de machine serveur ou un certificat de machine serveur et client, qui authentifie numériquement la machine client d’abord, puis négocie l’authentification avec EAP à l’aide de certificats utilisateur numériques et enfin l’utilisateur envoie son certificat sur la couche SSL initiale.

Suivez nos tutoriels sur: https://commentpirater.org/tutoriels/

Comment décrypter les clés wifi WPA/WPA2 PSK.
5 (100%) 1 vote

Laissez un commentaire.