自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用btproxy對藍牙設備進行安全分析

安全 數(shù)據(jù)安全
最近我比較熱衷調(diào)查新技術(shù)的安全性能,尤其是“IoT”領(lǐng)域的新設備,比如使用藍牙進行連接的設備。熟悉藍牙連接方式之后,我就想用明文的方式來看看它的通信數(shù)據(jù),有可能的話最好還能修改下其中的數(shù)據(jù)。

最近我比較熱衷調(diào)查新技術(shù)的安全性能,尤其是“IoT”領(lǐng)域的新設備,比如使用藍牙進行連接的設備。熟悉藍牙連接方式之后,我就想用明文的方式來看看它的通信數(shù)據(jù),有可能的話最好還能修改下其中的數(shù)據(jù)。類似于現(xiàn)有的網(wǎng)絡流量工具,這里并沒有方便快捷的辦法實現(xiàn)它。

我寫的這個工具需要1個或者2個藍牙適配器作為其他兩個設備之間連接的代理,代理連接可以查探明文數(shù)據(jù)流量,以及實時修改的能力。

安裝

我已經(jīng)將該項目發(fā)布到github上,目前該工具僅僅只能在Linux 或者 OS X下進行運行,且其依賴于BlueZ。

安裝依賴包:

sudo apt-get install bluez bluez-utils bluez-tools libbluetooth-dev python-dev

安裝btproxy:

git clone https://github.com/conorpp/btproxy cd btproxy sudo python setup.py install

在Pebble Watch上運行

為了運行它,你需要兩個藍牙設備進行作為代理(藍牙電量低,不會運行)

為此,我選擇使用我的手機(Nexus 6)以及Pebble Watch。

接著我打開所有設備的可發(fā)現(xiàn)藍牙設備。我的Nexus 6跑的是Android L,這需要到設置中去打開藍牙選項。同樣的Pebble watch,也需要到設置菜單中去打開藍牙。設置完成之后,我們就可以運行代理了。

我使用hcitool來掃描設備,因此我獲取到設備的MAC地址

$ hcitool scan
Scanning ...
77:88:99:AA:BB:CC Pebble 9FAA
11:22:33:44:55:66 conorpp's Nexus 6

接著,運行藍牙代理:

sudo btproxy 11:22:33:44:55:66 77:88:99:AA:BB:CC

注意,我先輸入的是手機的MAC地址。這一點十分重要,因為手機是作為連接中的主設備,手表作為其從屬設備。主/從設備都會使用藍牙協(xié)議,直到主設備發(fā)出請求,從屬設備通常保持待機狀態(tài)。并且主設備可以連接到多臺設備,而從屬設備僅僅智能連接一臺設備。

使用btproxy對藍牙設備進行安全分析

 

M=Master(主設備) S=Slave(從屬設備)

現(xiàn)在我們就來看看代理的輸出信息

$ sudo btproxy 11:22:33:44:55:66 77:88:99:AA:BB:CC
Running proxy on master  11:22:33:44:55:66  and slave  77:88:99:AA:BB:CC 
Using shared adapter 
Slave adapter:  hci0 
Master adapter:  hci0 
Looking up info on slave (77:88:99:AA:BB:CC) 
Looking up info on master (11:22:33:44:55:66) 
Spoofing master name as  Pebble 9FAA_bt
proxy Running inquiry scan 
paired 
Spoofing master name as  Pebble 9FAA_btproxy 
Proxy listening for connections for "Serial Port Server Port 1" 
Proxy listening for connections for "Audio/Video Remote Control" 
Attempting connections with 2 services on slave 
Connected to service "Audio/Video Remote Control" 
Connected to service "Serial Port Server Port 1" 
Now you're free to connect to "Pebble 9FAA_btproxy" from master device.

代理會搜尋設備名稱和類,所以其可以將設備名稱和類復制到使用的藍牙適配器中。在本例中,因為只有一個藍牙適配器,所以只會復制從屬設備的屬性。

途中,它會向我的Pebble watch發(fā)出一個藍牙適配請求。接受請求之后,代理會打開每個手表設備的藍牙接口,然后連接到手機。代理連接到手表中的藍牙之后,我將主設備(Nexus 6)連接到代理設備(Pebble 9FAA_btproxy)

使用btproxy對藍牙設備進行安全分析

 

btproxy輸出

這里有使用到兩個協(xié)議:SPP 和 Pebble,發(fā)送一個明文通知。

我給自己發(fā)送一條明文通知之后獲取到的日志記錄:

<<  b'\x00F\x0b\xc2\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00K_\xecU\x01\x02\x03\x01\x0e\x00(123) 456-6789\x03\x0c\x00Hello Pebble\xff\x05\x00\xfe\x05\x00\x01\x03\x01\x01\x05\x00Reply'

你可以看到電話號碼,以及通知內(nèi)容,"Hello Pebble".

我發(fā)送一條谷歌環(huán)聊信息后截獲的包:

<<  b'\x00b\x0b\xc2\x00\x01\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xf2_\xecU\x01\x02\x02\x01\r\x00Conor Patrick\x03\x1a\x00Sent a message on Hangouts\x01\x02\x01\x01\r\x00Open on phone\x02\x04\x01\x01\x07\x00Dismiss'

你可以看到其發(fā)送了兩個選項:"Open on phone" 以及 "Dismiss".

使用Python內(nèi)聯(lián)腳本可以實時修改包中的任何內(nèi)容。

例如:

# replace.py # This replaces the options in a Pebble notification packet
 def master_cb(req):
    req = req.replace(b'Open on phone', b'Hi welcome to')     
    req = req.replace(b'Dismiss', b'Btproxy')     
    print( '<< ', repr(req))     
    return req 
 def slave_cb(res):     
    print('>> ', repr(res))     
    return res

當主設備(Nexus 6)向從屬設備(Pebble Watch)發(fā)送一個數(shù)據(jù)包時,會調(diào)用master_cb,反之則調(diào)用slave_cb.

重啟btproxy:

sudo btproxy 11:22:33:44:55:66 77:88:99:AA:BB:CC -s replace.py

然后發(fā)送一個通知:

[[148809]]

結(jié)論

使用該工具的目的是為了分析,同時也可用于如今越來越流行的物聯(lián)網(wǎng)設備安全檢測。到目前為止,我使用其更新固件、證書/憑證以及改變標識符,除非有方法實現(xiàn)設備強制藍牙進行適配,并連接上代理,否則它不適合應用在實際的攻擊中?;蛟S在未來會有大牛攻破這個難題,但是現(xiàn)在這種攻擊還僅僅屬于理想狀態(tài)的測試。

責任編輯:藍雨淚 來源: FreeBuf
相關(guān)推薦

2021-11-26 08:45:06

NetworKi網(wǎng)絡安全分析安全工具

2021-11-04 05:43:38

GoKartGo代碼靜態(tài)安全分析

2023-03-08 21:30:33

2017-03-07 08:45:24

AndroidCPU鎖頻

2015-01-09 16:10:19

藍牙設備安全安全工具BlueMaho

2022-04-02 06:10:02

勒索軟件PSRansom安全工具

2020-07-01 07:19:03

物聯(lián)網(wǎng)安全隱私

2013-06-27 17:30:37

2020-09-21 09:58:01

Frida

2017-09-26 19:02:09

PythonInstagram數(shù)據(jù)分析

2012-03-07 20:56:57

iPhone

2018-08-03 16:09:09

2010-05-20 14:42:02

MySQL數(shù)據(jù)

2010-02-23 13:33:49

Python測試套件

2011-04-14 09:05:07

ExcelMySQL數(shù)據(jù)

2018-04-19 15:13:53

javascriptwebpackvue.js

2010-01-28 14:04:35

C++鏈表

2021-05-09 22:48:40

SQL數(shù)據(jù)庫變量

2023-12-12 07:30:54

IstioWasm前端

2009-12-01 19:12:41

Visual Stud
點贊
收藏

51CTO技術(shù)棧公眾號