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. Ces captures constituent donc un outil important pour certains types de bugs.

Voici les principales étapes à suivre :

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

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

Les réseaux WLAN fonctionnent sur :

  • un canal, généralement désigné par un numéro. Les canaux 1 à 13 sont destinés aux canaux 2,4 GHz, et les canaux 36 à 200 aux canaux 5 GHz.
  • avec une largeur spécifique (20 MHz, 40 MHz, 80 MHz ou 160 MHz)

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

Utiliser le panneau de configuration de votre routeur

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

La plupart des routeurs disposent d'une liste des 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 une étiquette sur votre routeur ou utilisez Router Passwords.
  4. Recherchez une page intitulée "clients" ou "appareils connectés". Par exemple, la page d'un routeur Netgear peut ressembler à l'image ci-dessous, ou à celle des appareils Eero.

    Vue client Netgear

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

    Vue "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. Le menu WLAN standard devrait s'afficher avec quelques options et informations supplémentaires. Examinez les éléments de menu non disponibles et recherchez celui qui mentionne "Canal" :

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

WLAN Mac

Impossible de trouver le canal et la largeur

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

  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 de maillage).

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

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

  2. Effectuez une courte capture (15 secondes suffisent) 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 handshake à quatre voies

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 dérivées d'un handshake en quatre étapes qui se produit lorsque l'appareil se connecte au réseau. Elles sont uniques pour chaque connexion entre un appareil et le PA.

Pour cette raison, vous DEVEZ capturer le handshake à quatre voies pour déchiffrer les charges utiles Wi-Fi. Si l'appareil est déjà connecté au réseau lorsque vous démarrez la capture, déconnectez-le et reconnectez-le (ou redémarrez-le) une fois que l'analyse commence.

Enregistrer sur Mac

Tout en maintenant la touche Option de votre clavier enfoncée, cliquez sur l'icône WLAN, puis sélectionnez "Ouvrir Diagnostics sans fil…" :

Capture WLAN sur Mac

Dans la barre de menu de Wireless Diagnostics, sélectionnez Window > Sniffer (Fenêtre > Analyseur) :

Sniffer WLAN Mac

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

Canal et largeur du WLAN Mac

Appuyez sur Start et saisissez votre mot de passe. Essayez maintenant de reproduire le problème. Assurez-vous de capturer le handshake à quatre voies d'une connexion, comme indiqué dans Capturer le handshake à quatre voies.

Une fois que vous avez terminé, appuyez sur Stop. Un nouveau fichier *.pcap se trouve 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, vous pouvez :

    • Utiliser l'IUG (recommandé)
    • Utilisez 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 la commande 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 à analyser, 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 pouvoir capturer des paquets sur l'interface wlan.

3. Partager la capture

  1. Utilisez le générateur WPA PSK (Raw Key) 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 personnes 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

Cette étape n'est pas nécessaire pour partager vos fichiers de capture. Ne l'effectuez que si vous souhaitez examiner vous-même le trafic déchiffré dans Wireshark.

Avec la sécurité WPA2 sur le Wi-Fi, la clé WPA2-PSK n'est pas utilisée directement pour le chiffrement et le déchiffrement du trafic. Elle est utilisée dans un handshake à quatre voies, que vous devez capturer pour déchiffrer les paquets. Toutefois, si vous essayez uniquement de capturer des problèmes de connexion au Wi-Fi ou des pertes de connectivité, qui peuvent être déduits des trames de gestion Wi-Fi, vous n'avez pas besoin de capturer l'établissement de liaison en quatre étapes. Dans les deux cas, il est toujours utile de l'enregistrer.

Ouvrez Wireshark, puis accédez à la page "Preferences" (Wireshark menu > Preferences ou **Cmd + , **).

  1. Recherchez la section "IEEE 802.11" dans la catégorie "Protocols" (Protocoles) et assurez-vous que l'option "Enable decryption" (Activer le déchiffrement) est cochée :

    Préférences Wireshark sur Mac

  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".

    Mac Wireshark WPA and Password

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

    SSID Wi-Fi 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 (Comment déchiffrer la norme 802.11).

Si vous utilisez tshark, transmettez les arguments suivants :

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

Colorer les données Wireshark 802.11

Un profil de couleur 802.11 pratique est disponible sur metageek.com : Profil de configuration Wireshark.