web-dev-qa-db-fra.com

Comment fonctionne le craquage de mot de passe WiFi?

Disons que j'ai un réseau sans fil protégé par mot de passe.

Quelles procédures un intrus peut-il prendre pour accéder à mon réseau sans fil, ou au moins être capable de déchiffrer les paquets que j'envoie en quelque chose de compréhensible? Combien de temps prendrait une telle méthode?

Par exemple, comment aircrack obtient-il exactement l'accès?

Cette question connexe concerne ce qui se passe une fois qu'un attaquant connaît le mot de passe: je suis intéressé par la façon dont ils obtenez le mot de passe.

25
Quillion

Tout d'abord, cela dépendrait entièrement du cryptage utilisé par le point d'accès. Il existe plusieurs types de cryptage possibles. Principalement sur les points d'accès sans fil grand public, ce sont:

  • WEP
  • WPA
  • WPA2
  • WPS

WEP

Plongeons d'abord dans WEP. WEP a été le premier algorithme utilisé pour sécuriser les points d'accès sans fil. Malheureusement, il a été découvert que le WEP présentait de graves défauts. En 2001, 3 chercheurs travaillant à Berkeley ont produit un article intitulé " (In) Security of the WEP algorithm ". Ils ont trouvé les failles suivantes dans WEP:

  • Attaques passives pour décrypter le trafic sur la base d'une analyse statistique.
  • Attaque active pour injecter du nouveau trafic à partir de stations mobiles non autorisées, sur la base d'un texte en clair connu.
  • Attaques actives pour décrypter le trafic, basées sur le détournement du point d'accès.

  • Attaque de création de dictionnaire qui, après analyse d'environ une journée de trafic, permet un décryptage automatisé en temps réel de tout le trafic.

Un extrait de leur article sur les problèmes techniques du WEP:

WEP utilise l'algorithme de chiffrement RC4, connu sous le nom de chiffrement de flux. Un chiffrement de flux fonctionne en développant une clé courte en un flux de clé pseudo-aléatoire infini. L'expéditeur XOR le flux de clés avec le texte en clair pour produire du texte chiffré. Le récepteur possède une copie de la même clé et l'utilise pour générer un flux de clés identique. XOR le flot de clés avec le texte chiffré produit le texte en clair d'origine.

Ce mode de fonctionnement rend les chiffrements de flux vulnérables à plusieurs attaques. Si un attaquant retourne un bit dans le texte chiffré, lors du déchiffrement, le bit correspondant dans le texte en clair sera retourné. De plus, si un espion intercepte deux textes chiffrés chiffrés avec le même flux de clé, il est possible d'obtenir le XOR des deux textes en clair. La connaissance de ceci XOR can permettre aux attaques statistiques de récupérer les textes en clair. Les attaques statistiques deviennent de plus en plus pratiques car plus de textes chiffrés qui utilisent le même flux de clés sont connus. Une fois que l'un des textes en clair est connu, il est trivial de récupérer tous les autres.

WEP dispose de moyens de défense contre ces deux attaques. Pour s'assurer qu'un paquet n'a pas été modifié en transit, il utilise un champ IC (Integrity Check) dans le paquet. Pour éviter de chiffrer deux textes chiffrés avec le même flux de clés, un vecteur d'initialisation (IV) est utilisé pour augmenter la clé secrète partagée et produire une clé RC4 différente pour chaque paquet. L'IV est également inclus dans le paquet. Cependant, ces deux mesures ne sont pas mises en œuvre correctement, ce qui entraîne une mauvaise sécurité.

Le champ de vérification d'intégrité est implémenté comme une somme de contrôle CRC-32, qui fait partie de la charge utile chiffrée du paquet. Cependant, CRC-32 est linéaire, ce qui signifie qu'il est possible de calculer la différence de bits de deux CRC en fonction de la différence de bits des messages sur lesquels ils sont pris. En d'autres termes, le retournement du bit n dans le message entraîne un ensemble déterministe de bits dans le CRC qui doit être retourné pour produire une somme de contrôle correcte sur le message modifié. Étant donné que le retournement des bits se poursuit après un décryptage RC4, cela permet à l'attaquant de retourner des bits arbitraires dans un message crypté et d'ajuster correctement la somme de contrôle afin que le message résultant apparaisse valide.

Le vecteur d'initialisation dans WEP est un champ de 24 bits, qui est envoyé dans la partie en texte clair d'un message. Un si petit espace de vecteurs d'initialisation garantit la réutilisation du même flux de clés. Un point d'accès occupé, qui envoie constamment des paquets de 1500 octets à 11 Mbps, épuisera l'espace des IV après 1500 * 8/(11 * 10 ^ 6) * 2 ^ 24 = ~ 18000 secondes, ou 5 heures. (La durée peut être encore plus petite, car de nombreux paquets sont inférieurs à 1500 octets.) Cela permet à un attaquant de collecter deux textes chiffrés chiffrés avec le même flux de clés et d'effectuer des attaques statistiques pour récupérer le texte en clair. Pire, lorsque la même clé est utilisée par toutes les stations mobiles, il y a encore plus de risques de collision IV. Par exemple, une carte sans fil commune de Lucent réinitialise l'IV à 0 chaque fois qu'une carte est initialisée et incrémente l'IV de 1 avec chaque paquet. Cela signifie que deux cartes insérées à peu près en même temps fourniront une abondance de collisions IV à un attaquant. (Pire encore, la norme 802.11 spécifie que le changement de l'IV avec chaque paquet est facultatif!)

D'autres documents de lecture intéressants peuvent être trouvés sur aircrack-ng.org .

WPA

Le deuxième est WPA. WPA était à l'origine conçu comme un wrapper pour WEP qui s'attaque aux insécurités causées par WEP. Il n'a en fait jamais été conçu comme une norme de sécurité mais simplement comme une solution rapide jusqu'à ce que WPA2 soit disponible.

Il existe deux modes dans lesquels il peut fonctionner:

WPA utilise généralement le protocole d'intégrité de clé temporelle (TKIP). TKIP a été conçu par le groupe de travail IEEE 802.11i et la Wi-Fi Alliance comme solution pour remplacer le WEP sans nécessiter le remplacement du matériel hérité. Cela était nécessaire car la rupture du WEP avait laissé les réseaux WiFi sans sécurité de couche liaison viable, et une solution était nécessaire pour le matériel déjà déployé. TKIP n'est pas pas un algorithme de cryptage, mais il est utilisé pour s'assurer que chaque paquet de données est envoyé avec une clé de cryptage unique.

De le papier aircrack-ng.org

TKIP implémente une fonction de mélange de clés plus sophistiquée pour mélanger une clé de session avec un vecteur d'initialisation pour chaque paquet. Cela empêche toutes les attaques de clés associées actuellement connues car chaque octet de la clé par paquet dépend de chaque octet de la clé de session et du vecteur d'initialisation. De plus, une vérification d'intégrité des messages (MIC) 64 bits nommée MICHAEL est incluse dans chaque paquet pour empêcher les attaques contre le mécanisme de protection d'intégrité CRC32 faible connu du WEP. Pour éviter de simples attaques de relecture, un compteur de séquences (TSC) est utilisé qui permet aux paquets d'arriver uniquement dans l'ordre au niveau du récepteur.

Il existe deux attaques contre TKIP:

  • Attaque de Beck-Tews
  • Attaque Ohigashi-Morii (qui est une amélioration par rapport à l'attaque Beck-Tews)

Cependant, ces deux attaques ne pouvaient décrypter que de petites portions de données, compromettant la confidentialité. Ce qu'ils ne peuvent pas vous donner, c'est l'accès au réseau. Pour vous donner une idée de la quantité de données pouvant être récupérées, une seule trame ARP prendrait environ 14 à 17 minutes pour obtenir le texte brut.

La seule attaque connue, outre les failles dans le firmware de certains routeurs, est le renforcement brutal de la clé WPA. En général, la clé est générée comme suit:

Key = PBKDF2(HMAC−SHA1,passphrase, ssid, 4096, 256)

Étant donné que cet algorithme est destiné à empêcher la rupture des mots de passe hachés, il peut prendre énormément de temps. La seule attaque raisonnable serait d'utiliser une attaque par dictionnaire (il est donc important d'utiliser de longs mots de passe contenant des caractères, des chiffres et des lettres).

Notez également que vous devez changer votre SSID en quelque chose de très aléatoire. Des tables arc-en-ciel ont été générées pour les 1000 premiers SSID utilisés .

WPA prend également en charge AES (qui peut être utilisé à la place de RC4). Cela impliquerait toujours l'utilisation de TKIP-MIC.

WPA2

WPA2 prend en charge les mêmes modes que WPA, sauf qu'il n'utilise pas TKIP mais CCMP pour l'encapsulation cryptographique.

CCMP est un mécanisme d'encapsulation cryptographique de données amélioré conçu pour la confidentialité des données et basé sur le mode compteur avec CBC-MAC (CCM) de la norme AES. Il est utilisé pour remplacer TKIP pour la confidentialité des messages.

Cependant, certains points d'accès peuvent toujours être configurés pour utiliser à la fois TKIP et CCMP. Cela a été fait car sinon les gens devaient mettre à niveau leur matériel.

Extensions

WPS

Wi-Fi Protected Setup (WPS; à l'origine Wi-Fi Simple Config) est une norme informatique qui tente de faciliter la mise en place d'un réseau domestique sans fil sécurisé. Il a permis une sécurité facile pour les utilisateurs à domicile, mais en utilisant toujours le plus sécurisé WPA plutôt que WEP. WPS ne devrait jamais être utilisé car il présente un gros défaut de conception. WPS génère "par la poussée d'un bouton" un code PIN qui peut être saisi par l'utilisateur. L'idée derrière cela était d'augmenter la convivialité. pose un problème: le nombre de possibilités est réduit à 10 000 000 que tout ordinateur peut parcourir assez rapidement, même en utilisant PBKDF2.

PAE

EAP est utilisé pour WPA (2) -Enterprise et est un cadre d'authentification, pas un mécanisme d'authentification spécifique. Il fournit des fonctions communes et la négociation de méthodes d'authentification appelées méthodes EAP. Il existe actuellement environ 40 méthodes différentes définies. Certains ont leurs propres défauts, compte tenu de la grande quantité de possibilités que je suggère de rechercher vous-même.

42
Lucas Kauffman

Cela dépend du cryptage exact utilisé sur le réseau, mais pour WEP (qui est le plus facile à casser), cela ne prend que quelques minutes. L'attaque la plus courante est la attaque de Fluhrer, Mantin et Shamir qui implique de rechercher des IV réutilisés (vecteurs d'initialisation) qui peuvent potentiellement être utilisés pour inverser l'ingénierie de parties de la clé. Ils sont censés être uniques, mais pour le IV court que WEP utilise, ils sont répétés fréquemment.

Puisqu'une partie de l'en-tête WEP SNAP est connue au début de chaque bloc, pour certains IV, si l'attaquant connaît le premier octet du flux de clé, il peut déterminer l'octet suivant de la clé. de celui qu'ils connaissaient en dernier. L'attaque commence donc seulement en sachant quel sera le début du paquet WEP SNAP paquet, mais à chaque fois qu'il est vu pour un type particulier de IV, la clé suivante On peut apprendre un octet, ce qui peut produire une clé entière de 16 octets très rapidement sur un réseau occupé car la seule chose nécessaire est que les IV nécessaires soient utilisés par le réseau.

Si le réseau n'est pas suffisamment occupé, il existe des moyens de tromper le réseau pour qu'il communique davantage, ce qui peut aider à récupérer une clé, bien que ces approches plus agressives puissent potentiellement être détectées.

La section défauts sur la page WEP de Wikipedia contient également des informations plus détaillées sur l'attaque telle qu'elle s'applique au WEP et sur les vitesses qui ont été accomplies à quel moment.

Pour WPA, c'est un peu plus compliqué. Il est moins intrinsèquement faible, mais plusieurs attaques réussissent généralement. Le premier est une attaque de table Rainbow contre le mot de passe du réseau. Toute clé WEP basée sur un mot de passe faible peut facilement être décomposée à partir d'une table Rainbow car le salage n'est pas unique pour un SSID donné dans le cadre de la dérivation de la clé.

Il existe également des faiblesses dans la configuration protégée Wifi qui peuvent permettre de récupérer la broche WPS. Avec WPS, ils n'utilisent que 7 chiffres de la broche et chaque moitié est validée séparément, vous n'avez donc qu'à deviner un numéro à 3 chiffres et un numéro à 4 chiffres pour y accéder.

Il y a quelques autres attaques spécialisées sur WPA aussi qui sont décrites beaucoup plus en détail sur le page Wikipedia pour WPA .

3
AJ Henderson