KillerBee 是一个用于测试和审计 ZigBee 及 IEEE 802.15.4 网络的框架与工具集
注意
- usb0.x 支持正在被弃用/移除
- Apimote v1 支持正在被弃用/移除
如果你需要这些功能,请创建一个 issue 说明你的使用场景和需求。
KillerBee 3.0.0-beta 更新
大家好,感谢大家一直以来对 KillerBee 的支持与关注。
当我们正在投入新精力清理代码、迁移到 Python 3、添加功能、提升一致性与连贯性时,我们利用这次重构的机会重新审视项目的目标和用途,以及实现这些目标的最佳方式。
随着我们弃用旧功能和依赖项,并重构代码以帮助组织功能、实现功能的扩展,这次工作将带来一个主要版本更新。
这也是尝试定义组成 KillerBee 的各个部分,旨在为 KillerBee 中的功能划定更清晰的界限,并将其作为库来对待。 详情请参阅 ARCHITECTURE.md 以了解当前及未来的目标。
根据 BSD 许可证分发,详情见 LICENSE.txt。 保留所有权利。
主要工具包的作者为:
我们感谢众多为框架做出贡献的人,包括以下贡献了功能的人士:
KillerBee 在 Linux 系统上开发和测试。 MacOS 可以使用但不提供支持。
我们尽量使用最少的软件依赖项,但在安装之前仍需安装以下 Python 模块。 安装程序会检测并提示你需要哪些模块。
在 Ubuntu 系统上,你可以使用以下命令安装所需的依赖项:
# apt-get install python-usb python-crypto python-serial python-dev libgcrypt-dev
在 Mac OS 上,你可以使用以下命令安装依赖项:
# brew install libusb libgcrypt
# pip3 install pyusb scapy
Scapy 扩展补丁需要 python-dev 和 libgcrypt。
另请注意,这是一个相当高级且不友好的攻击平台。它并非 Cain & Abel。它专为攻击 ZigBee 和 IEEE 802.15.4 网络的开发者和高级分析师设计。我建议你在深入研究此框架之前,先对 ZigBee 协议(书籍 ZigBee Wireless Networks and Transceivers by Shahin Farahani 还算不错,尽管仍然不够好)和 Python 语言有一定了解。
KillerBee 在满足依赖项后,使用标准的 Python 'setup.py' 安装文件。
使用以下命令安装 KillerBee:
# python3 setup.py install
KillerBee 代码的目录结构如下所述:
KillerBee 框架正在扩展以支持多种设备。 目前支持 River Loop ApiMote、Atmel RZ RAVEN USB Stick、MoteIV Tmote Sky、TelosB mote、Sewino Sniffer 以及运行 Silicon Labs Node Test 固件的各种硬件。
硬件支持和固件编程的详细信息请参阅 firmware/README.md。
对 Freaklab 的 Freakduino(附带额外硬件和达特茅斯 arduino 草图)以及 Zigduino 板的支持已提供,但未列出,因为它们已不再维护。你需要在 killerbee/config.py 中启用这些设备,然后重新安装 KillerBee。
KillerBee 包含多个基于 KillerBee 框架构建的、用于攻击 ZigBee 和 IEEE 802.15.4 网络的工具。每个工具都通过运行带有 "-h" 参数来显示其使用说明,摘要如下。
sample/zigbee-network-key-ota.dcf 可用于演示此功能。DISPLAY 变量设置正确。其他特殊用途或不稳定的工具存放在 Api-Do 项目仓库:http://code.google.com/p/zigbee-security/ 以及 https://github.com/riverloopsec/beekeeperwids。
KillerBee 旨在简化从空中接口或支持的数据包捕获文件(libpcap)中嗅探数据包以及注入任意数据包的过程。还提供了辅助函数,包括 IEEE 802.15.4、ZigBee NWK 和 ZigBee APS 数据包解码器。
KillerBee API 以 epydoc 格式记录,HTML 文档位于此发行版的 doc/ 目录中。如果你安装了 epydoc,还可以生成方便的 PDF 用于打印(如果需要),如下所示:
$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/
pdf/ 目录下会有一个名为 "api.pdf" 的文件,其中包含框架文档。
要开始使用 KillerBee 框架,请查看包含的工具(zbdump 和 zbreplay 是不错的入门示例)。
由于 KillerBee 是一个 Python 库,它也可以很好地与其他 Python 软件集成。例如,Sulley 库是一个由 Pedram Amini 编写的 Python 模糊测试框架。利用 Sulley 的变异功能和 KillerBee 的数据包注入功能,可以轻松构建一个生成并向目标发送畸形 ZigBee 数据的机制。
请使用 https://github.com/riverloopsec/killerbee/issues 的工单系统。
原始版本由 [email protected] 编写。 当前版本、修复等问题由 [email protected] 处理。 (所有贡献者/致谢见上文列表。)
对于贡献者/开发者,详情和指南请参阅 DEVELOPMENT.md。