用途:面向授权的无线安全测试,围绕 Z-Wave(800/900 MHz ISM 频段,美国 908 MHz、欧盟/中国 868 MHz)提供攻击方法论,覆盖嗅探、配网密钥分析、S0/S2 安全对比、注入与集线器渗透。
主要能力:
- 硬件选型:Z-Force(旧版研究工具,难获取)、EZ-Wave(HackRF 自定义固件,全收发)、Aeotec Z-Stick(商用控制器)、HackRF + 开源 Z-Wave 固件、RTL-SDR + ZniffMobile(仅被动嗅探)。
- 嗅探配网(inclusion)阶段,密钥即在此交换。命令:git clone https://github.com/cureHsu/EZ-Wave;ezwave-sniff -f 908.4MHz -o capture.pcap;wireshark capture.pcap。
- S0 缺陷:首个设备入网时用固定全零 PSK 派生网络密钥,嗅探到配网帧即可离线解密该网络后续全部 S0 流量。
- S2(Z-Wave Plus v2,2017 起强制):使用 Curve25519 ECDH 配网,DSK 带外验证,网络密钥不再明文空传;攻击面转向实现缺陷(常开配网模式、S2 校验固件 bug、受限芯片 ECDH 侧信道、贴纸上的 DSK)。
- 未认证节点重放/注入:部分低端设备不强制 S0/S2,明文接受命令,可用 scapy-zwave 构造帧发送。
- 密钥/家庭 ID 暴力尝试:仅对使用默认配置的测试设备有一定价值。
- 集线器渗透:SmartThings、Hubitat、Vera、Home Assistant(~/.homeassistant/zwave_js.json 常含密钥)等 Linux 集线器以明文存储 PSK,攻陷即获得全部配对设备控制权。
使用要点:先确认区域与频率,嗅探配网流量,依据帧格式判定 S0/S2;S0 走捕获配网→派生密钥→解密/控制;S2 侧重集线器与 DSK;再测试明文设备的构造帧。命令如 for hid in ...; do ezwave-test --home-id $hid --target-node 1; done 保持原样。
限制:资料未提供完整安装与依赖说明;S2 无已知配网级密钥缺陷,主要依赖实现漏洞;多数 Z-Wave 部署缺乏 IDS,检测与审计能力有限。仅限合法授权测试。