akestoridis/zigator

GitHub: akestoridis/zigator

针对 Zigbee 和 Thread 物联网协议的综合安全分析工具,覆盖流量解密、数据包伪造与注入、干扰攻击以及入侵检测等完整能力。

Stars: 33 | Forks: 4

# zigator Zigator:一款用于 Zigbee 和 Thread 网络的安全分析工具 ![测试工作流状态](https://img.shields.io/github/workflow/status/akestoridis/zigator/wf01-tests?label=tests) ![GitHub 发布(最新)](https://img.shields.io/github/v/release/akestoridis/zigator) ![GitHub 自最新发布以来的提交](https://img.shields.io/github/commits-since/akestoridis/zigator/latest) ![Python 版本要求](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9%20%7C%203.10-blue) ![许可证](https://img.shields.io/badge/license-GPL--2.0--only-blue) ## 免责声明 Zigator 是一款分析 Zigbee 和 Thread 网络安全性的软件工具,仅出于良性的研究目的提供。 本工具的用户有责任确保其行为符合当地法律,并已获得受影响网络所有者的适当许可。 ## 安装 您可以按照以下步骤在 Python 3 虚拟环境中安装 Zigator: ``` $ git clone https://github.com/akestoridis/zigator.git $ cd zigator/ $ python3 -m venv venv/ $ source venv/bin/activate (venv) $ pip install --upgrade pip (venv) $ pip install . ``` 以下命令应显示您安装的 Zigator 版本: ``` (venv) $ zigator -v ``` 如果您决定在 Python 3 虚拟环境之外安装 Zigator,随后收到 `zigator` 命令未找到的错误消息,请确保系统的 `PATH` 环境变量中包含已安装可执行文件的目录。 例如,如果安装在 `~/.local/bin` 中,请在 `~/.bashrc` 文件末尾添加以下行: ``` export PATH=$PATH:~/.local/bin ``` 重新加载 `~/.bashrc` 文件后,您应该能够找到 `zigator` 命令。 ## 功能 Zigator 使用户能够执行以下操作: * 解密并验证捕获的 Zigbee 和 Thread 数据包 * 加密并认证伪造的 Zigbee 和 Thread 数据包 * 从安装代码派生预配置的 Trust Center 链路密钥 * 从主密钥派生 MAC 密钥和 MLE 密钥 * 解析 Zigbee 和 Thread 数据包的多个头部字段 * 从捕获的 Zigbee 和 Thread 数据包中推断信息 * 从包含 Zigbee 和 Thread 数据包的数据库生成统计数据 * 可视化包含 Zigbee 数据包的数据库中的数据 * 从包含 Zigbee 数据包的数据库训练决策树分类器 * 通过 UDP 和 SLL 注入伪造的数据包 * 使用 ATUSB 发动选择性干扰和欺骗攻击 * 为 Zigbee 网络部署独立的 WIDS 传感器 ## 快速开始 您可以按如下方式查看 Zigator 支持的所有子命令的摘要: ``` (venv) $ zigator -h ``` `-h` 标志也可用于查看不同 Zigator 子命令支持的参数。 例如,以下命令显示 `inject` 子命令支持的参数: ``` (venv) $ zigator inject -h ``` 同样,您可以使用以下命令查看 `inject` 子命令支持的参数,以便在通过 UDP 转发进行注入之前伪造 Zigbee 信标: ``` (venv) $ zigator inject udp zigbeebeacon -h ``` 例如,您可以通过执行以下命令,转发一个用于 UDP 注入的伪造 Zigbee 信标,其 PAN ID 设置为 0xbbcc,其余字段设置为其默认值: ``` (venv) $ zigator inject udp zigbeebeacon --mac_srcpanid 0xbbcc ``` 请注意,某些 Zigator 子命令只能由超级用户执行。 例如,您必须使用 `sudo` 执行已安装的可执行文件才能将伪造的数据包发送到原始套接字,例如: ``` (venv) $ sudo ./venv/bin/zigator inject sll zigbeebeacon --mac_srcpanid 0xbbcc ``` 每当用户执行会发动攻击的命令时,都会打印免责声明。 如果用户希望继续,必须承担其行为的责任。 ## 相关出版物 * D.-G. Akestoridis, V. Sekar, and P. Tague, “On the security of Thread networks: Experimentation with OpenThread-enabled devices,” in *Proc. ACM WiSec’22*, 2022, pp. 233–244, doi: [10.1145/3507657.3528544](https://doi.org/10.1145/3507657.3528544). * D.-G. Akestoridis and P. Tague, “HiveGuard: A network security monitoring architecture for Zigbee networks,” in *Proc. IEEE CNS’21*, 2021, pp. 209–217, doi: [10.1109/CNS53000.2021.9705043](https://doi.org/10.1109/CNS53000.2021.9705043). * D.-G. Akestoridis, M. Harishankar, M. Weber, and P. Tague, “Zigator: Analyzing the security of Zigbee-enabled smart homes,” in *Proc. ACM WiSec’20*, 2020, pp. 77–88, doi: [10.1145/3395351.3399363](https://doi.org/10.1145/3395351.3399363). ## 致谢 本项目部分由卡内基梅隆大学 CyLab 安全与隐私研究所和卡内基梅隆大学提供支持。 ## 许可证 Copyright (C) 2020-2022 Dimitrios-Georgios Akestoridis 本项目根据 GNU 通用公共许可证第 2 版 (GPL-2.0-only) 的条款进行许可。
标签:IEEE 802.15.4, IoT, Python, Thread, Zigbee, 低功耗广域网, 协议分析, 嗅探, 无后门, 无线网络, 智能家居, 权限提升, 物联网, 网络安全, 逆向工具, 隐私保护