监听蓝牙对话的BlueSpy技术复现
https://i-blog.csdnimg.cn/blog_migrate/0c0a7dd7cfbeafd7a9a7ca4db134378a.gif本文是之前文章的BlueSpy技术的复现过程:https://mp.weixin.qq.com/s/iCeImLLPAwwKH1avLmqEpA
2个月前,网络安全和情报公司Tarlogic在西班牙安全大会RootedCon 2024上提出了一项利用蓝牙弊端的BlueSpy技术,并在之后发布了一个名为BlueSpy的概念验证工具。
这个蓝牙安全弊端能够允许攻击者在蓝牙扬声器(比如耳机)已经与另一个装备配对并毗连的情况下,劫持或监听蓝牙扬声器的输出内容,这也意味着,假如攻击目标是蓝牙耳机,那么可以通过这个弊端进行目标用户蓝牙耳机通话的劫持,即偷听目标对象的通话内容。
同时Tarlogic也发布了BlueSpy 的PoC项目https://github.com/TarlogicSecurity/BlueSpy,该项目可以验证此弊端的概念。
情况准备
Python 3.11.8
PoC 使用以下工具:
▪️ bluetoothctl
▪️ btmgmt
▪️ pactl
▪️ parecord
▪️ paplay
测试装备使用Kali假造机+蓝牙适配器或者原生Kali体系均可复现。其中,使用假造机时需要注意关闭USB控制器的与假造机共享蓝牙装备,这个蓝牙装备虽然会显示在蓝牙适配器列表,但是并不能使用,直接使用毗连到假造机的外置蓝牙适配器即可。
https://i-blog.csdnimg.cn/blog_migrate/aaf043bc34a00f4a7cb6814eb0d5b531.png
测试准备
在BlueSpy脚本实行时非常轻易出现错误,比如:
https://i-blog.csdnimg.cn/blog_migrate/dfa411111f94ec40e08d2f2f167830cf.png
这时可以使用sudo btmgmt pair -c 3 -t 0命令直接运行btmgmt进行测试,并根据给出的提示办理报错。
https://i-blog.csdnimg.cn/blog_migrate/82d723f373592c541e3d1e68db5c2db0.png
确保btmgmt可以正常运行之后,再通过hciconfig命令来查抄蓝牙适配器的信息。
hciconfig命令可以查看蓝牙适配器信息,和ifconfig命令可以查看网络适配器一样,遇到适配器DOWN的状态,可以使用hciconfig hci0 up来启动。
https://i-blog.csdnimg.cn/blog_migrate/6995f0564fb296e4536614acd0bcea5c.png
别的,sudo systemctl start bluetooth命令用于启动蓝牙服务。
https://i-blog.csdnimg.cn/blog_migrate/acb95f54d675847303b5c08e74bc5067.png
sudo rfkill list命令可以用来查抄蓝牙装备是否禁用。
https://i-blog.csdnimg.cn/blog_migrate/64d8839d428fd371bef4cba13783f173.png
假如蓝牙已被禁用,可以使用以下命令排除禁用:sudo rfkill unblock bluetooth
https://i-blog.csdnimg.cn/blog_migrate/37c121fe89298e44db5d4023c6de2409.png
测试场景
确保btmgmt可以正常运行后,通过bluetoothctl工具扫描周边的蓝牙装备,在工具启动后实行scan on命令来开启扫描,获取蓝牙的地址,这里以网易的云音乐蓝牙耳机为例。
https://i-blog.csdnimg.cn/blog_migrate/fdcd21f6b3a2dbdc4e11f7bdfa6a9b34.png
倘若此时周边有其他人已经毗连该蓝牙耳机听音乐(这里以耳机毗连Windows体系为例)。
https://i-blog.csdnimg.cn/blog_migrate/3a0fc64ac31bc024eedced076bbfc1e0.png
https://i-blog.csdnimg.cn/blog_migrate/9db9f5ecbaa00cd0410577cf7defc31e.png
测试实行
回到Kali体系开始实行BlueSpy步伐,示比方下:
$ python BlueSpy.py -a 蓝牙地址(上文示例为F5:0E:FD:00:01:B8)
https://i-blog.csdnimg.cn/blog_migrate/960b64bad68e15e78e8cf4fd3ab90fa5.png
上图可以看到Kali体系已经毗连到正在播放的云音乐蓝牙耳机,并且开启了麦克风开始录音。
https://i-blog.csdnimg.cn/blog_migrate/8322557bcc23711b7ef92c1d117d6dac.png
这时在项目目次下会有一个recording.wav的文件生成,这个文件正是录音的文件,随着录音时间的增加,该文件的巨细也会增加。
https://i-blog.csdnimg.cn/blog_migrate/bcf792e5b424908ecb02a0ce4856a064.png
使用Ctrl+C停止录音后,可以选择是否向毗连的蓝牙装备播放媒体文件。选择Y的话会播放刚刚录音的文件,不选择的话,装备会恢复之前的状态继承播放音乐。
这里也可以用单独的命令进行相同操纵:
actl set-card-profile bluez_card.04_FE_A1_40_EB_31 headset-head-unit-msbc parecord -d bluez_input.04_FE_A1_40_EB_31.0 recording.wav paplay -d bluez_output.04_FE_A1_40_EB_31.1 recording.wav
使用上述命令可以单独进行录音或者发送指定的音频到目标蓝牙装备播放音乐,假设播放的音乐是空缺,则会产生蓝牙耳机或音箱无声的假象。
作者:马云卓
2024年7月1日
洞源实验室
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]