监听蓝牙对话的BlueSpy技术复现

图片

本文是之前文章的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控制器的与虚拟机共享蓝牙设备,这个蓝牙设备虽然会显示在蓝牙适配器列表,但是并不能使用,直接使用连接到虚拟机的外置蓝牙适配器即可。

图片

测试准备

在BlueSpy脚本执行时非常容易出现错误,比如:

图片

这时可以使用sudo btmgmt pair -c 3 -t 0命令直接运行btmgmt进行测试,并根据给出的提示解决报错。

图片

确保btmgmt可以正常运行之后,再通过hciconfig命令来检查蓝牙适配器的信息。

hciconfig命令可以查看蓝牙适配器信息,和ifconfig命令可以查看网络适配器一样,遇到适配器DOWN的状态,可以使用hciconfig hci0 up来启动。

图片

另外,sudo systemctl start bluetooth命令用于启动蓝牙服务。

图片

sudo rfkill list命令可以用来检查蓝牙设备是否禁用。

图片

如果蓝牙已被禁用,可以使用以下命令解除禁用:sudo rfkill unblock bluetooth

图片

测试场景

确保btmgmt可以正常运行后,通过bluetoothctl工具扫描周边的蓝牙设备,在工具启动后执行scan on命令来开启扫描,获取蓝牙的地址,这里以网易的云音乐蓝牙耳机为例。

图片

倘若此时周边有其他人已经连接该蓝牙耳机听音乐(这里以耳机连接Windows系统为例)。

图片

图片

测试执行

回到Kali系统开始执行BlueSpy程序,示例如下:

$ python BlueSpy.py -a 蓝牙地址(上文示例为F5:0E:FD:00:01:B8)

图片

上图可以看到Kali系统已经连接到正在播放的云音乐蓝牙耳机,并且开启了麦克风开始录音。

图片

这时在项目目录下会有一个recording.wav的文件生成,这个文件正是录音的文件,随着录音时间的增加,该文件的大小也会增加。

图片

 使用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日
洞源实验室 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/761671.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式linux系统中动态链接库实现详解

大家好,linux系统中动态库是如何实现相互链接的?今天简单聊聊动态链接库的实现原理。 假设有这样两段代码,第一段代码定义了一个全量变量a以及函数foo,函数foo中引用了下一段代码中定义的全局变量b。 第二段代码定义了全局变量b以及main函数,同时在main函数中调用了第一个…

CEPH 系统盘挂了,如何使用数据盘恢复

硬盘损坏是早晚的时,CEHP数据盘坏了,使用CEPH的基本都轻车熟路了,如果系统盘坏了呢?不知道的可能会采取整个系统盘全做的方式 前提条件:使用cephadm搭建集群 如果换服务器,请确保CEPH数据盘放到其它服务器上…

mysql数据库的读写分离

该章节的实验需要基于http://t.csdnimg.cn/mT4Bs中的实验来进行。 读写分离 实现方法 在代码上实现读写分离,但对于运维者不友好 设置代理 现在大多采用amoeba作为中间代理服务器做读写分离操作。 2008,阿里巴巴前员工,陈思儒基于java1.6的环…

Java面试题--JVM大厂篇之深入了解G1 GC:高并发、响应时间敏感应用的最佳选择

引言: 在现代Java应用的性能优化中,垃圾回收器(GC)的选择至关重要。对于高并发、响应时间敏感的应用而言,G1 GC(Garbage-First Garbage Collector)无疑是一个强大的工具。本文将深入探讨G1 GC适…

XJTUSE-数据结构-homework2

当时写的还挺痛苦的 不过现在看,原老师布置的作业真的有水平 现在来看大二数据结构的作业,真的很锻炼代码能力。有些题目,我现在写也不一定能很快写出来hhhh 当时写的作业感觉还是存在问题的! 任务概述 任务 1 :指定的…

期末考试后,老师如何高效把成绩发给家长

期末考试终于结束了,老师们是不是感觉松了一口气呢?但是,成绩发布这个环节可不能马虎哦!今天,我就来跟大家分享一下如何高效地把成绩发给家长,让这个环节变得既轻松又高效! 先把最高效的方式告诉…

mac英语学习工具:Eudic欧路词典 for Mac 激活版

Eudic欧路词典是一款非常受欢迎的英语学习软件,它提供了丰富的词汇解释、例句、同义词、反义词等功能,帮助用户更好地理解和掌握英语单词。 以下是Eudic欧路词典的一些主要特点: 海量词汇库:Eudic欧路词典拥有庞大的词汇库&#…

树状数组——点修区查与区修点查

树状数组是一种代码量小,维护区间的数据结构 他可以实现: 1.区间修改,单点查询 2.单点修改,区间查询 当然,二者不可兼得,大人全都要的话,请选择线段树 前置知识: lowbit(x)操作…

前端vue项目升级nodejs后无法运行了

问题描述: 运行、打包都正常的vue项目,在将nodejs升级到v20.14.0后,均报错了: Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital envelope routines::initializ…

海外仓一件代发功能自动化:海外仓WMS系统配置方法

根据数据显示,2014-2019年短短几年之间,跨境电商销售总额增长了160%以上。这为跨境电商商家和海外仓,国际物流等服务端企业都提供了巨大的发展机遇。 然而,作为海外仓,要想服务好跨境电商,仓库作业的每一个…

Windows Server 2019部署网络负载均衡NLB服务的详细操作步骤

部署前准备 首先需要准备两台Windows Server 2019服务器,虚拟机创建请参考 VMware Workstation安装Windows Server2019系统详细操作步骤_安装windows server 2019操作系统(写出操作过程)-CSDN博客 克隆虚拟机请参考 VMware Workstation克隆虚拟机详细步骤-CSDN博…

【FFmpeg】av_write_frame函数

目录 1.av_write_frame1.1 写入pkt(write_packets_common)1.1.1 检查pkt的信息(check_packet)1.1.2 准备输入的pkt(prepare_input_packet)1.1.3 检查码流(check_bitstream)1.1.4 写入…

leetcode 403周赛 包含所有1的最小矩形面积||「暴力」

3197. 包含所有 1 的最小矩形面积 II 题目描述: 给你一个二维 二进制 数组 grid。你需要找到 3 个 不重叠、面积 非零 、边在水平方向和竖直方向上的矩形,并且满足 grid 中所有的 1 都在这些矩形的内部。 返回这些矩形面积之和的 最小 可能值。 注意…

AI写作革命:AI如何成为你的全能型写作助手

工欲善其事,必先利其器。 随着AI技术与各个行业或细分场景的深度融合,日常工作可使用的AI工具呈现出井喷式发展的趋势,AI工具的类别也从最初的AI文本生成、AI绘画工具,逐渐扩展到AI思维导图工具、AI流程图工具、AI生成PPT工具、AI…

肆拾玖坊的商业模式,49坊新零售奖金制度体系,众筹众创+会员制

肆拾玖坊之所以能够在短时间内成为白酒行业的“现象级”企业,,不仅是依靠独特商业模式,同时也依靠的是坚持用户为核心,围绕用户需求,让用户与产品直接产生连接理念。 坐标:厦门,我是易创客肖琳 深耕社交新零售行业10年,主要提供新零售系统工…

Windows 安装docker详细步骤说明

文章目录 1. 检查系统要求2. 启用硬件虚拟化3. 启用Hyper-V和容器功能4. 下载并安装Docker Desktop5. 配置Docker Desktop6. 安装WSL 27. 验证Docker安装8. 常见问题排查9. 重点说明参考资源 在Windows上安装Docker的详细步骤如下: 1. 检查系统要求 确保您的Window…

【CSAPP]-binarybomb实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果(可贴图) 操作异常问题与解决方案 实验总结 实验目的与要求 1. 增强学生对于程序的机器级表示、汇编语言、调试器和逆向工程等方面原理与技能的掌握。 2. 掌握使用gdb调试器…

Soul社交元宇宙智能连接安全相伴,打造值得用户信赖的社交环境

随着人工智能技术的快速发展,社交平台正在迎来一场革命性的变革。从智能推荐到情感分析,社交平台通过深度学习和数据分析为用户提供更加个性化、智能化的社交体验。与此同时,数字时代人们的安全意识正逐渐增强。为此,一个智能、安全的社交平台成为人们迫切需要。而新型社交平台…

CSRF verification failed. Request aborted.

最近在学习django,遇到这个问题。CSRF verification failed. Request aborted. 解决方案: 1、在Html template中加入csrf_token 2、在view.py中对应的view函数上加上装饰器 再启动运行,报错就解决了。

Zabbix HA高可用集群部署

Zabbix HA高可用集群介绍 关键基础设施通常需要高可用性 (HA),因为这些基础设施几乎不会造成停机。因此,对于任何可能失败的服务,都必须有一个故障转移选项,以便在当前服务失败时接管。 Zabbix 提供了易于设置的本机高可用性解决…