Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DIY_WhisperPair — Google Fast Pairを使用したBluetoothアクセサリのハイジャック: WhisperPair CVE-2025-36911 参照実装および脆弱性検証ツールキット | Kitploit
ツール/GitHubGitHub/spectrixdev/diy_whisperpair
Bluetoothセキュリティ脆弱性分析エクスプロイトワイヤレスセキュリティペネトレーションテストハードウェアとIoTセキュリティ論文と研究学習と教育
GitHubspectrixdev/diy_whisperpair

DIY_WhisperPair

Google Fast Pairを使用したBluetoothアクセサリのハイジャック: WhisperPair CVE-2025-36911 参照実装および脆弱性検証ツールキット

リポジトリを見る
1031773ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DIY-WhisperPair

CVE-2025-36911 リファレンス実装 & 脆弱性検証ツールキット

Research CVE Status

公式実装が公開されました。KU Leuven チームに感謝します(お礼のコメント)

法的注意事項: これはセキュリティ研究ツールです。使用前に LEGAL.md をお読みください。コンピュータシステムへの不正アクセスは犯罪行為です。


WhisperPair デモンストレーション

WhisperPair とは?

Google Fast Pair を使用した Bluetooth アクセサリの乗っ取り

WhisperPair(CVE-2025-36911)は、攻撃者がユーザーの同意なしに、フラッグシップのオーディオアクセサリと強制的にペアリングできる重大な脆弱性であり、多くの場合 10 秒以内で完了します。

DIY-WhisperPair は、これらの攻撃を実装し、以下の 3 つの主要なリスクを実証する研究用ツールキットです:

  • デバイス乗っ取り: ペアリングモードのチェックをバイパスして、オーディオおよびマイクストリームの制御を掌握します。
  • 位置情報追跡: Google の Find Hub ネットワークに悪意を持ってデバイスを登録し、被害者をストーキングします。
  • クロスエコシステムの影響: ペアリングされているスマートフォン(iOS または Android)に関係なく、アクセサリを悪用します。

[!NOTE] 研究目的のみ: このツールキットには、概念実証のスキャナーと検証プログラムが含まれています。アクティブな盗聴、永続的な位置追跡、悪意のあるペイロード注入のためのツールは含まれていません。その目的は脆弱なデバイスを特定することだけです。


クイックスタート

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

# Run interactive 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

# Scan for Fast Pair devices
devices = asyncio.run(scan_devices(timeout=10))
for d in devices:
    print(f"{d.address} - {d.name} - Risk: {'HIGH' if not d.is_in_pairing_mode else 'Low'}")

# Find only vulnerable devices (not in pairing mode)
vulnerable = asyncio.run(scan_devices(vulnerable_only=True))

# Verify a specific device (REQUIRES AUTHORIZATION)
result = asyncio.run(verify_device("AA:BB:CC:DD:EE:FF"))
if result.success:
    print(f"VULNERABLE - Provider: {result.provider_address}")

# Get device info
info = asyncio.run(get_device_info("AA:BB:CC:DD:EE:FF"))
print(f"Model: {info['model_name']}")

カスタムツールの構築

root@kitploit:~
from whisperpair import (
    # Scanner
    FastPairScanner,
    FastPairDevice,
    
    # Client  
    FastPairClient,
    VerificationResult,
    
    # Protocol
    KeyBasedPairingRequest,
    KeyBasedPairingResponse,
    PairingRequestFlags,
    parse_bluetooth_address,
    parse_kbp_response_multi_strategy,
    
    # Crypto
    FastPairCrypto,
    aes_128_encrypt,
    aes_128_decrypt,
    generate_account_key,
    
    # Constants
    FAST_PAIR_SERVICE_UUID,
    KEY_BASED_PAIRING_CHAR_UUID,
    KNOWN_MODEL_IDS,
)

# Custom scanner with callbacks
def on_found(device: FastPairDevice):
    if not device.is_in_pairing_mode:
        print(f"[!] Potential target: {device.address}")

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

# Build raw protocol packets (flags 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-byte plaintext

# Multiple verification strategies available:
# - strategy_raw_kbp()      - flags 0x11, works on most vulnerable devices
# - strategy_with_seeker()  - flags 0x02, includes seeker address
# - strategy_retroactive()  - flags 0x0A, bypasses some checks
# - strategy_extended()     - flags 0x10, for newer devices

# Full custom flow (AES key optional - response detection alone indicates vulnerability)
async with FastPairClient("AA:BB:CC:DD:EE:FF") as client:
    model_id = await client.read_model_id()
    result = await client.verify_pairing_behavior()  # No key needed for detection
    if result.response_received:
        print("VULNERABLE - device responded when it shouldn't")

サンプルスクリプト

コピー&ペーストですぐに使えるサンプルは examples.py を参照してください:

root@kitploit:~
python examples.py scan              # Basic scanning
python examples.py vulnerable        # Find vulnerable devices
python examples.py verify AA:BB:CC:DD:EE:FF
python examples.py custom            # Scanner with callbacks

CLI コマンド

インタラクティブモード(デフォルト)

root@kitploit:~
whisperpair

直接コマンド

root@kitploit:~
# Scan for devices
whisperpair scan
whisperpair scan --vulnerable
whisperpair scan --timeout 15

# Get device info
whisperpair info AA:BB:CC:DD:EE:FF

# Verify vulnerability (requires flags)
whisperpair verify AA:BB:CC:DD:EE:FF --authorized

# Learn about the vulnerability
whisperpair about

法的要件

許可が必要です

このツールはアクティブな Bluetooth 操作を行います。検証コマンドを実行する前に、以下が必須です:

  1. デバイス所有者からの書面による許可があること、または
  2. 自身でデバイスを所有していること

管轄区域ごとの法律

詳細なガイダンスについては LEGAL.md を参照してください。


脆弱性(CVE-2025-36911)

欠陥

Google Fast Pair では、デバイスがペアリングモードの場合にのみペアリング要求を受け入れる必要があります。多くのデバイスがこのチェックに失敗します:

root@kitploit:~
期待される動作: デバイスは「ペアリングモードか?」をチェック → いいえ → 拒否
実際の動作:   デバイスはモード状態に関係なく要求を受け入れる

検出の仕組み

この脆弱性は、デバイスがペアリングモードでないときに Key-Based Pairing 要求に対して応答するかどうか をチェックすることで検出されます:

root@kitploit:~
graph TD
    subgraph Packet["Key-Based Pairing Request (16 bytes)"]
      direction LR
      B0["0x00"]
      B1["0x11"]
      MAC["MAC: 6 bytes"]
      Salt["Salt: 8 bytes"]
    end

    B0:::byte -- "Message Type" --> Desc0["Key-Based Pairing Request"]
    B1:::byte -- "Flags" --> Desc1["INITIATE_BONDING | EXTENDED_RESP"]

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

検出:応答を受信 = 脆弱(AES 鍵は不要!)

影響

Bluetooth 範囲内(約 10~14m)の攻撃者は以下を行えます:

  • 被害者のヘッドフォンを通じて音声を再生
  • 盗聴するためにマイクにアクセス
  • Google Find Hub を介して位置情報を追跡

影響を受けるデバイス(パッチ適用前)

メーカーデバイス
GooglePixel Buds Pro 2

プロジェクト構造

root@kitploit:~
DIY_WhisperPair/
├── src/whisperpair/
│   ├── __init__.py      # Public API exports
│   ├── scanner.py       # BLE device discovery
│   ├── client.py        # GATT client & verification
│   ├── protocol.py      # Packet builders
│   ├── crypto.py        # AES-128, ECDH, keys
│   ├── constants.py     # UUIDs, Model IDs
│   └── cli.py           # Interactive CLI
├── examples.py          # Copy-paste code snippets
├── security_demo.py     # Standalone verification demo
├── 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+
  • Bluetooth アダプター(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 Spec
  • Key-based Pairing Protocol

動画

One Tap to Hijack Them All


責任ある使用

このツールは専ら以下の目的で提供されます:

  • セキュリティ研究および脆弱性検証
  • 許可された侵入テスト
  • デバイスメーカーによる検証
  • 教育目的

対象外: 不正アクセス、嫌がらせ、監視、または違法行為。


ライセンス

MIT License - LICENSE を参照


謝辞

  • SpectrixDev - プロジェクトメンテナー
  • KU Leuven DistriNet - オリジナル研究
  • Google Android Security Team - 協調的な開示
  • Seytonic - 優れた解説動画
ツールをダウンロード
管轄区域関連法
英国Computer Misuse Act 1990, Section 1-3A
米国Computer Fraud and Abuse Act (CFAA)
EUDirective 2013/40/EU
ドイツ§ 202a-c StGB
オーストラリアCriminal Code Act 1995, Part 10.7
SonyWF-1000XM4, WH-1000XM5, LinkBuds S
JBLTune Buds, Live Pro 2
AnkerSoundcore Liberty 4
その他whisperpair.eu を参照