Aller au contenu

WiFi : Testez Sa Robustesse !

Le WIFI (Wireless Fidelity) est une technologie qui permet de créer des réseaux sans fil qui permet à différents appareils électroniques de communiquer entre eux sans utiliser de câbles. Le wifi utilise des ondes radio pour transmettre des données entre un routeur et un ou plusieurs appareils. Il existe plusieurs normes Wi-Fi, comme 802.11a/b/g/n/ac/ax, chacune offrant des vitesses, des portées différentes et utilisant des plages de fréquences différentes. Le Wi-Fi peut être sécurisé par des protocoles comme WPA, WPA2 et WPA3 pour protéger les données transmises entre le routeur et l’appareil.

WPA (Wi-Fi Protected Access) : Ce protocole utilise un mot de passe pour sécuriser le réseau. Il a été introduit pour remplacer le WEP, qui était moins sécurisé.

WPA2 : Une amélioration de WPA, WPA2 utilise un chiffrement plus fort (AES) et est actuellement l’un des protocoles les plus courants pour sécuriser les réseaux Wi-Fi. Le mot de passe WPA2 est utilisé pour authentifier les utilisateurs et chiffrer les données.

WPA3 : La version la plus récente, WPA3, offre des améliorations de sécurité supplémentaires, comme une protection contre les attaques par force brute et une meilleure confidentialité des données. Le mot de passe WPA3 est également utilisé pour authentifier les utilisateurs et chiffrer les données, mais avec des mécanismes de sécurité plus avancés.

Les méthodes d’authentification externes du Wi-Fi permettent de sécuriser l’accès au réseau en utilisant des protocoles et des serveurs d’authentification.

WPA/WPA2-Enterprise : Utilise le protocole IEEE 802.1X et des serveurs d’authentification comme RADIUS pour fournir un contrôle d’accès avancé. Les utilisateurs doivent s’authentifier avec des identifiants uniques, souvent via un nom d’utilisateur et un mot de passe.

WPA3-Enterprise : Une amélioration de WPA2-Enterprise, offrant une sécurité renforcée et une meilleure protection contre les attaques par force brute. Il utilise également des serveurs d’authentification comme RADIUS.

EAP (Extensible Authentication Protocol) : Un cadre d’authentification qui prend en charge plusieurs méthodes, telles que EAP-TLS (Transport Layer Security), EAP-TTLS (Tunneled Transport Layer Security), et PEAP (Protected EAP). Ces méthodes permettent une authentification sécurisée via des certificats numériques ou des identifiants.

Dans cet article, nous allons explorer l’utilisation de Hashcat pour tester la robustesse du mot de passe de votre réseau WiFi avec Pwnagotchi, c’est un logiciel pouvant être installé sur un objet portatif ayant une carte wifi ayant pour but d’obtenir des « handshakes » wifi. N’utilisez ces outils qu’avec l’accord du propriétaire du réseau, de plus il y a un risque d’affecter les réseaux wifi voisins donc à manier avec précaution.

Différences entre WPA, WPA2 et WPA3

  • WPA : Utilise TKIP (Temporal Key Integrity Protocol), moins sécurisé.
  • WPA2 : Utilise AES (Advanced Encryption Standard) avec CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol), plus sécurisé.
  • WPA3 : Introduit SAE. Améliorations Clés de WPA3 :
    • SAE (Simultaneous Authentication of Equals) : Protège contre les attaques par force brute et dictionnaires hors ligne en rendant chaque tentative de mot de passe unique.
    • Forward Secrecy : Assure que les clés de session ne peuvent pas être utilisées pour déchiffrer les sessions passées, même si une clé est compromise.
    • OWE (Opportunistic Wireless Encryption) : Chiffre les données sur les réseaux ouverts sans nécessiter de mot de passe, améliorant ainsi la confidentialité dans les environnements publics
  • Pre-Shared Key (PSK) est le terme technique pour le mot de passe Wi-Fi que vous configurez et utilisez pour accéder à votre réseau.

Différents types d’Attaques WiFi

Il existe plusieurs types d’attaques WiFi que les hackers peuvent utiliser pour compromettre un réseau. Voici quelques-unes des plus courantes :

  1. Evil Twin Attack (Attaque du Jumeau Malveillant) :
    • Description : Un point d’accès WiFi malveillant imite un réseau légitime pour tromper les utilisateurs.
    • Exemple : Vous vous connectez à un réseau « Café WiFi » qui est en réalité contrôlé par un hacker.
  2. De-authentication Attack (Attaque de Dé-authentification) :
    • Description : L’attaquant envoie des paquets de dé-authentification pour déconnecter les utilisateurs du réseau et récupérer la clé d’accès de la poignée de main, ce que fait pwnagotchi, aireplay-ng …
      Il existe aussi le brouillage du signal radio wifi sur une fréquence.
    • Exemple : Vous êtes déconnecté de votre réseau WiFi à plusieurs reprises sans raison apparente.
  3. Brute Force Attack (Attaque par Force Brute en ligne) :
    • Description : L’attaquant essaie toutes les combinaisons possibles de mots de passe jusqu’à trouver le bon.
    • Exemple : Un hacker utilise un script pour tester des milliers de mots de passe sur votre réseau WiFi.

Dans cet article, je vais uniquement me concentrer sur le deuxième type d’attaque.

Un autre type d’attaque existe en s’appuyant sur le brouillage du signal wifi mais celle-ci étant plus risquée et moins discrète je ne m’y attarde pas.

En France, le brouillage des communications est interdit par la loi, conformément à l’Article L33-3-1 du Code des postes et des communications électroniques. Cet article de loi stipule que « l’importation, la publicité, la cession à titre gratuit ou onéreux, la mise en circulation, l’installation, la détention et l’utilisation de tout dispositif destiné à rendre inopérants des équipements radioélectriques ou des appareils intégrant des équipements radioélectriques de tous types, tant pour l’émission que pour la réception » est prohibée. Par conséquent, si vous vous engagez dans la pratique du brouillage du signal radio, ne soyez pas surpris de voir la camionnette de l’ANFR (Agence Nationale des Fréquences) se garer devant chez vous.

Capture de Handshake

Pwnagotchi utilise des attaques de désauthentification pour forcer les clients à se reconnecter au réseau, ou bien le reniflage passif, ce qui permet de capturer les handshakes nécessaires pour tester la robustesse du mot de passe. En envoyant des paquets de désauthentification, le Pwnagotchi déconnecte temporairement les appareils du réseau. Ces appareils tentent alors de se reconnecter automatiquement, générant ainsi un handshake que le Pwnagotchi peut capturer. Un « handshake » représente les informations capturées durant les 4 étapes de la séquence d’authentification. Le « handshake » est stocké dans un fichier.

Pour capturer un handshake (WPA/WPA2) et l’analyser par la suite, Pwnagotchi automatise les étapes suivantes sur les différents canaux Wi-Fi en boucle :

  • Reniflage passif : Pwnagotchi écoute les communications Wi-Fi environnantes pour détecter les handshakes EAPOL (Extensible Authentication Protocol).
  • Dé-authentification : Il envoie des trames de dé-authentification pour forcer les clients à se reconnecter, générant ainsi de nouveaux handshakes.
  • Association : Pwnagotchi envoie des trames d’association aux points d’accès pour capturer le PMKID (Pairwise Master Key Identifier).

Ces actions sont répétées automatiquement sur tous les canaux Wi-Fi disponibles pour maximiser les chances de capturer les handshakes nécessaires à l’analyse.

Par dé-authentification :

Voici un exemple avec les logiciels airmon-ng, airodump-ng et aireplay-ng :

  1. Mettre la carte WiFi en mode moniteur : sudo airmon-ng start wlan0
  2. Scanner les réseaux WiFi à proximité : sudo airodump-ng wlan0
  3. Capturer le « handshake » : sudo airodump-ng --bssid <BSSID> -c <channel> --write capture wlan0
  4. Désauthentifier un client pour forcer la capture du handshake : sudo aireplay-ng -0 100 -a <BSSID> -c <client MAC> wlan0

Étapes Capturées par Airodump-ng :
Message 1 : ANonce : Le point d’accès envoie un nonce aléatoire (ANonce) au client Wi-Fi.
Message 2 : SNonce + MIC : Le client Wi-Fi envoie son nonce (SNonce) et le MIC (Message Integrity Code) au point d’accès.
Message 3 : GTK + MIC : Le point d’accès envoie le GTK (Group Temporal Key) et un MIC au client Wi-Fi.
Message 4 : Confirmation + MIC : Le client Wi-Fi envoie une confirmation avec un MIC au point d’accès.

Le mot de passe du Wi-Fi est utilisé pour générer les clés nécessaires à la sécurisation des échanges, mais il n’est pas directement transmis dans les messages EAPOL.

Récupération du mot de passe

Les fichiers de capture sont des fichiers .hc22000 (hash mode 22000) formats compatibles avec Hashcat.

Le hash mode 22000 est utilisé pour récupérer une Pre-Shared Key (PSK) à partir des données capturées lors du « handshake » EAPOL et du PMKID. Ce mode combine les informations du handshake EAPOL et du PMKID pour tenter de deviner le mot de passe.

Voici comment fonctionne Hashcat pour deviner le mot de passe (ou la PSK) en gros :

Extraction des données : Les messages capturés contiennent des informations cruciales comme les nonces (ANonce et SNonce) et les MICs. Ces éléments sont utilisés pour vérifier les mots de passe.
Génération de clés : Hashcat utilise le mot de passe à deviner pour générer une clé de chiffrement (PMK – Pairwise Master Key) en combinant le mot de passe avec le SSID (Service Set Identifier).
Calcul du MIC : Avec la PMK, Hashcat génère une clé temporaire (PTK – Pairwise Transient Key) et utilise cette clé pour calculer le MIC attendu pour les messages capturés.
Comparaison : Hashcat compare le MIC calculé avec le MIC capturé. Si les MICs correspondent, le mot de passe deviné est correct. Sinon, Hashcat essaie un autre mot de passe.

Par association :

Par association on fait une demande de connexion au point d’accès ce qui permet de parfois récupérer le PMKID, Une fois le PMKID capturé, on peut l’utiliser pour tenter de deviner le mot de passe Wi-Fi. Le PMKID contient des informations dérivées du mot de passe (PSK), ce qui facilite le processus de cassage. Certaines connexions peuvent ne pas générer de PMKID, mais la désauthentification garantit que des handshakes EAPOL sont capturés.

Le mot de passe à deviner peut être choisie parmi les deux méthodes si dessous :

Attaque par Force Brute

L’attaque par force brute est une méthode de cryptanalyse où l’attaquant essaie toutes les combinaisons possibles de mots de passe jusqu’à trouver le bon. Cette méthode est simple mais peut être très longue, surtout si le mot de passe est complexe. Voici quelques points clés :

  • Complexité : La complexité de l’attaque augmente exponentiellement avec la longueur du mot de passe. Par exemple, un mot de passe de 8 caractères avec des lettres majuscules, minuscules, chiffres et symboles peut avoir des milliards de combinaisons.
  • Puissance de Calcul : Plus la puissance de calcul est élevée, plus l’attaque sera rapide. Les GPU (unités de traitement graphique) sont souvent utilisés pour accélérer ce processus.
  • Exemple de Commande : hashcat -m 22000 -a 3 capture.hc22000 ?d?d?d?d?d?d?d?d

Attaque par Dictionnaire

L’attaque par dictionnaire utilise une liste prédéfinie de mots de passe potentiels, souvent basée sur des mots courants ou des mots de passe précédemment compromis. Cette méthode est plus rapide que la force brute car elle ne teste pas toutes les combinaisons possibles, mais seulement celles qui sont les plus probables. Voici quelques points clés :

  • Efficacité : L’efficacité dépend de la qualité de la « wordlist » (dictionnaire ou liste de mots de passe). Une « wordlist » bien construite peut casser de nombreux mots de passe courants.
  • Personnalisation : Les wordlists peuvent être personnalisées en fonction des informations spécifiques à la cible (par exemple, des noms, des dates de naissance).
  • Exemple de Commande : hashcat -m 22000 -a 0 capture.hc22000 wordlist.txt

Mots de Passe par Défaut des Routeurs WiFi

Il est également crucial de changer les mots de passe par défaut des routeurs WiFi. Certains fabricants de routeurs utilisent des mots de passe par défaut qui suivent des motifs facilement déchiffrables. Les attaquants peuvent exploiter ces motifs pour accéder à votre réseau. Par exemple, certains routeurs WiFi sont livrés avec des mots de passe par défaut qui suivent un schéma basé sur le numéro de série du routeur ou une combinaison de lettres et de chiffres facilement devinable. Voici un exemple concret :

Supposons que le mot de passe par défaut d’un routeur soit quelque chose comme « admin1234 » ou « password2021 ». Ces mots de passe sont très simples et suivent un motif prévisible. Un attaquant pourrait facilement deviner ou trouver ces informations en ligne.

Un autre exemple est celui des routeurs qui utilisent des mots de passe par défaut basés sur le SSID (nom du réseau WiFi). Par exemple, si le SSID est « Netgear123 », le mot de passe par défaut pourrait être « Netgear12345 ». Ce type de motif est également facilement déchiffrable.

Pour renforcer la sécurité de votre réseau, il est recommandé de changer ces mots de passe par défaut en un mot de passe unique et complexe. Voici quelques conseils pour créer un mot de passe sécurisé :

  • Utilisez une combinaison de lettres majuscules et minuscules, de chiffres et de symboles.
  • Évitez les mots courants ou les informations personnelles comme les noms ou les dates de naissance.
  • Optez pour une longueur d’au moins 12 caractères.
  • Utilisez une phrase de passe, par exemple : « Mon-Tabouret-Aime-Les-Promenades123! »
  • Utiliser la méthode « Diceware » Diceware — Wikipédia

En suivant ces conseils, vous pouvez grandement améliorer la sécurité de votre réseau WiFi et le protéger contre les attaques potentielles.

WPA3

WPA3 utilise la protection des trames de gestion pour sécuriser les trames (MFP) de dé-authentification et de dissociation. Cela empêche les attaquants de falsifier ces trames pour déconnecter les utilisateurs du réseau.

  1. Échange de Clés Sécurisé : SAE utilise le protocole Dragonfly pour l’échange de clés, basé sur l’algorithme Diffie-Hellman. Cela permet de générer des clés de session uniques pour chaque tentative d’authentification.
  2. Protection Contre les Attaques Hors Ligne : Contrairement à WPA2, où un attaquant peut capturer des données et tenter de deviner le mot de passe hors ligne, SAE exige que chaque tentative de mot de passe soit effectuée en direct. Cela rend les attaques par dictionnaire hors ligne beaucoup plus difficiles.
  3. Confidentialité Persistante : Même si un attaquant parvient à obtenir le mot de passe, il ne pourra pas déchiffrer les données précédemment capturées. Cela protège vos anciennes communications, même si votre mot de passe est compromis.

Cependant, il est important de noter que bien que WPA3 améliore la sécurité, certaines vulnérabilités peuvent encore exister : Dragonblood: Analysing WPA3’s Dragonfly Handshake

Conclusion

Tester la robustesse de votre réseau WiFi avec Hashcat est une méthode puissante pour assurer la sécurité de vos données. N’oubliez pas de toujours obtenir l’autorisation du propriétaire du réseau avant de procéder à de tels tests.

Hashcat ne se limite pas à la simple comparaison de mots de passe WPA. Il est capable de casser une variété de types de hachages, y compris ceux utilisés pour les mots de passe Windows (NTLM), les mots de passe Unix (SHA-512), et bien d’autres. Grâce à sa flexibilité et à sa puissance, Hashcat est un outil essentiel pour les tests de pénétration et les audits de sécurité.

Bibliographie:

A quoi servent les PMF ‘Protected Management Frames’ ?

A quoi servent les PMF ‘Protected Management Frames’ ?

Wi-Fi Protected Access — Wikipédia

Pwnagotchi – Deep Reinforcement Learning instrumenting bettercap for WiFi pwning.

GitHub – jayofelony/pwnagotchi: (⌐■_■) – Raspberry Pi instrumenting Bettercap for Wi-Fi pwning.

racking_wpawpa2

Attaque par déni de service dans le Wi-Fi | Connect – Editions Diamond

GitHub – vanhoefm/modwifi