Table des matières
Aircrack-ng
Description
Aircrack-ng est un programme de cassage de clés WEP 802.11 et clés WPA/WPA2-PSK.
Aircrack-ng peut retrouver la clé WEP une fois qu'assez de paquets encryptés ont été capturés avec airodump-ng. Cette partie de la suite aircrack-ng retrouve la clé WEP en utilisant deux méthodes principales. La première via l'approche PTW (Pyshkin, Tews, Weinmann). L'avantage principale de l'approche PTW est que très peu de paquets sont requis pour casser la clé WEP. La seconde méthode est la méthode FMS/Korek. La méthode FMS/Korek incorpore des attaques statistiques variées pour découvrir la clé WEP et les utilises en combinaison avec le brute force.
Additionnellement, le programme offre une méthode par dictionnaire pour déterminer la clé WEP. Pour casser les clés partagées WPA/WPA2, seul une méthode par dictionnaire est utilisée.
Capture d'écran
LÉGENDE
1 = Octet de la clé
2 = Profondeur de la recherche courante
3 = Octet divulgé par l'IVs
4 = Probabilité que ce soit correct
Comment ça marche ?
La première méthode est la méthode PTW (Pyshkin, Tews, Weinmann). La méthode PTW est complètement décrite dans l'article hébergé sur ce site web. En 2005, Andreas Klein présenta une autre analyse de l'encryptage de flux RC4. Klein montra qu'il y avait plus de correlation entre le flux crypté RC4 et et la clé que dans celle trouvée par Fluhrer, Mantin, et Shamir, et que cela pouvait être utilisé en supplément pour casser le WEP. La méthode PTW améliorait l'attaque de Klein et l'optimisait pour l'usage contre le WEP. Elle utilise essentiellement des techniques FMS améliorées décrites dans la section suivante. Une contrainte particulièrment importante est que cela fonctionne avec des requètes/réponses ARP et ne peux être utilisée contre les autres types de traffic.
La seconde méthode est la méthode FMS/Korek qui incorpore plusieurs techniques. La Note Technique sur la page liste plusieurs articles qui décrivent ces techniques plus en détail et les mathématiques impliqués derrièrre.
Dans cette méthode, plusieurs techniques sont combinées pour casser les clés WEP:
- attaque FMS ( Fluhrer, Mantin, Shamir) - technique statistique
- attaque Korek - technique statistique
- Brute force
Lors de l'utilisation des techniques statistiques pour casser une clé WEP, chaque octet de la clé est traité individuellement. En utilisant des statistiques mathématique, la possiblité que certains octets dans la clé soit deviné correctement s'élève au moins à 15% quand le vecteur d'initialisation (initialization vector, IV) significatif est capturé pour un octet particulier. Ceci est la base fondamentale des techniques statistiques.
En utilisant une série de tests statistiques appellés attaques FMS et Korek, les votes sont accumulés pour chaque clé probable pour chaque octet-clé de la clé secrète WEP. Différentes attaques ont différents nombres de votes associés à elle comme la probabilité de trouver la bonne réponse varie mathématiquement. Le plus de votes une clé potentielle particulière accumule, le plus de chance elle a d'être correcte. Pour chaque octet-clé, l'écran montre la probabilité et le nombre de votes qu'elle a accumulé jusqu'ici. Il est inutile de préciser que la clé secrète avec le plus grand nombre de votes la plus correcte mais ce n'est pas guaranti. Aircrack-ng testera la clé par la suite pour confirmer.
S'appuyer sur un exemple rendra probablement ceci plus clair. Sur le screenshot au dessous, comme vous pouvez le voir, à l'octet-clé 0, l'octet 0xAE a collecté plusieurs votes, 50 dans de ce cas. Donc, mathématiquement, il est plus probable que la clé commence avec AE qu'avec 11 (lequel est second sur la même ligne), ce qui est possible à presque hauteur de la moitié. Ceci explique pourquoi le plus de données sont disponibles, le plus de chances aura aircrack-ng de retrouver la clé WEP secrète.
Toutefois l'approche statistique ne peut vous ammener que jusque ici. L'idée est de commencer avec l'approche statistique et ensuite utiliser la méthode brute force pour finir le travail. Aircrack-ng utilise le brute-force sur les clés probables pour déterminer la clé WEP réelle.
C'est ici que le facteur fudge (fudge factor) intervient. Basiquement, le facteur fudge indique à aircrack-ng globalement comment mener le brute force. C'est comme jeter une balle dans un champs et dire à quelqu'un que la balle est quelque part entre 0 et 10 mêtres (0 et 30 pieds) d'ici, ou dire que la balle est entre 0 et 100 mêtres (0 et 300 pieds) d'ici. Le cas des 100 mêtres prendra beaucoup plus de temps à chercher que le cas des 10 mêtres mais vous avez plus de probabilité de trouver la balle avec cette la première indication qu'avec la deuxième. C'est une histoire de compromis entre le temps nécessaire et la probabilité de trouver la clé WEP.
Par exemple, si vous indiquez à aircrack-ng d'utiliser un facteur fudge de 2, il prendra les votes les plus probables, et vérifiera toutes les autres possibilités qui sont au moins possible à hauteur de moitié de celle-ci sur une base brute force. Le plus grand est le facteur fudge, le plus de possibilités aircrack-ng essayera sur une base brute force. Gardez à l'esprit que autant le facteur fudge devient important, autant le nombre de clés secrètes à essayer croît formidablement, et en conséquence le temps nécéssaire augmente également. Toutefois avec plus de données disponibles, le besoin de brute force, qui monopolise le CPU intensivement, peut être minimisé.
Au final, ce ne sont que “simples” mathématiques et brute force !
Pour casser les clés WEP, une méthode par dictionnaire est également incluse. Pour le WEP, vous pouvez utiliser soit la méthode statistique décrite au dessus, soit la méthode par dictionnaire, mais pas les deux à la fois. Avec la méthode par dictionnaire, vous créez en premier un fichier avec soit les clé en hexadécimal ou en ASCII. Un seul fichier peut seulement contenir un type de clé, pas un mix des deux. Ce dernier est ensuite utilisé comme entrée pour aircrack-ng et le programme test chaque clé pour déterminer si elle correspond.
Les techniques et l'approche au-dessus ne fonctionnent pas pour les clés pré-partagées WPA/WPA2. La seule manière de cracker ces clés pré-partagées est de le faire par une attaque par dictionnaire. Cette capacité est également inclue dans aircrack-ng.
Avec des clés pré-partagées, le client et le point d'accès établissent un point d'appui matériel pour leur communication au début, quand le client s'associe en premier avec le point d'accès. Il y a un “serrage de main” en quatre partie (four-way handshake) entre le client et le point d'accès. airodump-ng peut capturer ce four-way handshake. En utilisant les données d'une liste de mots (dictionnaire) que l'utilisateur doit procurer, aircrack-ng duplique le four-way handshake pour déterminer si une occurence particulière de la liste de mots correspond au handshake. Si c'est le cas, alors la clé pré-partagée a été identifié avec succès.
Notez que ce procédé est très consommateur de puissance CPU, et en pratique, les clés très longues ou peu communes sont peu à même d'être trouvées. Une liste de mots de bonne qualité vous donnera de meilleurs résultats. Une autre approche est d'utiliser un outil comme “John the ripper” pour générer des mots de passes qui seront fournis à aricrack-ng.
Explication du Depth Field et du Fudge Factor
la meilleure explication est un exemple. Nous allons nous focaliser sur un octet spécifique. Tous les octets sont traités de la même manière.
Vous avez les probabilité comme sur la capture d'écran ci dessus. Pour le premier octet cela donne : AE(50) 11(20) 71(20) 10(12) 84(12)
Les AE, 11, 71, 10 et 84 sont les clés possibles pour l'octet clé 0. Les nombres entre parenthèse sont les votes que chaque clé probable à accumulé jusqu'ici.
Maintenant si vous décidez d'utiliser un fudge factor de 3. Aircrack-ng prends les votes de l'octet le plus probable AE(50):
50 / 3 = 16.666666
Aircrack-ng testera (brute force) toutes les clés possibles avec un vote supérieur à 16,6666, résultant
AE, 11, 71
étant testé, donc nous avons une profondeur totale de trois:
0 / 3 AE(50) 11(20) 71(20) 10(12) 84(12)
Quand aircrack-ng teste les clés avec AE, il montre 0 /3, si il a toute les clés testées avec cette octet, il passe à la suivante (11 dans cet exemple) et affiche :
1 / 3 11(20) 71(20) 10(12) 84(12)
Utilisation
aircrack-ng [options] <fichier(s) de capture>
Vous pouvez spécifier plusieurs fichiers de données (aussi bien .cap ou .ivs). Aussi, vous pouvez lancer à la fois airodump-ng et aircrack-ng en même temps : aircrack-ng mettra à jour automatiquement quand de nouveaux IVs seront disponibles.
Voici un résumé de toutes les options disponibles :
Option | Paramêtre. | Description |
---|---|---|
-a | amode | Force le mode d'attaque (1 = static WEP, 2 = WPA/WPA2-PSK). |
-e | essid | Si mis, tous les IVs provenant de réseaus avec le même ESSID seront utilisés. Cette option est aussi requise pour le crackage WPA/WPA2 si l'ESSID n'est pas diffusé (masquée). |
-b | bssid | Sélectionne le réseau ciblé selon l'addresse MAC du point d'accès. |
-p | nbcpu | Sur les systèmes multi-processeurs : nombre de processeurs à utiliser. Cette option est invalide sur les systèmes non multi-processeurs. |
-q | none | Activer le mode silencieux (pas d'affichage de statut jusqu'à que la clé soit trouvée, ou pas). |
-c | none | (cassage WEP) Restreint la recherche aux caractères alpha-numériques seulement (0x20 - 0x7F). |
-t | none | (cassage WEP) Restreint la recherche aux caractères hexadecimal codés binairement. |
-h | none | (cassage WEP) Restreint la recherche aux caractères numériques (0x30-0x39). Ces clés sont utlisés par défaut surtout dans les Fritz!BOXes. |
-d | start | (cassage WEP) Fixe le début de la clé WEP (en hexadécimalSet), utile pour le déboguage. |
-m | maddr | (cassage WEP) Addresse MAC pour filtrer les packets de données WEP. Alternativement, spécifiez -m ff:ff:ff:ff:ff:ff pour utiliser tous les IVs, sans tenir compte du réseau. |