Sniffer réseau Zigbee I (expert)
Le présent tutoriel vise à décrire comment mettre en place un dispositif à très bas coût permettant d’espionner le réseau Zigbee. Utile quand on veut comprendre pourquoi des équipements n’arrivent pas à se connecter par exemple ou connaître ce qu’un équipement transmet quand dans Jeedom on ne retrouve pas les données attendues.
Il est réservé à un niveau d’expertise assez élevé non pas pour sa mise en place mais pour l’analyse des résultats qu’il fournit.
Il se base sur des logiciels libres (Wireshark et Ti Packet Sniffer) et sur un peu de matériel Texas Instrument que l’on peut se procurer pour quelques Euros (clef USB Ti CC2531, flash programmer avec câbles)
Le principe est assez simple à comprendre et guère plus compliqué à mettre en œuvre :
- On écoute en les copiant sans être intrusif les trames sur le réseau Zigbee
- On récupère ces trames pour les transmettre sur le bus USB du PC Win10
- On décrypte et analyse ces dernières pour les afficher sur le PC Win10.
Installation et configuration du dongle TI CC2531
-
Acheter sur le site de vente en ligne qui va bien un dongle CC2531. Pour ma part voici où je l’ai acheté (ARCELI Module d’évaluation USB CC2531, Compatible CC2531EMK, Clé USB Zigbee, EZSync104
-
Télécharger et installer le logiciel Ti Wireshark Packet Converter 1
Les étapes suivantes sont optionnelles si le dongle préconisé est celui mis en œuvre car il est déjà programmé avec le bon firmware
-
Acheter sur le site de vente en ligne qui va bien un flasher de puce TI CC debugger avec son câble adaptateur pour le connecter sur le dongle CC2531
-
Télécharger et Installer le logiciel Ti Packet Sniffer (il faudra vous enregistrer sur le site de TI pour pouvoir télécharger le logiciel). C’est en effet dans ce paquet que se trouve le firmware dont on aura besoin plus loin pour claquer sur la clef TI CC2531. Le firmware est ici :
C:\Program Files (x86)\Texas Instruments\SmartRF Tools\Packet Sniffer\bin\general\firmware\ sniffer_fw_cc2531.hex
-
Installer le logiciel SmartRF Flash programmer (pas la V2). Ce logiciel est libre mais il faudra vous enregistrer sur le site de TI pour le télécharger)
-
Installer le driver pour le CC debugger sur le PC Win10
-
Connecter le CC debugger au CC2531 au travers de la carte d’adaptation et des deux câbles
-
Connecter le CC2531 USB sniffer et le CC debugger chacun sur une prise USB du PC Win10.
-
Si la LED du CC debugger est rouge appuyer une fois sur le bouton reset du CC debugger. La LED devrait maintenant passer au vert.
-
Lancer le logiciel SmartRF Flash Programmer, configurer les options comme illustré ci-dessous (sélectionner le firmware qui a été téléchargé à l’étape 4) et appuyer sur Perform actions.
-
Quand tout est programmé OK débrancher l’ensemble.
Fin des étapes optionnelles
-
Brancher sur le PC le dongle CC2531 et lancer le logiciel TiWsPc (Ti Wireshark Packet Converter) et sélectionner le dongle CC2531
-
Puis sélectionner le canal Zigbee à espionner et enfin cliquer sur Start
-
Les fenêtres doivent maintenant afficher ceci (l’espionnage et récupération des trames ZigBee a commencé mais on ne sait toujours pas les afficher ni les décrypter) :
-
Télécharger et installer le logiciel Ti Packet Sniffer 2. Nous allons récupérer dans ce logiciel uniquement les plug-ins nécessaires à Wireshark pour se « piper » (connecter) avec le logiciel de capture des trames qui tourne désormais.
-
Récupérer les deux plug ins ti802154ge-x64-2x.dll et tirpi-x64-2x.dll depuis le dossier d’installation de Ti Packet Sniffer 2 :
C:\Program Files (x86)\Texas Instruments\SmartRF Tools\SmartRF Packet Sniffer 2\wireshark\plugins\3.0.x
-
Puis les copier ici :
C:\Program Files\Wireshark\plugins\3.4
-
Créer un raccourci de l’application Wireshark et ajouter ces options de lancement dans la case « Cible »
-i\\.\pipe\tiwspc_data -k
-
Lancer le logiciel Wireshark au travers de ce raccourcis.
-
Ajouter la Trust Center Link Key (TCL Key) , clef qui va permettre à Wireshark de reconnaître correctement les trames Zigbee qu’il reçoit
Pour cela aller dans le menu
Editer/Préférences/Protocols/Zigbee
Puis cliquer sur Edit…
-
Ajouter la Trust Center Link Key (TCL Key) par défaut clef qui va permettre à Wireshark de reconnaître correctement les trames Zigbee qu’il reçoit
5A 69 67 42 65 65 41 6C 6C 69 61 6E 63 65 30 39
-
Une fois ceci fait relancer la capture. La fenêtre de Wireshark doit se peupler de tout ce que la CC2531 capture sur le réseau Zigbee.
-
La clef Network Encryption Key (Transport key) qui est unique à chaque réseau Zigbee est fournie par la Gateway du réseau (le coordinateur). Sans cette clef les data des paquets espionnés resteront cryptés.
Trois manières pour la récupérer
a) Par défaut si vous n’avez pas changé la clef du réseau celle-ci est :
01:03:05:07:09:0B:0D:0F:00:02:04:06:08:0A:0C:0D
b) Cette clef est aussi transmise quand un équipement demande un appairage ou un ré appairage sur le réseau (je ne vous montre pas ici les vraies captures de mon réseau bien évidemment)
- Ouvrir le message pour lequel l’information est Device Annoucement et expanser la partie du message Zigbee Network Layer Data → Zigbee Security
- Copier la valeur et l’ajouter à Wireshark de la même manière que la clef TCL plus haut.
c) En copiant la clef depuis la configuration du coordinateur, par exemple ici pour une ConBee2 menu Network
Désormais Wireshark est capable de déchiffrer les messages de données (essayer avec un allumage de lampe par exemple):
Sniffer réseau Zigbee II (expert)
Cette partie du tutoriel vise à décrire une seconde méthode à très bas coût permettant d’espionner le réseau Zigbee.
Il est réservé à un niveau d’expertise élevé non pas pour sa mise en place mais pour l’analyse des résultats qu’il fournit.
Il se base sur des logiciels libres (Ti Smart RF Packet Sniffer) et sur un peu de matériel Texas Instrument que l’on peut se procurer pour quelques Euros (clef USB Ti CC2531)
Le principe est assez simple à comprendre et guère plus compliqué à mettre en œuvre :
-
On écoute en les copiant sans être intrusif les trames sur le réseau Zigbee
-
On récupère ces trames pour les transmettre sur le bus USB du PC Win10
-
On analyse ces dernières pour les afficher sur le PC Win10.
Installation et configuration du dongle TI CC2531
-
Acheter sur le site de vente en ligne qui va bien un dongle CC2531. Pour ma part voici où je l’ai acheté ([ARCELI Module d’évaluation USB CC2531, Compatible CC2531EMK, Clé USB Zigbee, EZSync104](https://www.amazon.fr/gp/product/B07MBZMJB4/ref=ppx_yo_dt_b_asin_title_o00_s00?i
-
Télécharger et installer le logiciel Texas Instruments SmartRF Packet Sniffer RF4CE 1.0
-
Brancher le dongle TiCC2531 sur le PC et lancer le logiciel SmartRF Packet Sniffer RF4CE 1.0
-
Démarrer la capture et mettre l’auto scrolling en marche (optionnel)
Cette méthode plus simple à mettre en place que la précédente a comme inconvénient majeur que les clefs de cryptage ne sont pas accessibles et donc les data des paquets restent … cryptés.
L’analyse humaine en est donc quasi impossible.
Par contre le logiciel a un gros avantage, c’est celui de présenter sur une timeline les échanges de tous les équipements sur le réseau. On peut donc assez rapidement accéder à ce que chaque équipement émet mais sans pouvoir en décrypter le contenu.
Sniffer réseau Zigbee III (moyen)
Le présent tutoriel vise à décrire comment mettre en place un dispositif complet mais cher permettant d’espionner le réseau Zigbee.
Il est réservé à un niveau d’expertise standard mais fortuné.
Il se base sur le logiciel payant de Ubilogix et sur un peu de matériel Texas Instrument que l’on peut se procurer pour quelques Euros (clef USB Ti CC2531)
Le principe est assez simple à comprendre puisque :
-
On écoute en les copiant sans être intrusif les trames sur le réseau Zigbee
-
On récupère ces trames pour les transmettre sur le bus USB du PC Win10
-
On analyse ces dernières pour les afficher sur le PC Win10.
- Acheter sur le site de vente en ligne qui va bien un dongle CC2531. Pour ma part voici où je l’ai acheté (ARCELI Module d’évaluation USB CC2531, Compatible CC2531EMK, Clé USB Zigbee, EZSync104
- Télécharger et installer le logiciel UBIQUA (il existe une licence gratuite valable 7 jours limitée à 1000 paquets capturés et une licence payante mensuellement illimitée en capture)
- Brancher le dongle TiCC2531 sur le PC et lancer le logiciel
- Le reste est ici Ubiqua Protocol Analyzer | Ubilogix
Ouf voilà c’est la fin pour celles et ceux qui ne se seront pas endormis entre temps
.