
Azure IoT Hub où l'exposition d'une clé d'accès partagée de niveau propriétaire permet une exécution de code à distance (RCE) non authentifiée contre les appareils IoT connectés. Proof-Of-Concept
[!WARNING] Ce dépôt contient une preuve de concept entièrement fonctionnelle pour une vulnérabilité IoT de haute sévérité.
Ce code est fourni strictement à des fins éducatives, de recherche de sécurité autorisée et de tests défensifs.Toute utilisation non autorisée est illégale. Tester ou exploiter des systèmes sans autorisation écrite explicite du propriétaire viole le Computer Fraud and Abuse Act (CFAA), l'EU Cyber Resilience Act et d'autres lois applicables dans votre juridiction.
Les auteurs déclinent toute responsabilité en cas d'utilisation abusive, de dommages ou de conséquences juridiques résultant de ce code.
Agissez toujours dans les limites légales et éthiques.
CVE-2026-13768 expose la chaîne de connexion du niveau propriétaire du hub IoT dans le système de jardin intelligent Gardyn, permettant un contrôle administratif complet sur le hub Azure IoT. Cette PoC montre comment un attaquant disposant de la clé propriétaire peut réaliser une exécution de code à distance (RCE) sur les appareils connectés via une injection de commande dans la méthode upgrade() du cloud vers l'appareil, permettant une compromission de toute la flotte.
La suite inclut :
Ceci est un projet de recherche vivant - utilisez-le de manière responsable pour comprendre et vous défendre contre les mauvaises configurations du cloud IoT et de la chaîne d'approvisionnement.
upgrade() (en exploitant l'injection de commande CVE-2025-29631).
├── poc.py # Script d'exploitation armé principal
├── validate.py # Outil de validation sécurisé en lecture seule
├── c2s.py # Serveur C2 léger pour démos
├── TEMPLATES.md # Modèles de commandes prêts à l'emploi.
├── README.md
Clonez le dépôt :
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-13768.git
cd CVE-2026-13768
python3 -m venv venv
Activez l'environnement virtuel (ou créez-en un) :
source venv/bin/activate
python3 -m pip install --upgrade pip
Installez les dépendances.
python3 -m pip install azure-iot-hub
python validate.py --conn-str "HostName=yourhub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=..."
Code de sortie 0 = Clé propriétaire valide avec appareils accessibles. Aucune modification n'est effectuée.
python poc.py \
--mode exploit \
--conn-str "HostName=..." \
--device-id "target-device-123" \
--command "whoami" \
--lateral-scan \
--persist
Exécutez python poc.py --help pour toutes les options.
python c2s.py --port 4444
iothubownerupgrade()Remarque : Le code de mouvement latéral et de persistance sont des placeholders illustratifs. Adaptez-les à l'OS et aux contraintes de l'appareil cible (ex. environnements limités par BusyBox).
/tmp/cve_2026_13768.log par défaut. Remplacez par une exfiltration chiffrée lors d'engagements réels.obfuscate_cmd() / deobfuscate_cmd() fournies.Les contributions sont les bienvenues pour :
Veuillez ouvrir des issues ou des PRs.
Un grand pouvoir implique de grandes responsabilités.
| Argument | Description | Requis |
|---|
--mode | validate ou exploit | Non (défaut : validate) |
--conn-str | Chaîne de connexion propriétaire du hub IoT | Oui |
--device-id | Identifiant de l'appareil cible | Oui (mode exploit) |
--command | Commande à exécuter via l'injection upgrade() | Non (défaut : id) |
--lateral-scan | Activer la reconnaissance LAN depuis l'appareil | Non |
--persist | Tenter la persistance (ex. cron, systemd) | Non |
--c2 | Reconnexion au serveur C2 | Non |