Capturer le trafic WLAN

La capture de paquets Wi-Fi vous permet de voir les détails et les interactions qui sont autrement masqués avant d'atteindre le logiciel exécuté sur un appareil, ce qui en fait un outil important pour certains types de bugs.

Voici les principales étapes à suivre:

  1. Trouvez le bon canal à renifler.
  2. Capturez le trafic.
  3. Partagez la capture et le hachage de votre mot de passe WLAN.

1. Déterminer le canal et la largeur appropriés

Les réseaux WLAN fonctionnent sur:

  • canal, généralement désigné par un nombre. 1-13 pour les canaux 2,4 GHz et 36-200 pour les canaux 5 GHz
  • d'une largeur spécifique (20 MHz, 40 MHz, 80 MHz, 160 MHz)

Chaque point d'accès (routeur ou nœud maillé) de votre réseau possède généralement un canal unique de 2,4 GHz et un canal de 5 GHz, et vous devez identifier celui auquel l'appareil est connecté. Plusieurs possibilités s'offrent à vous :

Utiliser le panneau de configuration du routeur

Si vous utilisez Nest WiFi, ignorez cette option. Les informations ne seront pas divulguées.

La plupart des routeurs disposent d'une liste d'appareils connectés, ainsi que du canal et de la largeur qu'ils utilisent.

  1. Trouvez l'adresse IP de votre routeur à l'aide de ce guide.
  2. Accédez à l'adresse de votre routeur dans votre navigateur Web, par exemple http://192.168.1.1.
  3. Connectez-vous. Vous ne connaissez pas votre mot de passe ? Recherchez un tag sur votre routeur ou utilisez les mots de passe de routeur.
  4. Recherchez une page intitulée "clients" ou "appareils connectés". Par exemple, une page de routeur Netgear peut ressembler à ce qui suit, ou pour les appareils Eero.

    Vue du client Netgear

  5. Vous devrez peut-être chercher ailleurs dans les paramètres pour mapper les informations de l'étape 4 avec un canal et une bande passante spécifiques. Par exemple, un routeur Netgear:

    Vue des canaux Netgear

Utilisez votre Mac, s'il est déjà connecté au même canal.

Maintenez la touche Option de votre clavier enfoncée, puis cliquez sur l'icône WLAN en haut à droite de la barre d'état de votre Mac. Vous devriez voir le menu WLAN standard avec quelques options et informations supplémentaires. Regardez les éléments de menu indisponibles et recherchez celui qui mentionne "Chaîne" :

`Channel 60 (DFS, 5GHz, 40MHz)`

WLAN Mac

Chaîne et largeur introuvables

Si les autres méthodes ne fonctionnent pas, vous pouvez essayer:

  1. Répertoriez tous les canaux utilisés par vos points d'accès (généralement deux pour chaque point d'accès ou point d'accès maillé).

    a. Recommandé Avec un téléphone Android, vous pouvez utiliser une application telle que Wifiman ou Aruba Utilities.

    a. Sur un Mac, vous pouvez utiliser /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s pour répertorier les options.

  2. Effectuez une courte capture (même 15 secondes suffit) sur chacun de ces canaux, en suivant les instructions ci-dessous.

  3. Installez Wireshark (pour obtenir de l'aide, consultez Installer Wireshark).

  4. Ouvrez chacune des captures à l'aide de Wireshark, appliquez un filtre d'affichage wlan.addr == YOUR_DEVICE'S_MAC et vérifiez si des paquets s'affichent.

2. Démarrer la capture

Important: Capturer le 4-way handshake

Si la sécurité est activée pour le Wi-Fi, vous devez connaître les clés de chiffrement pour déchiffrer les paquets capturés. Les clés de chiffrement sont issues d'un handshake à quatre voies qui se produit lorsque l'appareil se connecte au réseau. Elles sont uniques à chaque connexion entre un appareil et le point d'accès.

Pour cette raison, vous DEVEZ capturer le 4-way handshake pour déchiffrer les charges utiles Wi-Fi. Si l'appareil est déjà connecté au réseau lorsque vous lancez la capture, déconnectez-le, puis reconnectez-le (ou redémarrez-le) une fois le reniflage commencé.

Capturer sur Mac

Tout en maintenant la touche Option du clavier enfoncée, cliquez sur l'icône WLAN, puis sélectionnez "Ouvrir les diagnostics sans fil":

Capture WLAN Mac

Dans la barre de menu "Wireless Diagnostics" (Diagnostic sans fil), sélectionnez Window > Sniffer (Fenêtre > Détecteur) :

Détecteur WLAN Mac

Définissez le canal et la largeur sur les valeurs que vous avez récupérées précédemment (exemple de capture d'écran pour les canaux 60 et largeur 40 MHz):

Canal et largeur WLAN Mac

Appuyez sur Start, puis saisissez votre mot de passe. Maintenant, essayez de reproduire le problème. Veillez à capturer le handshake à quatre voies à partir d'une connexion, comme indiqué dans la section Capturer le handshake à quatre voies.

Lorsque vous avez terminé, appuyez sur Stop. Vous trouverez un nouveau fichier *.pcap dans /var/tmp, qui contient tout le trafic. Voici un exemple de nom de fichier : (null)_ch100_2018-11-06_10.52.01.pcap.

Capturer sous Linux

  1. Désactivez le Wi-Fi. Pour cela:

    • Utiliser l'IUG (recommandé)
    • Utilisation de la CLI Network Manager pour lui indiquer d'arrêter de gérer l'interface WLAN: sudo nmcli dev set <wlan-ifname> managed on
    • Si vous utilisez un autre gestionnaire de réseau, ajustez-le en conséquence.
  2. Enregistrez ce script. Remplacez <wlan-ifname> par le nom de votre interface Wi-Fi. Dans ce document, nous partons du principe que le nom du script est setup-wifi-capture.

    #!/usr/bin/env bash
    sudo ifconfig <wlan-ifname>  down
    sudo rfkill unblock wifi
    sudo iwconfig <wlan-ifname>  mode monitor
    sudo ifconfig <wlan-ifname>  up
    sudo iw dev <wlan-ifname> set channel $@
    
  3. Exécutez le script précédent et transmettez le canal et la bande passante la plus élevée à renifler, par exemple le canal 153 avec une bande passante de 80 MHz:

    ./setup-wifi-capture chan 153 80 MHz
    
  4. Ouvrez Wireshark. Vous devriez maintenant être en mesure de capturer des paquets sur l'interface wlan.

3. Partager la capture

  1. Utilisez le générateur de clés brutes WPA pour générer un hachage de votre mot de passe. Cela vous permet de déchiffrer la capture sans connaître votre mot de passe en texte brut.

  2. Vous devez également partager la clé pré-partagée générée pour que d'autres utilisateurs puissent déchiffrer la capture.

Annexe

Installer Wireshark

Vous pouvez installer Wireshark à l'aide de la commande apt install Wireshark sous Linux ou le télécharger en ligne sur le site Web de Wireshark.

Configurer Wireshark pour déchiffrer le trafic

Cela n'est pas nécessaire pour partager vos fichiers de capture. Faites-le uniquement si vous souhaitez examiner vous-même le trafic déchiffré dans Wireshark.

Avec la sécurité WPA2 sur le Wi-Fi, le WPA2-PSK n'est pas utilisé directement pour le chiffrement et le déchiffrement du trafic. Il est utilisé dans le cadre d'un 4-way handshake, que vous devez capturer pour déchiffrer des paquets. Toutefois, si vous essayez uniquement de capturer des problèmes de connexion au Wi-Fi ou des pertes de connectivité, qui peuvent être glanées dans les trames de gestion Wi-Fi, vous n'avez pas besoin de capturer le handshake à quatre voies. Dans les deux cas, il ne faut pas le faire de toute façon.

Ouvrez Wireshark et ouvrez la page des préférences (Wireshark menu > Preferences (Menu Wireshark > Préférences) ou **Cmd + , **).

  1. Recherchez la section "IEEE 802.11" dans la catégorie "Protocoles" et vérifiez que la case "Activer le déchiffrement" est cochée:

    Préférences Mac Wireshark

  2. Cliquez sur le bouton Modifier à côté du libellé Clés de déchiffrement.

  3. Cliquez sur le bouton "+" en bas à gauche, puis sélectionnez l'option "wpa-pwd".

    WPA et mot de passe Mac Wireshark

  4. Cliquez sur la colonne de clé de la nouvelle ligne (juste à côté de la chaîne wpa-pwd), puis saisissez la clé WPA2 PSK et le SSID au format <password>:<ssid>. Par exemple, si le nom de votre réseau était MyHomeNetwork et que votre clé pré-partagée WPA2 était myp4ssword, saisissez myp4ssword:MyHomeNetwork.

    SSID Wireshark du Mac

  5. Cliquez sur OK pour confirmer.

Pour en savoir plus, consultez le guide officiel de Wireshark (avec captures d'écran) sur la page How to Decrypt 802.11.

Si vous utilisez tshark, transmettez les arguments suivants:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Colorize Wireshark 802.11 Data

Il existe un profil de couleur 802.11 pratique sur metageek.com : Wireshark Configuration Profile (Profil de configuration Wireshark).