Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Découverte du bouton intelligent Zigbee LZ4 NOUS TUYA

NOUS Smart Wirless Button LZ4 2048x1032 PRESSouvent nous cherchons des équipements de contrôle simple et facile à installer dans nos domiciles. Le bouton intelligent Zigbee 3.0 LZ4 NOUS TUYA vous permet de contrôler vos équipements simplement et d’utiliser trois types de commandes suivant vos scénarii. Présentation du bouton intelligent Zigbee 3.0 LZ4 NOUS TUYA Le bouton intelligent NOUS vous offre la […]

Découverte du capteur de sol pour plantes Zigbee Rehent

Rehent capteur de sol plante temperature humidite 2048x1032 PRESAvec les beaux jours qui arrivent il est temps d’égayer nos balcons et jardins avec de nouvelles plantes, mais difficile de savoir quand les rafraichir ou les arroser. Avec le capteur de sol Rehent, vous pouvez contrôler la température et l’humidité de votre sol en temps réel et n’importe où dans le monde. Présentation du […]

Découverte du détecteur de mouvements Zigbee 3.0 NEO TUYA

Neo detecteur mouvement NAS PD07B2 2048x1032 PRESLe fabricant NEO propose un détecteur de mouvement Zigbee alimenté par 2 batteries CR123 ou par USB. Vous avez ainsi le choix du mode d’alimentation, et le détecteur vous alertera lors d’une détection de mouvement. Présentation du détecteur de mouvements Zigbee NAS-PD07B2 NEO Le détecteur de mouvement TUYA NEO Zigbee 3.0 alerte immédiatement lorsqu’un mouvement […]

Découverte du détecteur multisensor 4 en 1 Zigbee 3.0 IMMAX

Immax detecteur multisensor 4en1 07502L 2048x1032 PRESVous êtes à la recherche d’un détecteur de mouvement Zigbee 3.0 facile à installer et avec des fonctions supplémentaires ? Le détecteur multisensor 4 en 1 Zigbee 3.0 TUYA IMMAX est fait pour vous. Il vous permettra de détecter des mouvements dans une zone de votre logement et créez des automatismes simplement et rapidement. Présentation […]

Découverte de la motorisation de vanne intelligente Zigbee 3.0 NOUS

NOUS Vanne LZ3 2048x1032 PRESQue ce soit pour la gestion de l’arrosage du jardin ou pour couper l’arrivée d’eau en cas de détection d’inondation, une motorisation de vanne intelligente est très pratique. Découvrons le modèle Zigbee que propose NOUS. Présentation de la motorisation de vanne intelligente Zigbee 3.0 NOUS La motorisation de vanne intelligente NOUS LZ3 permet d’automatiser une […]

Découverte de la sirène intelligente extérieure IMMAX Zigbee 3.0 TUYA IP65

SIRENE IMMAX 1024x516 PRESL’utilisation d’une sirène extérieure permet d’augmenter la protection de votre logement en émettant une alarme sonore et visuelle à l’extérieur en cas d’intrusion. Découvrons la sirène intelligente extérieure Zigbee 3.0 de IMMAX compatible Tuya. Présentation de la sirène intelligente IMMAX La sirène intelligente IMMAX protégera votre propriété en dissuadant les individus malintentionnés en émettant une […]

Découverte du détecteur de mouvement NOUS E2 Zigbee 3.0 TUYA

NOUS PIR Motion Sensor E2 2048x1032 PRESUn détecteur de mouvement est très utilise dans un système domotique. Il peut en effet être utilisé soit pour sécurisé la maison, soit pour automatiser l’éclairage des lumières. Découvrons le détecteur de mouvement Zigbee NOUS E2 et son utilisation. Présentation du détecteur de mouvement NOUS E2 Le détecteur de mouvement NOUS E2 vous permet de […]

Découverte du détecteur de présence Zigbee MOES TUYA à technologie radar

Detecteur presence MOES 2048x1032 PRESContrairement à un détecteur de mouvement qui détecte uniquement un mouvement, un détecteur de présence détecte la présence d’une personne. Utilisant la technologie radar, ce type de détecteur peut détecter la présence d’une personne même si elle est endormie ou immobile. Découvrons le détecteur de présence Zigbee de Moes. Présentation du détecteur de présence Zigbee […]

Hack -Détournement de la passerelle Lidl silvercrest

Alors au départ, je voulais faire un article de tests sur les nouveaux produits Lidl dans la gamme domotique. Cependant, il en existe tellement et n’ayant pas la réactivité nécessaire, j’ai changé mon fusil d’épaule.

D’autant plus que tous les produits Lidl smart home silvercrest sont compatibles ZiGate ou avec les autres passerelles universelles.

Du coup, je suis plutôt parti sur un détournement de la passerelle.

Transformer la passerelle Lidl en ZiGate Ethernet !

L’objectif est bien entendu de faire POC (Proof Of Concept), de s’amuser mais en même temps de répondre à un besoin personnel.

 

Démontage et analyse

La première chose, quand on veut faire un détournement d’un objet, c’est de faire une analyse (ou reverse engineering) et pour cela, pas le choix, il faut démonter l’appareil pour observer ce qu’il contient.

Donc la première étape c’est de démonter la passerelle.

Le démontage n’est pas aisé, pas de vis mais des clips. Il faut alors « déclipper » le boitier mais très compliqué sans abimer (il y a un peu de colle je pense). Les non soigneux, s’abstenir 😉

Demontage_boitier_lidl

Une fois le capot enlevé, on va pouvoir analyser rapidement ce qu’il y a.

Demontage_lidl__zigbee_face

Commençons par la partie face :

En bleu : C’est le module Zigbee de chez tuya. le TYZS4 à base de Cortex-M4 EFR32MG1B232. Il permet de communiquer avec les objets en Zigbee.

En rouge : C’est le cerveau de la passerelle. Le Realtek RTL8196E. C’est lui qui va piloter le module Zigbee (par des commandes sur l’UART) et permettre la gestion complète de la passerelle.

En rose : C’est la mémoire RAM utilisée par le CPU. 32Mo de SDRAM. EM6AA160

En orange : C’est la mémoire flash utilisé par le CPU. 16Mo. GD25Q127

En bleu clair : C’est l’interface permettant de gérer l’Ethernet. H16107DF

En vert : C’est le connecteur permettant d’accéder à la console de la passerelle et de mettre à jour le module ZigBee.

Pour l’autre côté de la carte, c’est beaucoup moins intéressant… quoi que les inscriptions sont d’une aide précieuse :

demontage_pile_zigbee_lidl

En rouge : Ce sont les LEDs permettant d’avoir le statut de l’Ethernet et du ZigBee. A gauche le statut de l’Ethernet et à droite le statut du Zigbee.

On peut aussi observer sur cette partie, qu’il existe des inscriptions et on pourra remarquer les RX TX 3V3 et GND qui sont les points importants pour débuter le détournement.

Bon, du coup, en observant ce qui compose cette passerelle, on peut rapidement comprendre que nous avons à faire à un système embarqué probablement sous linux qui pilote un « modem » ZigBee.

Afin de prendre la main sur cette passerelle, il convient donc de trouver une porte d’entrée. Bien entendu, vous l’aurez compris, la console caractérisée par le RX/TX sera ce point d’entrée.

Avant de sortir l’artillerie lourde, il faut avoir le reflexe de chercher s’il n’existe pas déjà quelqu’un qui a fait le travail. Du coup, je me suis mis à chercher les travaux déjà existant sur la passerelle et je suis tombé sur l’article permettant de prendre la main sur cette passerelle.

Root de la passerelle

Un gros merci pour « PaulBanks » qui m’a fait économiser énormément de temps. En suivant scrupuleusement ces travaux, il a été très facile de prendre le contrôle de ma passerelle Lidl.

Du coup, je vous laisse aller lire l’ensemble de son œuvre et je vais résumer ce que j’ai fait afin de me permettre de casser le mot de passe root.

Tout d’abord, il faut s’occuper du connecteur pour aller chercher la console avec un convertisseur USB-TTL.

Console_lidl_gateway_zigbee

Orange = RX
Rouge = TX
Marron = GND

De l’autre côté un convertisseur USB-TTL. (n’oubliez pas de croiser RX / TX)

Lidl_Convertisseur_USB-ttl

Ensuite, une fois connecté, il suffit d’ouvrir un hyperterminal (dans mon cas putty) sur le bon port (38400baud 8N1) et de démarrer la carte.

Console_demarrage_lidl

Pour pouvoir « rooter », il faut rentrer sur la busy-box (le bootloader) et pour cela il faut rapidement appuyer sur la touche « echap ». Donc on met hors tension puis sous tension et « echap ».

lidl_busy_box

La prochaine étape consiste à lire des emplacements mémoires pour récupérer le mot de passe et la clef de chiffrement correspondante.

Vous aurez plus d’informations en suivant ce tutoriel.

Voici les premières commandes

FLR 80000000 401802 16
DW 80000000 4

Vous devriez récupérer les informations suivantes :

Clé de chiffrement (bien entendu avec des blocs différents):

80000000: XXXXXXXX YYYYYYYY ZZZZZZZZ AAAAAAAA

Puis :

 FLR 80000000 402002 32
 DW 80000000 8

Le mot de passe (sur 2 lignes)

80000000: BBBBBBBB CCCCCCCC DDDDDDDD EEEEEEEE
80000010: FFFFFFFF GGGGGGGG HHHHHHHH LLLLLLLL

Sauvegardez les 3 lignes puis récupérer le script python et suivez les instructions.

Vous devriez récupérer le mot de passe root en clair : Root password: b’XXXXXXXX

Une fois le mot de passe root décoder, vous avez accès à l’ensemble de la passerelle sur laquelle vous pourrez faire à peu près tout ce que vous voulez.

Une ZiGate Lidl ?

Bon, c’est une bonne chose de faite, nous pouvons désormais utiliser la passerelle Lidl.

La prochaine étape consiste à analyser et repérer comment fonctionne le module Tuya ZigBee pour le remplacer par une ZiGate

Analyse du module Tuya TYZS4

L’objectif ici est de repérer à quoi correspondent les différents PINs mais surtout l’interface UART. (En effet, pour piloter une ZiGate, on utilise une interface UART)

Pour cela, je suis allé sur le site Tuya pour récupérer la datasheet du module.

tuya_TYZS4

Une fois repéré, il faut maintenant dessouder le module.

2 solutions s’offrent à nous. En effet, ce module à deux lignes de PINs de part et d’autres donc c’est assez simple :

  • soit on utilise un pistolet à air chaud.
  • soit on charge en étain une ligne en faisant légèrement levier et ensuite on charge la 2ème ligne et le module se décolle.

Personnellement, j’ai pris la deuxième méthode mais elle est plus risquée pour les non avertis.

Ensuite on nettoie tout avec une tresse et un peu de flux et on obtient cela :

lidl_passerelle_demontage_tuya

Premiers tests avec un module ZiGate

Une fois l’analyse faite, il suffit de brancher une ZiGate sur les bons PINs et de procéder à quelques tests pour s’assurer que tout fonctionne comme il le faut.

Avant de faire l’installation finale, il convient de souder quelques straps :

lidl_zigate_strap_tests

Ensuite on se connecte sur 2 consoles de la passerelle (à l’aide de SSH).

Sur l’une on tape les commandes suivantes (réception de port série) :

$stty -F /dev/ttyS1 speed 115200 cs8
$ cat /dev/ttyS1

Sur l’autre console :

$ echo -ne '\x01\x02\x10\x10\x02\x10\x02\x10\x10\x03' > /dev/ttyS1

Une fois la commande lancée, vous devriez avoir sur la première console une réponse. Alors malheureusement, vous verrez des caractères spéciaux car c’est de l’hexadécimal et qu’il n’y a pas d’outil du type hexdump sur la passerelle.

Mais ça suffit pour valider que cela communique bien.

La passerelle Ethernet / Série

Pour que la passerelle Lidl se transforme en passerelle ZiGate, il faut procéder de la même façon que la ZiGate-WiFi. En effet, il faut que les requêtes TCP/IP soit transmises au port série et inversément. Pour cela, il faut utiliser les outils Ser2Net ou Socat mais dans notre cas, il faut développer soi-même le programme.

En soi, ce n’est pas très complexe et en plus, ça a déjà été développé.

Grâce a paulbanks et Ordspilleren, tout a déjà été fait, il n’y a plus qu’à suivre le tutoriel suivant et télécharger les sources.

Contrairement au tutoriel, j’ai utilisé la fonction tftp pour transférer le fichier serialgateway.

lidl_hack_tftpserver

On choisit, le répertoire où se trouve le fichier à transférer puis on sélectionne la bonne interface réseau.

Enfin sur la console de la passerelle on tape la commande suivante :

$ cd /tuya
$ tftp -gr serialgateway <ip de votre machine>
$ chmod +x serialgateway

Ensuite, il suffit de reprendre le tutoriel pour changer les scripts de démarrage pour l’adapter à la nouvelle passerelle. Attention, dans notre cas et pour coller à la ZiGate-WiFi, il faut changer le port par défaut : 9999

if [ ! -f /tuya/tuya_start.original.sh ]; then cp /tuya/tuya_start.sh /tuya/tuya_start.original.sh; fi

cat >/tuya/tuya_start.sh <<EOF
#!/bin/sh
/tuya/serialgateway -d/dev/ttyS1 -p9999 -f &
echo 1 > /proc/led1
EOF
chmod 755 /tuya/serialgateway
if [ ! -f /tuya/ssh_monitor.original.sh ]; then cp /tuya/ssh_monitor.sh /tuya/ssh_monitor.original.sh; fi
echo "#!/bin/sh" >/tuya/ssh_monitor.sh

Une fois effectué, vous pouvez redémarrer la passerelle et faire le même test que le tutoriel pour la ZiGate-WiFi …sauf qu’il faudra mettre la bonne adresse IP (celle de la passerelle Lidl)

Modification hardware

Pour que le hack soit complet, j’avais dans l’idée de rajouter une antenne externe pour augmenter les performances et de brancher la LED de statut ZigBee à la ZiGate.

Concernant l’antenne externe, pas de problème, il suffit de prendre une module ZiGate avec connecteur uFL.

Pour la LED de statut, j’ai un peu triché, j’ai dessoudé la résistance de pull-up de la LED de statut et j’ai connecté le GPIO17 de la ZiGate sur cette dernière. J’ai du rajouter dans le script de démarrage la ligne :

echo 1 > /proc/led1

Lidl_led_status

Repérage des LEDs statut Zigbee

lidl_zigate_gateway

Montage de la ZiGate sur la passerelle Lidl

Lidl_zigate_ethernet

Ajout de l’antenne externe et fermeture du boitier

Lidl_zigate_ethernet_on

Mise sous tension et réseau de la nouvelle ZiGate Ethernet

Une fois démarré, il suffit de paramétrer votre box domotique compatible comme une ZiGate-WiFi. il faut rentrer l’adresse IP et le port 9999.

Vous avez désormais une ZiGate Ethernet compatible Jeedom / Domoticz ou Home-assistant.

\o/

Conclusion

La catégorie détournement et hack font partis de mes articles préférés et je prend beaucoup de plaisir à vous partager mes découvertes.

Cependant, ce détournement me permet aussi d’utiliser une ZiGate sur Ethernet. (utile pour mes plateformes de tests)

Alors, je vous avez déjà proposé un tutoriel pour construire la même chose avec un RaspberryPi, mais dans ce cas précis, on a une passerelle plus aboutie et qui ne risque pas de planter à cause d’une carte SD. C’est du solide !

Enfin l’objectif de cet article n’est pas de reproduire en série mais bien de s’amuser « utile » et d’apprendre comment fonctionne ce genre de matériel.

J’espère que ces travaux vous auront plu et que vous avez avez pu apprendre 2-3 trucs.

A bientôt !

❌
❌