Peniot
Peniot是一款针对物联网设备的专业渗透测试工具,它可以帮助我们通过各种不同类型的网络安全攻击来测试目标物联网设备的安全性。也就是说,我们可以将需要测试的物联网设备暴露在主动/被动安全攻击场景下,在确定了目标设备的相关信息和参数之后,就可以利用Peniot来对其执行攻击测试了,比如说更改或消耗系统资源,重放有效通信单元等等。除此之外,我们还可以利用Peniot来执行被动安全攻击,比如说违反重要数据的机密性或流量分析(MitM)等等。值得一提的是,所有的攻击和分析操作都是以完全自动化的方式实现的。简而言之,Peniot是一个包/框架,可以用于针对物联网设备进行基于协议的安全攻击测试。
持此之外,Peniot还可以为研究人员进一步注入新的安全攻击或新的物联网协议提供了一个基础架构。Peniot最重要的特性之一就是它的可扩展性,默认配置下,它支持针对常简物联网协议和其他相关协议的安全攻击测试。而且它还可以通过导出内部使用组件的基本结构来进行功能扩展,这样我们就可以开发与Peniot内部结构相协调的攻击测试了。
Peniot的作用
物联网模式在过去十年经历了巨大的变化,目前已经有数十亿设备连接到了互联网上。由于容量限制,大多数设备甚至缺乏基本的安全保护措施,而且由于上市时间短,设计时没有考虑安全性,因此很多设备都存在安全问题。由于物联网的高连通性,黑客很容易通过存在漏洞的设备发起对扩展网络具有破坏性影响的攻击。
到目前为止,针对物联网的渗透测试都是手工完成的。这个过程使得设备的测试过程非常缓慢。另一方面,生产物联网设备的公司需要不断更新升级其设备的可靠性、健壮性以及所提供的功能,以防止安全攻击对用户造成意想不到的影响。Peniot的主要目的是加快安全测试的进程,它可以帮助研究人员通过自动化渗透测试来找出物联网设备中存在的安全缺陷。
Peniot功能介绍
随着物联网设备数量的急剧增加,物联网设备在我们的日常生活中越来越普遍。智能家居、智能自行车、医疗传感器、健身跟踪器和智能门锁等等只是物联网产品的几个例子。考虑到这一点,我们认为有必要选择一些最常用的物联网协议默认植入到Peniot中。我们选择以下协议作为Peniot中包含的默认IoT协议,这些物联网协议可以嵌入到各种类型的安全攻击之中,如DoS、模糊测试、嗅探攻击和重放攻击等等。
当前版本的Peniot支持以下协议:
除此之外,Peniot还支持研究人员导入自己的外部协议来实现针对其他协议的攻击测试。别忘了,Peniot还给我们提供了一个易于使用且用户友好的图形化用户界面。
构建命令
首先,我们需要安装Python的setuptools模块,并安装python-tk和bluepy。
简而言之,我们需要在安装和运行Peniot之前,配置好下列组件:
- setuptools
- python-tk
- Bluepy
接下来,我们就可以执行下列命令将项目在本地设备上进行安装和配置:
- $ git clone git@github.com:yakuza8/peniot.git
- $ cd peniot
- $ python setup.py install
项目架构
工具测试
Peniot默认自带了一些针对常见攻击的集成测试样例,在执行这些攻击测试之前,我们需要执行一个运行了目标协议的程序。具体针对每个协议的测试样例可以在项目目录的examples/目录下找到。
项目地址
Peniot:【GitHub传送门】