J4ck3LSyN-Gen2/CVE-2026-13768
GitHub: J4ck3LSyN-Gen2/CVE-2026-13768
CVE-2026-13768 概念验证工具,演示 Azure IoT Hub 所有者密钥泄露如何导致 Gardyn IoT 设备群的远程代码执行。
Stars: 0 | Forks: 0
# CVE-2026-13768 - Gardyn IoT Hub 所有者密钥泄露
## 概述
CVE-2026-13768 在 Gardyn 智能花园系统中暴露了 IoT Hub 所有者级别的连接字符串,允许对 Azure IoT Hub 进行完全的管理控制。此 PoC 演示了拥有所有者密钥的攻击者如何通过 `upgrade()` 云到设备方法中的命令注入,在连接的设备上实现 **远程代码执行 (RCE)**,从而导致全设备群的沦陷。
该套件包括:
- 一个 **被动验证** 工具 (`validate.py`)
- 一个 **武器化漏洞利用** 框架 (`poc.py`)
- 一个用于演示的轻量级 **C2 服务器** (`c2s.py`)
**这是一个持续更新的研究项目** - 请负责任地使用它,以了解和防御供应链及 IoT 云配置错误。
## 功能
- **被动验证**:安全地验证所有者密钥的有效性并枚举设备,不会进行任何更改
- **设备群枚举**:列出注册到 IoT Hub 的所有设备
- **远程代码执行**:通过 `upgrade()` 方法注入命令(利用 CVE-2025-29631 命令注入漏洞)
- **横向移动**:从受感染设备进行局域网扫描的示例
- **权限维持**:维持访问权限的示例技术
- **OPSEC 功能**:Payload 混淆、操作日志记录、可选的 TLS 绕过(用于实验室环境)
- **C2 集成**:用于交互式会话的简单命令控制服务器
## 目录结构
```
.
├── poc.py # Main weaponized exploitation script
├── validate.py # Safe, read-only validation tool
├── c2s.py # Lightweight C2 server for demos
├── README.md
```
## 依赖
- Python 3.8+
- Azure IoT Hub SDK
## 安装说明
1. 克隆仓库:
git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-13768.git
cd CVE-2026-13768
python3 -m venv venv
2. 激活虚拟环境(或创建一个):
source venv/bin/activate
python3 -m pip install --upgrade pip
3. 安装依赖。
```
python3 -m pip install azure-iot-hub
```
## 用法
### 1. 被动验证(强烈推荐)
```
python validate.py --conn-str "HostName=yourhub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=..."
```
**退出代码 0** = 有效的所有者密钥且具有可访问的设备。不会进行任何修改。
### 2. 完整漏洞利用(仅限授权目标)
```
python poc.py \
--mode exploit \
--conn-str "HostName=..." \
--device-id "target-device-123" \
--command "whoami" \
--lateral-scan \
--persist
```
#### 关键参数
| 参数 | 描述 | 必填 |
|-------------------|--------------------------------------------------|----------|
| `--mode` | `validate` 或 `exploit` | 否 (默认: validate) |
| `--conn-str` | IoT Hub 所有者连接字符串 | 是 |
| `--device-id` | 目标设备 ID | 是 (exploit 模式) |
| `--command` | 通过 `upgrade()` 注入执行的命令 | 否 (默认: `id`) |
| `--lateral-scan` | 从设备启用局域网侦察 | 否 |
| `--persist` | 尝试权限维持 (例如:cron, systemd) | 否 |
| `--c2` | 连回 C2 服务器 | 否 |
运行 `python poc.py --help` 获取完整选项。
### 3. C2 服务器 (演示)
```
python c2s.py --port 4444
```
## 工作原理 (技术摘要)
1. **密钥验证** → 使用 Azure IoT Hub SDK 以 `iothubowner` 身份进行身份验证
2. **枚举** → 检索设备注册表和 twin 数据
3. **RCE 原语** → 滥用 `upgrade()` 直接方法中的命令注入
4. **后渗透** → 可选的横向移动 + 权限维持 payload
5. **混淆** → 基本的字符串编码(易于扩展至 AES/自定义方式)
## OPSEC 与安全注意事项
- **日志记录**:默认写入 `/tmp/cve_2026_13768.log`。在实际测试中应替换为加密数据外发。
- **混淆**:扩展提供的 `obfuscate_cmd()` / `deobfuscate_cmd()` 函数。
- **测试**:**务必**首先在隔离的实验室环境中进行测试。
- **清理**:制定回滚计划。该漏洞利用可能会在设备上留下痕迹。
## 参考
- [CISA 公告 ICSA-26-183-03](https://www.cisa.gov/news-events/ics-advisories/icsa-26-183-03)
- [相关的 CVE-2025-29631](https://www.cisa.gov/news-events/ics-advisories/icsa-26-055-03)
- Azure IoT Hub 文档
标签:Azure IoT, IoT安全, PoC, 命令与控制, 无线安全, 暴力破解, 编程工具, 网络信息收集, 远程代码执行, 逆向工具