Peniot:一款針對物聯(lián)網(wǎng)設備的專業(yè)全自動化滲透測試工具
Peniot
Peniot是一款針對物聯(lián)網(wǎng)設備的專業(yè)滲透測試工具,它可以幫助我們通過各種不同類型的網(wǎng)絡安全攻擊來測試目標物聯(lián)網(wǎng)設備的安全性。也就是說,我們可以將需要測試的物聯(lián)網(wǎng)設備暴露在主動/被動安全攻擊場景下,在確定了目標設備的相關(guān)信息和參數(shù)之后,就可以利用Peniot來對其執(zhí)行攻擊測試了,比如說更改或消耗系統(tǒng)資源,重放有效通信單元等等。除此之外,我們還可以利用Peniot來執(zhí)行被動安全攻擊,比如說違反重要數(shù)據(jù)的機密性或流量分析(MitM)等等。值得一提的是,所有的攻擊和分析操作都是以完全自動化的方式實現(xiàn)的。簡而言之,Peniot是一個包/框架,可以用于針對物聯(lián)網(wǎng)設備進行基于協(xié)議的安全攻擊測試。
持此之外,Peniot還可以為研究人員進一步注入新的安全攻擊或新的物聯(lián)網(wǎng)協(xié)議提供了一個基礎(chǔ)架構(gòu)。Peniot最重要的特性之一就是它的可擴展性,默認配置下,它支持針對常簡物聯(lián)網(wǎng)協(xié)議和其他相關(guān)協(xié)議的安全攻擊測試。而且它還可以通過導出內(nèi)部使用組件的基本結(jié)構(gòu)來進行功能擴展,這樣我們就可以開發(fā)與Peniot內(nèi)部結(jié)構(gòu)相協(xié)調(diào)的攻擊測試了。
Peniot的作用
物聯(lián)網(wǎng)模式在過去十年經(jīng)歷了巨大的變化,目前已經(jīng)有數(shù)十億設備連接到了互聯(lián)網(wǎng)上。由于容量限制,大多數(shù)設備甚至缺乏基本的安全保護措施,而且由于上市時間短,設計時沒有考慮安全性,因此很多設備都存在安全問題。由于物聯(lián)網(wǎng)的高連通性,黑客很容易通過存在漏洞的設備發(fā)起對擴展網(wǎng)絡具有破壞性影響的攻擊。
到目前為止,針對物聯(lián)網(wǎng)的滲透測試都是手工完成的。這個過程使得設備的測試過程非常緩慢。另一方面,生產(chǎn)物聯(lián)網(wǎng)設備的公司需要不斷更新升級其設備的可靠性、健壯性以及所提供的功能,以防止安全攻擊對用戶造成意想不到的影響。Peniot的主要目的是加快安全測試的進程,它可以幫助研究人員通過自動化滲透測試來找出物聯(lián)網(wǎng)設備中存在的安全缺陷。
Peniot功能介紹
隨著物聯(lián)網(wǎng)設備數(shù)量的急劇增加,物聯(lián)網(wǎng)設備在我們的日常生活中越來越普遍。智能家居、智能自行車、醫(yī)療傳感器、健身跟蹤器和智能門鎖等等只是物聯(lián)網(wǎng)產(chǎn)品的幾個例子??紤]到這一點,我們認為有必要選擇一些最常用的物聯(lián)網(wǎng)協(xié)議默認植入到Peniot中。我們選擇以下協(xié)議作為Peniot中包含的默認IoT協(xié)議,這些物聯(lián)網(wǎng)協(xié)議可以嵌入到各種類型的安全攻擊之中,如DoS、模糊測試、嗅探攻擊和重放攻擊等等。
當前版本的Peniot支持以下協(xié)議:
除此之外,Peniot還支持研究人員導入自己的外部協(xié)議來實現(xiàn)針對其他協(xié)議的攻擊測試。別忘了,Peniot還給我們提供了一個易于使用且用戶友好的圖形化用戶界面。
構(gòu)建命令
首先,我們需要安裝Python的setuptools模塊,并安裝python-tk和bluepy。
簡而言之,我們需要在安裝和運行Peniot之前,配置好下列組件:
- setuptools
- python-tk
- Bluepy
接下來,我們就可以執(zhí)行下列命令將項目在本地設備上進行安裝和配置:
- $ git clone git@github.com:yakuza8/peniot.git
- $ cd peniot
- $ python setup.py install
項目架構(gòu)
工具測試
Peniot默認自帶了一些針對常見攻擊的集成測試樣例,在執(zhí)行這些攻擊測試之前,我們需要執(zhí)行一個運行了目標協(xié)議的程序。具體針對每個協(xié)議的測試樣例可以在項目目錄的examples/目錄下找到。
項目地址
Peniot:【GitHub傳送門】