在这篇文章里,我们将向你介绍Attify Zigbee Framework -一个我们制作的图形化程序,它能帮助你渗透物联网设备且找出基于物联网以及智能设备的Zigbee漏洞。

ZigBee设备渗透工具:Attify Zigbee Framework

关于Zigbee

Zigbee是当前阶段IoT设备最常用的协议之一,它于2004年到来,之后迅速普及,成为任何需要自动化或近距离无线控制的设备的理想协议。

Zigbee额外的功能如低功耗,嵌入的对网状网络的支持以及低带宽使用,都进一步提高了这一新技术的采用率。而现今,它已经成为IoT设备(如三星Smart Things以及Philips Hue等一些十分流行的产品)中最常见的协议之一。

Zigbee联盟负责Zigbee设备的认证,并保留经过认证的产品清单。

由于没有意识到Zigbee安全的重要性,你可能经常会遇到一些丝毫没有安全保护的基于Zigbee的设备,而没有设防的后果是任何人都可以利用漏洞,甚至可以对关键基础设施进行攻击,造成的影响大到可以接管设施,小到可以嗅探传输中的敏感数据。

我们希望通过这篇文章以及其他物联网渗透工具(比如这个工具包),可以减少物联网产品的安全差距,使物联网生态系统更加健康安全。

准备

Attify ZigBee Framework是对备受赞誉的工具KillerBee的GUI封装,KillerBee由RiverLoop Security开发。

AZF(Attify ZigBee Framework)适合任何刚开始接触物联网/无线电的人,它让使用KillerBee的整个过程变得更加容易。随着时间的推移,我们计划添加更多功能并拓展框架,使其更有效地识别Zigbee通信中的漏洞。

你开始使用AZF时要做的第一件事是克隆 – Attify ZigBee Framework GitHub Repo,然后运行installer.sh安装。

ZigBee设备渗透工具:Attify Zigbee Framework

安装脚本还会安装KillerBee工具以及运行该工具所需的其他依赖。

配置工具

要运行工具,你需要前往克隆的目录,然后运行python main.py来启动Attify ZigBee Framework。

python main.py

这个框架也可以由你自定义使用的工具,为此,你可以从“设置”菜单中选择工具列表,或者使用Ctrl+S启动配置菜单。

ZigBee设备渗透工具:Attify Zigbee Framework

KillerBee框架由一些工具组成,且并不是所有这些工具已经在AZF上实现,目前,AZF包含了渗透ZigBee的一些必要的工具,未添加的将在未来版本中添加。

你可以点击这里了解更多关于KillerBee套件中的工具及其功能。

我们认为除了演示如何工作,别无更好的方法解释工作原理,所以对于这篇文章,我们将通过渗透一个现成的IoT灯泡来演示如何使用Attigit ZigBee Framework。

开始

要理解并尝试后面的教学,你可能需要以下配置:

1.ZigBee嗅探工具:你可以点击这里查看详细信息,或者点击这里购买设备(如有更好的推荐或建议,请评论)。

2.有漏洞的IoT设备

3.安装了Attify ZigBee Framework的虚拟机/系统。

完成上述要求,就可以插入Atmel RzRaven USB设备,然后启动工具,在这个演示中,我们将需要以下工具:

1.Zbid

2.Zbstumbler

3.Zbdump

4.Zbreplay

从配置菜单中选择上述工具,然后保存配置。

找到Atmel RzRaven

要开始,你只需要简单地插入Atmel RzRaven,然后Zbid面板上应该会显示已经检测到设备。Zbid面板应该如下图所示:

ZigBee设备渗透工具:Attify Zigbee Framework

现在我们已经在AZF中成功连接并检测到了RzRaven,接下来我们需要做的就是找出目标设备正在使用的信道,然后使用这些信息进行进一步的利用。

确定目标设备的信道

在2.4GHz频段,ZigBee将16个信道用于通信目的,我们最初的目标是确定目标设备正在使用的信道,而这就是Zbstumbler的用处。

Zbstumbler是用于ZigBee设备的网络发现工具。它的工作方式是发送请求帧并显示有关响应帧的信息(如果有的话)。所有这一切都是在每两秒钟在跳频时进行的。这整个过程有助于我们在16个通道中的任何一个上查找各种ZigBee设备。

如果你已经知道设备正在使用的信道,那么还可以指定在该信道上发送和接收请求和响应帧。

ZigBee设备渗透工具:Attify Zigbee Framework

如你所见,Zbstumbler在信道20上成功地发现了设备。

保存ZigBee数据包

一旦我们成功识别了信道,那么下一步就是捕获设备发送和接收的数据包。

如果你完全是个新手,那么就必须意识到很多情况下分析数据包会让我们发现很多有趣的东西,但是在这种情况,我们会捕获数据包,然后重放来使设备在行为上发生变化,这些行为由我们重放的数据包来决定。

我们可以使用工具zbdump来捕获数据包,但是要注意几个值:

1.Interface details:这个可以在Zbid获取。

2.Channel number:上述段落已经指出如何找出信道。

3.Count:这个值是可选的,它只是代表你要捕获的数据包个数,在这里,我们设置为100.

4.Output file name:输出的文件名,在这里我们保存为IoTbulb.pcap。

ZigBee设备渗透工具:Attify Zigbee Framework

重放ZigBee数据包来控制物联网设备

现在我们已经成功捕获了数据包,接下来可以进行重放 – 即所谓的重放攻击。

所有捕获的文件都存储在父文件夹Attify Zigbee Framework的pcap目录中。 zbreplay允许你从pcap目录中选择pcap文件。

继续选择我们在上一步中捕获的pcap文件,选择相应的信道,并选择重防的时间延迟。

一旦配置完毕,点击replay按钮开始重放数据包。你将看到灯泡执行的操作与在数据包捕获阶段要求执行的操作相同。

在我们的例子中,灯泡正在改变颜色,你可以从下面的视频中看到。(注释 – 在这种情况下,IoT设备没有防止重放攻击,这使我们的攻击成为可能)。

ZigBee设备渗透工具:Attify Zigbee Framework

重放攻击目前仍然是IoT设备中最常见的,基于无线电的漏洞之一,但这只是你的开始。

观看完整过程的视频

https://v.qq.com/x/page/r054621kolc.html

我们将在Attify的YouTube频道上更新更多视频。请订阅以保持更新。如果您发现错误或有任何功能请求,请随时在GitHub上联系我们。

对工具的任何贡献,无论是代码,文档,错误报告还是功能请求都将不胜感激。

*参考来源:attify,Covfefe编译