Cracker les réseaux Wi-Fi cryptés avec le protocole WEP


Les réseaux sans fil (Wi-Fi) sont devenus très courant ces dernières années, et il n’est pas rare aujourd’hui dans les zones urbaines de capter plusieurs dizaines de points d’accès Wi-Fi appartenant à des particuliers ou des entreprises.

Décrit dans la norme IEEE 802.11, les réseaux sans fil, de part l’impossibilité de facilement limiter leurs propagation, ont rapidement nécessités l’emploi d’un codage des transmissions.

La première implémentation d’un processus de sécurité à grande échelle sur les réseaux sans fil a été mise en place avec le protocole WEP. Le but de ce protocole était de rendre les connexions WiFi semblable aux réseaux filaires sur le plan de la confidentialité des transmission, comme son nom l’indique, puisque WEP est l’acronyme de « Wired Equivalent Privacy ». Mais très rapidement (en 2001 via l’attaque FMS) des faiblesses majeures ont été découvertes dans ce protocole, et la sécurité offerte par le WEP est aujourd’hui inexistante.

Pourtant…
On trouve encore de nombreux réseaux cryptés par du WEP, alors que son remplacent, le cryptage WPA (appelé WPA2 dans sa version finale) est maintenant éprouvé et clairement plus solide. Même si pas infaillible lui non plus…

Beaucoup de MachinBox utilise par défaut le cryptage WEP si l’on active le Wi-Fi, même si les plus récents modèles commencent à le remplacer par WPA. Ce dernier ne garantie en rien une sécurité infaillible et il est aujourd’hui lui aussi crackable. Mais il demande plus de temps/de puissance de calcul pour obtenir la clé, ainsi que des conditions favorables. L’un des outils les plus rapide pour s’attaquer aux réseaux WPA est disponible sous Windows, il s’agit d’ElcomSoft Distributed Password Recovery. Il permet d’utiliser les GPU NVIDIA en complément pour le calcul et de distribuer ce calcul sur plusieurs machines, permettant ainsi de réduire considérablement le temps nécessaire pour cracker une clé.

Voici donc un exemple de crack de clé WEP, qui démontre l’importance d’abandonner le WEP pour le WPA sur tout modem/routeur disposant de ce dernier protocole de cryptage.

Je précise que ce type de crack est illégal, que l’exemple ci dessous a été réalisé avec le consentement du propriétaire de la MachinBox, et que reproduire ce crack à des fins préjudiciables pour autrui est soumis à de fortes peines. Écouter les réseaux n’est pas illégale, mais cracker une clé ou se connecter à un réseau sans autorisation est passible d’un an d’emprisonnement et de 15 000 € d’amende.


Les logiciels nécessaires

Pour pouvoir réaliser toutes les opérations de détection, captures et injections, il faut simplement disposer de la suite d’utilitaires fournie par le projet Aircrack-ng. Cette suite d’outils dispose de trois programmes principaux pour cracker un réseau Wi-FI :

  • airodump-ng : Il s’agit du logiciel qui va capturer les paquets sur les réseaux Wi-Fi. Il permet donc de d’engranger les informations nécessaires pour le crack.
  • aireplay-ng : Le but principal de ce logiciel est d’envoyer des paquets sur le réseau attaqué pour stimuler le trafic et accélérer le crack.
  • aircrack-ng : C’est le logiciel en bout de chaine. C’est lui qui va cracker la clé à partir des informations recueillies par airodump-ng.

La procédure qui suit a été réalisé sur une Ubuntu, mais aircrack-ng peut être installé sur toutes distributions, et même sous Windows.

Il est de plus possible d’utiliser une distribution sous forme de LiveCD ou LiveUSB spécifiquement dédiée au test de sécurité. La plus réputée aujourd’hui est BackTrack, issue de la fusion des distributions Whax et Auditor. Vous trouverez de l’aide concernant cette distribution sur le wiki de la communauté française.

Citons également la distribution Troppix créé Christophe Devine, l’auteur de la suite aircrack (reprise par la suite par Thomas d’Otreppe sous le nom aircrack-ng). Devine dut malheureusement cesser le développement de cette distribution et de ‘aircrack » assez brutalement en décembre 2005.


Mise en place

Activer le mode « monitor »

Avant toutes choses, il faut être capable de capturer des paquets via notre carte Wi-Fi. Commençons donc par détecter les interfaces disponibles avec le programme airmon-ng :

$ sudo airmon-ng

Pour obtenir la liste des cartes supportées, voir ce lien. Ici Airmon-ng a détecter une carte Wi-Fi de type « Broadcom 43xx », disponible via l’interface wlan0.

Passons là en mode monitor (équivalent au mode « promicuous » sur les réseaux filaires), toujours avec airmon-ng, pour être capable de capturer les paquets sur cette interface :

$ sudo airmon-ng start wlan0

Le mode « monitor » est bien activé. Remarquez que l’interface de capture n’est pas wlan0, mais une nouvelle interface mon0 (ce nom « mon0″ est variable suivant le type de carte/pilote). C’est elle que nous allons utiliser pour capturer les trames sur les réseaux Wi-Fi.


Capture des trames et prise d’information

Dès lors, nous allons entamer le scan et la capture des trames avec l’outil airodump-ng. Il s’utilise de la façon suivante :

 $ sudo airodump-ng -w fichier -c 11 mon0

Cette commande supporte plusieurs options commentées dans le page de manuel (man airodump-ng). Nous utilisons ici « -w fichier » pour enregistrer la capture dans un fichier « fichier » qui sera crée par le programme, ainsi que l’option « -c channel » qui permet de spécifier le channel à écouter, le 11 dans cette exemple.

Le retour de cette commande est fort utile.

Le résultat de ce scan est une source d’information primordiale pour repérer et choisir la cible. Il se divise en deux parties, la première traitant les points d’accès (Abrégé « AP » dans la suite de cette article ; il s’agit typiquement des MachinBox[1]), la seconde les stations (typiquement les ordinateurs) connectées aux points d’accès.

Voici une brève description des champs visibles dans la première partie :

  • BSSID : L’adresse MAC de l’AP.
  • PWR : La force du signal. Une valeur de -1 indique un problème de calcul sans incidence.
  • Beacons : Le nombre de Beacons reçu, ces petits paquets qu’emploies les AP pour s’annoncer. Ils n’ont pas d’intérêt ici.
  • #DATA : Cette colonne est primordiale. Plus vous aurez de #DATA (et donc de IVs), plus le crack sera rapide.
  • #/s : Nombre de #DATA par seconde. Pas très utile ici.
  • CH : Le channel utilisé par l’AP. Information utile pour réduire le champ du scan et se concentrer sur la cible.
  • MB : La vitesse de l’AP, à l’heure actuelle, une écrasante majorité de 54 MB (802.11g).
  • ENC : Autre colonne primordiale, elle indique le protocole de cryptage employé par l’AP.
  • CIPHER : La méthode d’authentification utilisée par l’AP.
  • AUTH : Complément de la méthode d’authentification.
  • ESSID : Le nom du réseau Wi-Fi de l’AP. Celui que l’on indique habituellement pour ce connecter de façon « classique ».

Et les champs disponibles dans la seconde partie :

  • BSSID : L’adresse MAC de l’AP
  • STATION : L’adresse MAC de la station connecté à l’AP
  • PWR : La force du signal.
  • Rate : Le taux de transfert ?
  • Lost : Le nombre de paquets perdus ?
  • Packets : Le nombre de paquets capturés ?
  • Probes : Le nom de l’ESSID auquel la station est connectée.

On apprend vite à repérer rapidement les informations essentiels fournies par airodump-ng avec un peu de pratique.


Cibler la capture

Pour affiner la capture et nous concentrer sur la cible, nous allons préciser nos arguments de capture passés à airodump-ng :

$ sudo airodump-ng -w fichier -c 6 -d AP_MAC_Address mon0

L’emploi de l’option -d AP_MAC_address permet de limiter la capture au seul paquet provenant le l’AP dont on indique l’adresse MAC. Ça permet surtout de créer des fichiers (avec l’option -w fichier) de capture contenant uniquement des paquets intéressants dans le cadre du crack de la cible, et ainsi d’optimiser la procédure.

Revenons à cette option -w fichier. Celle-ci va créer deux fichiers :

  • fichier-01.cap
  • fichier-01.txt

Ce premier fichier .cap nous sera très utile pour le crack de la clé WEP, puisqu’il contient des captures de paquets qui seront analysées par aircrack-ng pour cracker la clé.


Test de l’association au réseau cible

Maintenant nous allons utiliser airplay-ng pour tester l’association à l’AP :

$ aireplay-ng -1 0 -e ESSID -a AP_MAC_Address -h STATION_MAC_Address mon0

Les paramètres sont:

  • -1 : Indique une « fake authentication ».
  • 0 : Indique le temps a laisser entre 2 tentatives.
  • -e ESSID : Il faut remplacer ESSID par le nom du réseau indiqué dans la colonne ESSID par airodump-ng.
  • -a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l’adresse MAC de l’AP indiqué dans la colonne BSSID par airodump-ng.
  • -h STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l’adresse MAC de la station indiqué dans la colonne STATION par airodump-ng.
  • mon0 : A remplacer par le nom de votre interface de capture.

Cette étape permet principalement de vérifier la présence ou non d’un filtrage sur l’adresse MAC mis en place sur l’AP. Cependant, il arrive parfois que l’association échoue même en cas d’absence de filtrage… Cette étape n’est donc pas d’une fiabilité absolue. De plus, en fonction de la qualité de réception du signal de l’AP cible, le résultat de cette authentification peut être long à venir.

Donc, ça ne coute rien de tenter la « fake authentification », mais il ne faut pas conclure grand chose du résultat obtenu, sauf en cas de réussite rapide de l’authentification !


Accumulation de paquets pour préparer le crack

Il s’agit maintenant de générer du trafic pour obtenir les paquets contenant des IVs dont nous avons besoin pour cracker la clé WEP. Pour réaliser cette tâche, on utilise une fois de plus aireplay-ng :

$ aireplay-ng -3 -e ESSID -b AP_MAC_Address -h STATION_MAC_Address mon0

Cette commande va créer un fichier « replay_arp-xxxx-xxxxxx.cap » qui contiendra les paquets. Ces fichiers .cap sont au centre du crack, ils contiennent les données indispensables à aircrack-ng pour casser rapidement la clé.

Avec aireplay-ng, le facteur important est de faire monter le plus vite possible le nombre de paquets ARP capturés. Entre le lancement de aireplay-ng et le début de la capture de paquets ARP, il peut s’écouler un long moment, mais une fois un paquet dans les filets, les autres vont suivre très rapidement.

Attaque de type « Deauthentication »

Si jamais le premier paquet ARP ne veut vraiment pas venir, il est possible de lancer une attaque de « Deauthentication ». Dans le cadre d’un crack de clé WEP, une telle attaque, si elle réussie, va forcer une brève déconnexion de la station cible. Cette station va alors se reconnecter automatiquement, et il arrive que les machines sous Windows vident leurs caches ARP en cas de déconnexion, ce qui provoque l’envoi d’un paquet ARP tant attendu… Cette déconnexion est transparente sur la machine cible dans une large majorité de situation, si et uniquement si vous n’injectez pas de trop nombreux paquets. Soyez prudent par exemple de ne pas utiliser 0 comme nombre de paquets et de laisser le processus tourner.

Voici la commande pour lancer une attaque de « Deauthentication » :

$ aireplay-ng -0 1 -a AP_MAC_Address -c STATION_MAC_Address mon0
  • -0 : Indique une attaque par « Deauthentication »
  • 1 : Indique le nombre de paquet de « Deauthentication » qui doivent être envoyer. 0 force l’envoi de façon continuelle, jusqu’à l’arrêt du processus.
  • -a AP_MAC_Address : Il faut remplacer AP_MAC_Address par l’adresse MAC de l’AP ou est connecté la station visée.
  • -c STATION_MAC_Address : Il faut remplacer STATION_MAC_Address par l’adresse MAC de la station à déconnecter. Si vous n’indiquez aucune adresse MAC ici, toutes les stations connectées seront la cible de l’attaque, mais il est recommandé de cibler l’attaque pour plus de succès.
  • mon0 : A remplacer par le nom de votre interface de capture.

Le succès de ce type d’attaque n’est pas garanti, mais elle peut ce révéler très efficace contre certains types de machine.

Notez également que cette attaque envoie les paquets directement sur la station cible, sans passer par l’AP, ainsi, si vous êtes juste assez proche de l’AP, mais que la station est située un peu plus loin de votre carte Wi-Fi, il est possible que la cible ne soit pas joignable alors que son AP l’est.


Le crack

Nous arrivons maintenant au crack de la clé WEP à proprement parler. On estime qu’il faut environ 300 000 IVs pour cracker une clé WEP 64 bits, et environ 1 000 000 pour une clé WEP 128 bits. Dans la pratique, il en faut généralement beaucoup moins, puisque que des parutions datant de 2007 indiquent que 40 000 IVs suffisent…

Pour cracker la clé, on utilise le programme aircrack-ng ainsi :

$ aircrack-ng -x fichier_capture

Il est plus que recommandé d’utiliser *.cap pour allez chercher les paquets à analyser aussi bien dans le retour de aireplay-ng que dans celui de airodump-ng. Pendant ce temps, laissez tourner airodump-ng et aireplay-ng pour continuer d’alimenter les fichiers .cap.

Et après quelques temps, si tout ce passe bien.

Avec un peu de pratique, l’ensemble de ces opérations est réalisable en quelques minutes sur un appareil aussi petit qu’un PDA ou un SmartPhone…

Je n’aborderai pas ici le moyen de se connecter au réseau une fois la clé découverte, c’est une procédure triviale.

Abandonnez les réseaux sans-fils, passez aux filaires !

source : http://pastoutafait.org




You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply