欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

看我如何黑掉基于ZigBee的IoT设备

来源:本站整理 作者:佚名 时间:2017-05-06 TAG: 我要投稿

一、前言
在这篇文章中,我们将向读者介绍如何使用Attify ZigBee框架,对基于ZigBee的IoT(物联网)设备和智能设备进行渗透测试并发现漏洞。
二、关于Zigbee
ZigBee是目前IoT设备中最常见的通信协议之一。自2004年诞生以来,ZigBee迅速普及,已经成为在自动化或短距离无线控制场景中最常用的协议之一。
ZigBee具备一些附加功能,比如低功耗、原生支持网状网络以及低带宽占用率等,这些优点进一步推动了这项新技术的普及。
到目前为止,ZigBee已经成为IoT设备中最常用的协议之一,广泛应用在包括三星智能设备以及飞利浦的Hue智能照明设备在内的许多热门产品中。
ZigBee联盟负责ZigBee设备的认证,同时也负责维护经过联盟认证的产品列表。
人们对ZigBee的安全普遍缺乏意识,因此我们经常会碰到某些缺乏最基本安全防护的ZigBee设备。这些设备在很多方面存在漏洞,比如攻击者可以嗅探通信传输中的敏感信息,也可以夺取关键基础设施的控制权。
我们希望通过这篇文章以及其他IoT安全产品(比如这个工具包),能够提高IoT产品的安全性,使IoT生态系统更加健康。
三、Attify Zigbee框架
Attify ZigBee框架(以下简称AZF)是一款具备GUI操作界面的产品,对RiverLoop Security出品的KillerBee工具进行了封装,可以让初涉IoT以及无线电安全领域的初学者更加轻松掌握KillerBee工具的整个使用流程。随着时间的推移,我们计划在AZF中添加更多的功能,扩展整个框架,使其能够更加高效识别ZigBee通信中存在的漏洞。
在开始使用AZF之前,首先你需要克隆GitHub上的AZF代码仓库,运行其中的installer.sh开始安装过程。

这个安装脚本同时还将安装KillerBee工具,顺便解决工具运行所需要的其他依赖项。
四、设置AZF
要运行这个工具,我们需要进入AZF所在文件夹,运行如下命令,启动AZF。

python main.py
你可以对AZF进行配置,定制KillerBee工具包中的哪些工具可以在AZF的GUI界面中显示。你可以在“Settings”菜单中,选择需要显示的工具列表,也可以通过Ctrl+S弹出配置菜单进行定制。

KillerBee框架由几种工具组成,但这些工具没有全部包含在AZF中。目前来说,AZF已经包含ZigBee渗透测试所需要用到的必备工具,在将来发布的新版中,会将其他工具添加进来。
你可以参考此链接,了解KillerBee工具包的更多功能。
五、开始工作
我们认为最好是通过具体案例来介绍工具的使用方法。因此,本文中我们将使用AZF,黑掉某个IoT智能灯泡,在这个过程中,向大家展示AZF的使用方法。
在开始工作前,你需要准备如下环境:
1、已刷入KillerBee的Atmel RzRaven U盘。你可以参考KillerBee在GitHub上的说明,按步骤完成刷入过程,也可以到这里购买一个已刷好的RzRaven U盘。
2、存在漏洞的IoT设备。
3、已安装AZF的虚拟机或系统。
环境准备完毕后,你可以将Atmel RzRaven U盘插入系统中并启动工具。对于本文的演示案例来说,我们需要使用以下工具:
1、Zbid
2、Zbstumbler
3、Zbdump
4、Zbreplay
在AZF的工具配置菜单中选择以上工具,点击“save configuration”,保存配置。
六、查找Atmel RZRaven U盘
插入RZRaven U盘后,你可以在zbid选项卡中检测到U盘的插入信息,如下所示:

现在,我们的RzRave U盘已插入,并被AZF成功识别,我们所需要做的就是找到目标设备所用的信道(channel),利用该信息进一步对设备进行渗透测试。
七、查找目标设备的信道
ZigBee总共使用了2.4GHz频带中的16个信道用于通信。作为一名安全研究员,我们最初的目标是确定目标设备正在使用的具体信道。我们可以使用zbstumbler工具完成这一任务。
Zbstumbler是专门针对ZigBee设备的网络发现工具,它的工作原理是通过发送信标请求帧,根据收到的响应信标帧判断设备的存在情况。Zbstumbler每隔2秒变换一次信道,自动进行信标帧的发送动作。通过这一过程,我们就可以发现这16个信道中存在的任何ZigBee设备。
如果你已经知道目标设备在ZigBee通信中可能使用的具体信道,你可以单独指定这个信道来发送和接受信标帧。

如上图所示,zbstumbler成功识别出信道20上的ZigBee设备。
八、导出Zigbee通信数据包
成功识别设备使用的信道后,下一步工作是捕获设备发送和接收的数据包。
如果你在安全领域是个新手,我必须向你强调通信数据包分析的重要性,它在许多场合下都能帮助我们发现许多有趣的信息。在本例中,我们会使用某种方法捕捉通信报文,重放相同的数据包,通过数据包控制目标设备的行为。
在使用zbdump工具捕获数据包之前,我们需要设置以下参数值:
1、接口(Interface):该值可从zbid中获得。
2、信道号(Channel):我们之前使用zbstumbler获得的信道号。
3、个数(Count):这是个可选项,用来设置我们想要捕获的数据包个数。本例中,我们设置该值为100。
4、输出文件名(Output File):目标文件名,用来保存已捕获的数据包。本例中,我们将所捕获的数据包存为“IoTbulb.pcap”文件。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载