Aircrack-ng est notre programme de cassage de clefs 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 principal 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 brute force est utilisée. Pour pas que vous soyer perdu durant sont utilisation, je vous ai traduit le manuel en Français.
Utilisation Aircrack-ng
Vous pouvez spécifier plusieurs fichiers de données (aussi bien .cap ou .ivs).
aircrack-ng [options] <fichier(s) de capture>
Option commune :
-a <amode> : Force le mode d’attaque, 1 = static WEP, 2 = WPA/WPA2-PSK
-e <essid> : Tous les IVs provenant de réseau 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’adresse MAC du point d’accès.
-p <nbcpu> : Pour systèmes multiprocesseurs, utilisation du nombre de processeurs. Cette option est invalide sur les systèmes non multiprocesseurs.
-q : Activer le mode silencieux. Pas d’affichage de statut jusqu’à que la clé soit trouvée, ou pas.
-C <macs> : Fusionner les points d’accès donné en mode virtuel.
-l <file> : Ecrit la clé dans le fichier spécifié.
Option de cracking WEP Static
-c : Restreint la recherche aux caractères alphanumériques uniquement (0x20 – 0x7F)
-t : Restreint la recherche aux caractères hexadécimaux codés uniquement binairement.
-h : Restreint la recherche aux caractères numériques. Ces clés sont utlisés par défaut surtout dans les Fritz!BOX.
-d <mask> : Fixe le début de la clé WEP (en hexadécimal), utile pour le déboguage.
-m <maddr> : 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.
-n <nbits> : Spécifiez la longueur de la clé: 64 pour 40-bit WEP, 128 pour 104-bit WEP, etc. La valeur par défaut est 128.
-i <index> : Ne garder que les IVs qui ont cette clé d’index (1 à 4). Le comportement par défaut est d’ignorer l’index de clé.
-f <num> : Par défaut, ce paramètre est réglé à 2 pour 104-bit WEP et à 5 pour 40-bit WEP. Spécifiez une valeur plus élevée pour augmenter le niveau bruteforce: fissuration prendra plus de temps, mais avec une plus grande vraisemblance de succès.
-k <num> : Il ya 17 Korek attaques statistiques. Parfois, une attaque crée un énorme faux positif qui empêche la clé d’être trouvé, même avec beaucoup de IVs. Essayer k-1, k-2, …, k 17 pour désactiver sélectivement chaque attaque.
-x ou -x0 : Désactiver bruteforce pour les dernière keybytes.
-X1 : Activer le brutefore des dernière keybyte (par défaut).
-X2 : Activer le bruteforcing des deux derniers keybytes.
-X : Désactiver le multithreading bruteforce.
-y : Attaque bruteforce expérimental qui doit être utilisé uniquement lorsque le mode d’attaque standard échoue avec plus d’un million de IVs.
-K : Appelle uniquement toutes les méthode Korek de fissuration WEP.
-s : Montre la clef en caractère ASCII (alphanumérique). Déconseillé car peut causé l’échec de la fissuration.
-M <num> : Définit le nombre maximum de ivs à utiliser.
-D : Exécuter en mode decloak WEP.
-P <num> : Appelle le mode debug PTW, 1 : desactivé, 2 : PWD.
-l : Démarre seulement 1 essai de crack de la clé with PTW.
Options de cracking Wep and WPA-PSK
-w <word> (Fissuration WPA) Chemin d’accès une liste de mots ou « – » sans les guillemets pour standard (stdin).
Option WPA-PSK
-E <file> : Créer un fichier de projet EWSA v3.
-J : <file> : Créer un fichier de Capture pour Hascat un logiciel de brute forece plus puissant.
-S : Test de rapiter du crack WPA
-r : Utilise une base de données générée par airolib-ng comme entrée pour déterminer la clé WPA. Émet un message d’erreur si aircrack-ng n’a pas été compilé avec le support de SQLite.
Le WEP un danger public depuis plus de 20 ans
Le protocole WEP (Wired Equivalent Privacy) est système de cryptage de données de la norme internationale IEEE 802.11 ratifiée en septembre 1999. D’un point de vue théorique, il protège les communications de la couche liaisons de données (niveau 2 du modèle OSI). Il y eut un temps où le protocole WEP fut considéré comme sûr. La diffusion dans le domaine public de l’algorithme RC4 a complètement modifié la donne.
En 1995, Wagner met en évidence les vulnérabilités du protocole RC4 sur le Newsgroup sci.crypt. Il fallait alors 10 millions de paquets pour trouver la clé. Cela mettait beaucoup de temps à l’époque. En l’an 2000, plusieurs publications démontrent la faiblesse des clés WEP.
En 2005, une équipe du FBI des États-Unis d’Amérique fit la démonstration qu’il est possible de pénétrer un réseau protégé par du WEP en 3 minutes en utilisant des outils disponibles publiquement. Depuis le 1 avril 2007, elles peuvent être retrouvées en une minute. Leur utilisation en entreprise est donc formellement déconseillée.
La faille du chiffrement RC4 avec le Wep
Avec le cryptage WEP chaque paquet 802.11 est génère séparément avec un flux de chiffrement RC4. RC4 est un algorithme de chiffrement par flux (ou par flot) à clé symétrique. Il utilise différentes tailles de clé, couramment jusqu’à 256 bits. Il est utilisé dans de nombreuses applications, l’une des plus connues étant SSL. Il est considéré comme fiable mais une mauvaise implémentation peut entraîner des failles. Quand on génère un flux de données de taille identique au flux de données claires on fait un XOR (opérations bit à bit de donnée binaire) entre les deux, le déchiffrement se fait par XOR entre le chiffré et le même flux pseudo-aléatoire. Deux étapes sont nécessaires pour l’opération de chiffrement, l’initialisation de la clé et le texte chiffré. Le problème dans le WEP vient du vecteur d’initialisation trop petit (IV) rendant le chiffrement faible, un chiffrement dans le meilleur des monde et dans la théorie n’est fiable que si la longueur de la clé est au moins égale à celle du message à chiffrer.
Cela parait compliquer mais je vais vous donner un exemple fictif, que les puristes me pardonnent cet exemple simplet. Supposons que nous volons envoyer un message crypter en réponse à une question. Prenons un mot en trois lettres comme le mot « NON » que nous cryptons avec système binaire. Avec un système binaire nous pouvons avoir que deux possibilité, zéro ou un. Appliquons ce système aux lettres du mot « NON ». La lettre « N » peut être égal « I » et la lettre « O » correspond à « U ». Dans un tel système le message possible est soit, NON ou IUI. Votre message sera répéter plusieurs foi en changeant la syntaxe de votre message pour pas qui ce répète en définissant une règle comme un vecteur d’initialisation (IV). Imaginons que vous transmettez à voix haut ce message sans protection. Comme votre message est sur deux bit, il sera facilement compris si vous le répéter plusieurs fois. C’est exactement pareil avec une clé WEP mais sur plus de bit car un pirate peut décrypter les paquets avec une étude statistique quand la clé ce répète.
Un vecteur d’initialisation de 24 bits (IV) sert uniquement pour l’initialisation, ce qui signifie que seuls 40 bits de la clé de 64 bits servent réellement à chiffrer et 104 bits pour la clé de 128 bits. Dans une tentative pour augmenter la protection, ces méthodes de cryptage ont été étendues des clés plus longues de 152 bits et 256 bits. Le vecteur d’initialisation (IV – Initialization Vector) est une séquence de bits qui change régulièrement (à chaque trame envoyée si l’implémentation est bonne) . Combiné à la clé statique, il introduit une notion aléatoire au chiffrement. La longueur du IV est de 24 bits, soit une possibilité 2 puissance 24. Ainsi, deux messages identiques ne donneront pas le même contenu chiffré, puisque l’IV est dynamique. Cela laisse à penser que l’IV ne sera pas réutilisé plusieurs fois. Comme la clé, l’ IV doit être connu à la fois de l’émetteur et du récepteur. Le IV est donc transporté en clair dans les trames. L’algorithme symétrique RC4 chiffre par flot, la même clé ne doit pas être utilisée deux fois pour chiffrer les données échangées. C’est la raison de la présence d’un vecteur d’initialisation (IV). Ce vecteur, transmis sans protection, permet d’éviter la répétition. Cependant, un IV de 24 bits n’est pas assez long pour éviter ce phénomène sur un réseau très actif. Dans le cas de la clé de 40 bits, une attaque par force brute permet à un pirate de trouver la clé. Le standard IEEE 802.11 définit un mécanisme sommaire d’intégrité des trames basé sur le CRC (Control Redondancy Check). Cette valeur est appelée ICV (Integrity Check Value) et est de longueur 4 octets. Les propriétés du CRC sont telles que le niveau de sécurité atteint est très faible. Il est ainsi possible pour un utilisateur mal intentionné de modifier une trame tout en mettant à jour le CRC afin de créer une trame modifiée valide.
Les vulnérabilités de WPA
Pour comprendre la vulnérabilité du WPA et le fonctionnement des outils de crack nous devons comprendre les changements apportés par l’amendement 802.11i. En réalité WPA2 est le nom commercial donné par la Wi-Fi Alliance pour le matériel réseau compatible avec la sécurité 802.11 créé par l’amendement 802.11i. A cause de l’inquiétude croissante de l’insécurité des réseaux avec la sécurité du WEP un groupe de travail de l’IEEE fut créer au début de l’année 2001 sous le nom i pour créé une nouvel norme connu sous WPA2. Le but du groupe de travail IEEE 802.11i à été l’amélioration de l’authentification utilisateur et le chiffrement/contrôle d’intégrité des données pour le wifi. La nouvelle architecture des réseaux sans fil appelée RSN (Robust Security Network ou RSN) de l’amendement IEEE 802.11i définit des méthodes sécurisée d’authentification et de chiffrement plus complexe. WPA et WPA2 est un mécanisme de sécurité basés sur le protocole de chiffrement TKIP ou le protocole de chiffrement CCMP avec deux mécanismes d’authentification différent.
Le mécanisme d’authentification EAP est pour le marché des entreprises et hotspot avec identification 802.1X WPA-Enterprise ou WPA2-Enterprise. Le mécanisme d’authentification PSK (WPA-Personal ou WPA2-Personal) est une version pre-shared key pour le marché des particulières ou petites entreprises avec une clef partagée entre tous les utilisateurs et l’AP. La premier version qui fut créé été WPA avec TKIP, car le développement de la version de WPA2 fut plus longue que prévu. Son grand avantage c’est qu’elle peut coexister avec l’architecture TSN (Transitional Security Network) du WEP. Le processus de chiffrement TKIP avec WPA a été construis avec le souci de compatibilité avec l’architecture TSN pour que le matériel reste compatible et permettre une mise à jours des équipements des utilisateurs. L’amendement de la norme IEEE 802.11i fut ratifié en 2004 et publié la même année.
Il existe deux types de sécurité pour WAP : le WPA-PSK (sans serveur) et le WPA-EAP (avec serveur). Dans la cryptographie, une clé pré-partagée ou PSK est un secret partagé qui était auparavant partagée entre deux personnes en utilisant un moyen sécurisé avant il d’ être utilisé. Le WPA-PSK est ce qu’appelle une “clé pré-partagée” qu’on peu considérer comme un mot de passe. Le mot de passe wifi est en réalité une clé pré partager d’une longeur de 8 à 63 caractère de lettre, chiffre ou caractère spéciaux.
Tous les terminaux du réseaux un utilise la même clé pour ce connecter sans aucune authentification utilisateur. C’est ce qui est le plus utilisé pour les réseau des particulier. Le terme PSK est utilisé dans le chiffrement Wi-Fi tels que Wired Equivalent Privacy (WEP) ou Wi-Fi Protected Access (WPA) et tous les clients partagent la même clé. L’attaque du WPA-PSK consiste à faire un « bruteforce » sur la clé partagée jusqu’à ce qu’on arrive à décrypter les inforamtions.
Le TKIP est un protocole pour communiqué de façon chiffre mais dynamiquement pour stopper l’attaque sur les faille du WEP. TKIP utilise un MIC (message authentication code) qui controle les paquet pour pas qui soit rejouer avec Aireplay-ng. TKIP génére une nouvelle clé temporaire de façon temporaire avec graçe à la clé PSK et utilise un vecteur d’initialisation de 48 bits avec un compteur. Une clé de 128 bits est générer pour chaque paquet avec une nouvelle clé pour chaque nouveaux paquet à partir de la clé temporaire et du vecteur d’initialisation.
Avec la norme 802.11 et WEP, l’intégrité des données est assurée par une valeur ICV (Integrity Check Value) de 32 bits. Bien que la valeur ICV soit cryptée, vous pouvez utiliser une cryptanalyse pour modifier des bits dans la charge de travail cryptée et mettre à jour la valeur ICV cryptée sans être détecté par le destinataire. Avec WPA, une méthode appelée Michael spécifie un nouvel algorithme qui calcule un code MIC (Message Integrity Code) de 8 octets à l’aide des fonctionnalités de calcul disponibles sur les périphériques sans fil existants.
Le code MIC est placé entre la partie des données de la trame IEEE 802.11 et la valeur ICV de 4 octets. Le champ MIC est crypté avec les données de trame et la valeur ICV. Michael fournit également une protection contre la relecture. Un nouveau compteur de trames dans la trame IEEE 802.11.
CCMP est un algorithme de chiffrement AES symétrique utilisant des blocs de 128 bit dans le WPA2. Il à était fabrique pour remplacer TKIP utiliser dans le WPA qui sensible a une attaque chopchop modifier. CCMP (Counter-Mode/CBC-MAC protocol) s’occupe l’ intégrité des information transmit sur le réseau. CCMP à un compteur qui fonctionne avec un code d’authentification MAC (CBC-MAC) avec le chiffrement AES. Le compteur AES de 48 bit (le double WEP) permet un chiffrement sécuriser pour éviter les secteur d’initialisation identique pour toutes les transmission du réseau et le code d’authenfication empêche l’atélration des communication. Comme TKIP les clé de 128 bit (les blocs) sont générer pour chaque nouveaux paquet avec une nouvelle clé à partir de la clé principales et d’autre valeur, ainsi le rejeux de paquet est impossible contrairement au WEP ou on pouvais créez du faux traffic sur le réseaux.
La PKM est la phrase secrète sous forme de caractères ASCII utilisée (PSK) est convertie vers une clé de 256 bits que l’on nomme Pairwise Master Key ou PMK en appliquant une fonction de dérivation de clé PBKDF2 qui utilise le SSID comme sel et 4096 itérations de HMAC-SHA17. La PTK c’est la fameuse clé dynamique dérivée de la PMK et permet l’authentification et le chiffrement des données unicast et la distribution sécurisée de la clé de groupe pour générer une clé uniquement valide pour cette connexion.c’est une fonction qui prend en entrée entre autres (le ANounce, le SNounce, l’adresse MAC du supplicant, l’Authenticator MAC) (Si l’utilisateur se déconnecte puis reconnecte, le processus recommencera et une nouvelle PTK sera généré)
Politique de sécurité et Authentification
Un personne qui possède la clé PSK peut lire tous le trafic avec Airodump-ng et Wireshack sans être connecté au réseau Wi-Fi. Dans de tel conditions il a de quoi s’inquiéter si la clé PSK tombe entre de mauvaise main ou un personne assez crédule pour la donner au premier venu.
Pour faire une bonne clé de sécurité PSK il faut appliquer quelque règle simple pour évité que le réseau soit compromis. Voici les bonne pratique, il faut changer la clé Wi-Fi PSK fournit pas le constructeur de l’AP. Il faut que la clé PSK qui sert à se connecté ne soit pas écris au dos de l’AP. En effet les constructeur imprime la clé fabriquer à l’usine au dos de l’AP pour les premier connexion se qui rend le vole du mot de passe accessible un enfant de 8 ans. Concernant l’écriture de la clé il faut pas utiliser des règle pouvant être deviner comme l’écriture d’une clé avec des règle d’orthographe car elle se base sur un logique facile à deviné avec par exemple un fichier dictionnaire.
La légende urbaine nous fait croire qu’une bonne clé Wi-Fi PSK doit avoir une longueur de clé de 63 caractère choisis aléatoirement. Je suis bien d’accord sur le principe du choix aléatoire des caractère mais 63 caractère est beaucoup trop. Même si dans la théorie une telle clé est impossible à cracker avec un brute force dans les années deux mille dix, elle est impossible à retenir pour un être humain à moins de passer énormément de temps à l’apprendre. Un clé PSK d’un longueur supérieur à 12 caractère est suffisamment sécuriser contre un pirate qui voudrai utiliser un brute force qui testerai méthodiquement tous les combinaison.
Si part du principe que la longueur de la clé et les caractère utiliser sont inconnu du pirate qui voudrai attaquer le réseau alors le mot de passe peut être considère comme sur. Ceci est encore plus vrai si vous changer la clé PSK souvent de manière irrégulière dans le temps. Tous cela ne sert à rien sur on transmet pas la clé de manière sécurisé. Une bonne pratique qui ne tombe pas dans des extrême paranoïaque consisterai à connecté avec un câble Ethernet l’ordinateur a a l’AP. Une fois l’ordinateur connecté à l’AP il suffit de se connecté à l’administration de l’AP pour copier et collé la clé PSK afin de se connecté au la wifi. Comme le panneau d’administration de l’AP est protéger par un mot de passe cela ne pose pas de problème de copier la clé du point A au point B. Cela évite de l’écrire sur un morceau de papier ou de l’envoyé par email.
Une autre altérative consiste à utilisé le WPS. Je doute pas que certain fonce les sourcil en lisant ceci mais je vous assure que si cela est fait sous la supervision d’un administrateur réseau cela comporte aucun risque. Pour ce faire il faut que l’administrateur réseau active le wps, vérifie qu’elle client s’est connecté et désactive le WPS une fois la station connecté. L’avantage du WPS c’est que vous ne donnez pas l’adresse IP de l’AP à manger au navigateur du PC qui veut ce connecté. Et en plus cette manipulation est incontournable si vous utiliser du matériel mobile dépourvu de câble Ethernet. Donc la connexion par WPS ne pose pas de problème si vous désactiver l’option après la connexion de la station et si vous vérifier qui s’est connecté.