Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DIY_WhisperPair — Перехват Bluetooth-аксессуаров с помощью Google Fast Pair: WhisperPair CVE-2025-36911 — эталонная реализация и набор инструментов для проверки уязвимости | Kitploit
Инструменты/GitHubGitHub/spectrixdev/diy_whisperpair
Безопасность BluetoothАнализ уязвимостейЭксплуатацияБезопасность беспроводных сетейТестирование на ПроникновениеБезопасность оборудования и IoTСтатьи и ИсследованияОбучение и Образование
GitHubspectrixdev/diy_whisperpair

DIY_WhisperPair

Перехват Bluetooth-аксессуаров с помощью Google Fast Pair: WhisperPair CVE-2025-36911 — эталонная реализация и набор инструментов для проверки уязвимости

Репозиторий
1031773 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

DIY-WhisperPair

CVE-2025-36911: Эталонная реализация и набор инструментов для проверки уязвимостей

Research CVE Status

ОФИЦИАЛЬНАЯ РЕАЛИЗАЦИЯ ТЕПЕРЬ ДОСТУПНА, спасибо команде из KU Leuven (Спасибо за упоминание)

ПРАВОВОЕ УВЕДОМЛЕНИЕ: Это инструмент для исследования безопасности. Прочтите LEGAL.md перед использованием. Несанкционированный доступ к компьютерным системам является уголовным преступлением.


Демонстрация WhisperPair

Что такое WhisperPair?

Перехват Bluetooth-аксессуаров с помощью Google Fast Pair.

WhisperPair (CVE-2025-36911) — это критическая уязвимость, которая позволяет злоумышленникам принудительно сопрягаться с флагманскими аудиоаксессуарами без согласия пользователя, часто менее чем за 10 секунд.

DIY-WhisperPair — это набор инструментов для исследования, реализующий эти атаки для демонстрации трех ключевых рисков:

  • Перехват устройства: Захват управления аудио- и микрофонными потоками путём обхода проверок режима сопряжения.
  • Отслеживание местоположения: Злонамеренная регистрация устройств в сети Google Find Hub для слежки за жертвами.
  • Межэкосистемное воздействие: Эксплуатация аксессуаров независимо от сопряжённого телефона (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

Правовые требования

У вас ДОЛЖНО быть разрешение

Этот инструмент выполняет активные 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-14 м) может:

  • Воспроизводить аудио через наушники жертвы
  • Получить доступ к микрофону для слежки
  • Отслеживать местоположение через Google Find Hub

Затронутые устройства (до исправления)

ПроизводительУстройства
Google

Структура проекта

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+
  • 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
  • Протокол сопряжения на основе ключа

Видео

Одним касанием взломать их всех


Ответственное использование

Этот инструмент предоставляется исключительно для:

  • Исследований безопасности и проверки уязвимостей
  • Авторизованного тестирования на проникновение
  • Валидации производителями устройств
  • Образовательных целей

НЕ для: Несанкционированного доступа, преследования, слежки или любой незаконной деятельности.


Лицензия

Лицензия MIT — см. LICENSE


Благодарности

  • SpectrixDev — Сопровождающий проекта
  • KU Leuven DistriNet — Оригинальное исследование
  • Команда безопасности Android от Google — Координированное раскрытие
  • Seytonic — Отличное поясняющее видео
Скачать инструмент
ЮрисдикцияСоответствующий закон
ВеликобританияЗакон о неправомерном использовании компьютеров 1990 г., разделы 1-3A
СШАЗакон о компьютерном мошенничестве и злоупотреблениях (CFAA)
ЕСДиректива 2013/40/EU
Германия§ 202a-c StGB
АвстралияУголовный кодекс 1995 г., часть 10.7
Pixel Buds Pro 2
SonyWF-1000XM4, WH-1000XM5, LinkBuds S
JBLTune Buds, Live Pro 2
AnkerSoundcore Liberty 4
ДругиеСм. whisperpair.eu