Hotdry.

Article

智能门铃UPnP暴露面:从RPC端口暴露到TTL递减探测防御

分析IoT设备因UPnP/NAT-PMP配置不当导致的RPC端口暴露风险,提供基于TTL递减的主动探测防御策略与可落地的网络隔离参数。

2026-05-19security

问题背景:$12 门铃背后的全网暴露风险

近期安全研究员 ABGEO 对 Temu 平台售价仅 $12 的 "Smart Doorbell X3" 进行了深度安全分析,发现该设备存在一系列严重漏洞:攻击者仅凭设备 ID 即可静默窃取任意门铃、冒充设备进行实时通话、甚至通过 UART 调试端口获取家庭 WiFi 密码。这些漏洞的根源不仅在于固件层面的硬编码凭证和可预测标识符,更在于 IoT 设备普遍依赖的 UPnP/NAT-PMP 自动端口映射机制所带来的网络暴露面。

UPnP(Universal Plug and Play)协议本意是简化内网设备的互联互通,通过 SSDP(Simple Service Discovery Protocol)多播消息(目标地址 239.255.255.250:1900)自动发现网关设备并动态申请 NAT 端口映射。然而,当这一机制被滥用时,攻击者可通过构造特定的AddPortMapping SOAP 请求,将内网设备的 RPC 端口(如 SMB 445、SSH 22、RDP 3389)直接暴露到公网,使原本受 NAT 保护的内网主机面临 EternalBlue 等远程攻击。

UPnP/NAT-PMP 的暴露机制分析

UPnP 协议运行在 UDP 1900 端口,设备通过发送 SSDP M-SEARCH 多播消息发现网络中的 UPnP 网关。网关响应的LOCATION字段指向一个基于 SOAP 的 HTTP 控制接口,攻击者通过向该接口发送AddPortMapping请求,即可在边界路由器上创建从公网到内网特定端口的转发规则。

这种暴露的风险在于:许多 IoT 设备(包括智能门铃、摄像头、NAS 等)在初始化时会自动启用 UPnP,向路由器申请外部可访问的端口映射,以便实现 "即插即用" 的远程访问。然而,这些设备的 RPC 服务往往缺乏足够的身份验证,一旦端口被暴露,攻击者可直接调用设备功能或利用已知漏洞。

在 Smart Doorbell X3 的案例中,设备通过 Naxclow 后端进行信令通信,使用明文 HTTP 而非 TLS,且设备 ID 采用1e2023XXXXXX的可预测格式(后六位为递增计数器)。这意味着攻击者可以枚举设备 ID,结合 UPnP 暴露的端口,直接对特定设备进行定向攻击。

基于 TTL 递减的主动探测防御策略

TTL(Time To Live)递减探测是一种有效的 UPnP/NAT 暴露检测方法。其核心原理是:通过发送 TTL 值从 1 开始递增的探测包,观察网络路径中每一跳的响应,识别异常的路由跳转和端口映射行为。

探测脚本核心逻辑:

# 基础TTL探测参数配置
START_TTL=1
MAX_TTL=30
TARGET_PORT=1900  # SSDP多播端口
PROBE_INTERVAL=0.5  # 秒
TIMEOUT=2  # 秒

# 检测UPnP网关响应
ssdp_probe() {
    local ttl=$1
    echo -e "M-SEARCH * HTTP/1.1\r\nHost: 239.255.255.250:1900\r\nMan: \"ssdp:discover\"\r\nMX: 3\r\nST: upnp:rootdevice\r\n" | \
    nping --udp -ttl $ttl -p 1900 --data-length 100 239.255.255.250
}

关键检测指标:

  1. 异常 TTL 响应:正常内网设备的 TTL 响应应遵循网络拓扑,若发现 TTL 值异常跳变或存在多个不同 TTL 值的响应源,可能表明存在 UPnP 代理或 NAT 注入。

  2. SSDP 流量监控:监控 UDP 1900 端口的入站和出站流量,检测异常的M-SEARCH请求和AddPortMapping响应。建议设置阈值:单设备每分钟 SSDP 查询不超过 10 次,端口映射请求不超过 2 次。

  3. 端口映射审计:定期扫描边界路由器的 UPnP 端口映射表,检查是否存在指向内网敏感端口(445、22、3389、111 等 RPC 服务端口)的外部映射。

可落地的 IoT 安全加固清单

针对 UPnP/NAT-PMP 暴露风险,以下是可直接落地的防御配置参数:

边界路由器配置:

# 禁用UPnP服务(推荐)
upnp disable
nat-pmp disable

# 若必须启用,限制接口范围
upnp interface lan-only
upnp acl deny external-inbound

# 端口映射白名单(仅允许特定端口)
upnp allowed-port tcp 8080-8090
upnp denied-port tcp 22,445,3389,111

网络隔离策略:

  1. IoT 设备 VLAN 隔离:将所有 IoT 设备(包括智能门铃、摄像头、智能音箱)部署在独立的 VLAN 中,禁止其访问主网段。建议配置:

    • VLAN ID:100(IoT 专用)
    • 子网:192.168.100.0/24
    • ACL:拒绝访问 192.168.1.0/24(主网段),仅允许访问网关和 DNS
  2. 出站流量限制:IoT 设备通常只需访问特定云服务的 HTTPS 端口,可在防火墙配置:

    allow tcp 192.168.100.0/24 any 443
    deny tcp 192.168.100.0/24 any any
    
  3. 禁用设备端 UPnP:在 IoT 设备配置界面中关闭 UPnP/NAT-PMP 功能,或通过网络层阻止设备的 SSDP 多播(239.255.255.250:1900)。

监控告警参数:

监控项 阈值 告警级别
SSDP 查询频率 >10 次 / 分钟 / 设备 警告
端口映射创建 >2 次 / 小时 严重
外网到内网 445 端口连接 >0 次 紧急
TTL 异常跳变 连续 3 跳 TTL 差值 > 5 警告

总结与建议

智能门铃 X3 的案例揭示了低成本 IoT 设备普遍存在的安全设计缺陷:硬编码凭证、可预测标识符、明文通信、缺乏 OTA 更新机制。当这些缺陷叠加 UPnP/NAT-PMP 的自动端口暴露能力时,攻击者可以在不接触物理设备的情况下,通过互联网直接访问内网 RPC 服务。

对于普通用户,最有效的防护措施是禁用 UPnP并将 IoT 设备隔离在独立 VLAN 中。对于企业网络,建议部署基于 TTL 递减的主动探测机制,实时监控 SSDP 流量和端口映射行为,及时发现并阻断异常的 NAT 注入攻击。

最后,如果你正在使用类似的廉价智能门铃或摄像头,建议检查其固件版本、确认是否支持 OTA 更新,并立即在路由器上禁用 UPnP 功能。$12 的硬件成本背后,可能是整个家庭网络的暴露风险。


资料来源:

  1. ABGEO, "Anyone on the Internet Can Ring Your Doorbell", 2026-05-06
  2. Versa Networks, "Internal Network Exposure via UPnP NAT Injection", 2018-12-05

security

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com