Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DIY_WhisperPair — Secuestro de accesorios Bluetooth mediante Google Fast Pair: WhisperPair CVE-2025-36911 Implementación de referencia y kit de verificación de vulnerabilidades | Kitploit
Herramientas/GitHubGitHub/spectrixdev/diy_whisperpair
Seguridad BluetoothAnálisis de VulnerabilidadesExplotaciónSeguridad InalámbricaPruebas de PenetraciónSeguridad de Hardware e IoTPapers e InvestigaciónAprendizaje y Educación
GitHubspectrixdev/diy_whisperpair

DIY_WhisperPair

Secuestro de accesorios Bluetooth mediante Google Fast Pair: WhisperPair CVE-2025-36911 Implementación de referencia y kit de verificación de vulnerabilidades

Ver Repositorio
10317hace 2 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

DIY-WhisperPair

Implementación de referencia de CVE-2025-36911 y kit de verificación de vulnerabilidades

Research CVE Status

IMPLEMENTACIÓN OFICIAL YA DISPONIBLE, gracias al equipo de KU Leuven (Gracias por la mención)

AVISO LEGAL: Esta es una herramienta de investigación de seguridad. Lee LEGAL.md antes de usarla. El acceso no autorizado a sistemas informáticos es un delito.


Demostración de WhisperPair

¿Qué es WhisperPair?

Secuestro de accesorios Bluetooth mediante Google Fast Pair.

WhisperPair (CVE-2025-36911) es una vulnerabilidad crítica que permite a los atacantes emparejarse forzosamente con accesorios de audio de gama alta sin el consentimiento del usuario, a menudo en menos de 10 segundos.

DIY-WhisperPair es un kit de investigación que implementa estos ataques para demostrar tres riesgos clave:

  • Secuestro del dispositivo: Tomar el control de los flujos de audio y micrófono eludiendo las comprobaciones del modo de emparejamiento.
  • Seguimiento de ubicación: Registrar dispositivos de forma maliciosa en la red Find Hub de Google para espiar a las víctimas.
  • Impacto entre ecosistemas: Explotar accesorios independientemente del teléfono emparejado (iOS o Android).

[!NOTE] Solo investigación: Este kit contiene escáneres y verificadores de Prueba de Concepto. No incluye herramientas para escuchas activas, seguimiento de ubicación persistente o inyección de cargas maliciosas. Su propósito es únicamente identificar dispositivos vulnerables.


Inicio rápido

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

# Ejecutar CLI interactivo
whisperpair

Esto lanza un menú interactivo:

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

────────────── Menú Principal ──────────────

  1  Escanear   Descubrir dispositivos Fast Pair cercanos
  2  Verificar  Comprobar la vulnerabilidad del dispositivo (requiere autorización)
  3  Info       Obtener información detallada del dispositivo
  4  Acerca de  Aprender sobre CVE-2025-36911
  0  Salir      Cerrar la aplicación

Selecciona una opción [1]:

Para investigadores: API de Python

Esta librería está diseñada para ser fácilmente extensible. Importa lo que necesites:

Funciones simples

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']}")

Construcción de herramientas personalizadas

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")

Scripts de ejemplo

Consulta examples.py para ver ejemplos listos para copiar y pegar:

root@kitploit:~
python examples.py scan              # Escaneo básico
python examples.py vulnerable        # Encontrar dispositivos vulnerables
python examples.py verify AA:BB:CC:DD:EE:FF
python examples.py custom            # Escáner con callbacks

Comandos CLI

Modo interactivo (predeterminado)

root@kitploit:~
whisperpair

Comandos directos

root@kitploit:~
# Escanear dispositivos
whisperpair scan
whisperpair scan --vulnerable
whisperpair scan --timeout 15

# Obtener información del dispositivo
whisperpair info AA:BB:CC:DD:EE:FF

# Verificar vulnerabilidad (requiere flags)
whisperpair verify AA:BB:CC:DD:EE:FF --authorized

# Aprender sobre la vulnerabilidad
whisperpair about

Requisitos legales

Debes TENER Autorización

Esta herramienta realiza operaciones Bluetooth activas. Antes de ejecutar cualquier comando de verificación, debes contar con:

  1. Permiso por escrito del propietario del dispositivo, O
  2. Ser el propietario del dispositivo

Leyes específicas por jurisdicción

Consulta LEGAL.md para obtener una guía detallada.


La vulnerabilidad (CVE-2025-36911)

El fallo

Google Fast Pair exige que los dispositivos solo acepten solicitudes de emparejamiento cuando están en modo de emparejamiento. Muchos dispositivos no superan esta comprobación:

root@kitploit:~
ESPERADO: El dispositivo comprueba "¿Estoy en modo de emparejamiento?" → NO → Rechazar
REAL:     El dispositivo acepta la solicitud independientemente del estado del modo

Cómo funciona la detección

La vulnerabilidad se detecta comprobando si un dispositivo responde en absoluto a una solicitud de emparejamiento basada en clave (Key-Based Pairing) cuando no está en modo de emparejamiento:

root@kitploit:~
graph TD
    subgraph Packet["Solicitud de emparejamiento basada en clave (16 bytes)"]
      direction LR
      B0["0x00"]
      B1["0x11"]
      MAC["MAC: 6 bytes"]
      Salt["Salt: 8 bytes"]
    end

    B0:::byte -- "Tipo de mensaje" --> Desc0["Solicitud de emparejamiento basada en clave"]
    B1:::byte -- "Flags" --> Desc1["INITIATE_BONDING | EXTENDED_RESP"]

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

Detección: respuesta recibida = VULNERABLE (¡no se necesita clave AES!)

Impacto

Un atacante dentro del alcance Bluetooth (~10-14 m) puede:

  • Reproducir audio a través de los auriculares de la víctima
  • Acceder al micrófono para vigilancia
  • Rastrear la ubicación mediante Google Find Hub

Dispositivos afectados (antes del parche)

FabricanteDispositivos
Google

Estructura del proyecto

root@kitploit:~
DIY_WhisperPair/
├── src/whisperpair/
│   ├── __init__.py      # Exportaciones de la API pública
│   ├── scanner.py       # Descubrimiento de dispositivos BLE
│   ├── client.py        # Cliente GATT y verificación
│   ├── protocol.py      # Constructores de paquetes
│   ├── crypto.py        # AES-128, ECDH, claves
│   ├── constants.py     # UUIDs, IDs de modelo
│   └── cli.py           # CLI interactivo
├── examples.py          # Fragmentos de código listos para copiar
├── security_demo.py     # Demo de verificación independiente
├── LEGAL.md
└── README.md

Instalación

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 .

Requisitos

  • Python 3.10+
  • Adaptador Bluetooth compatible con BLE
  • Linux: BlueZ 5.50+
  • Windows: Windows 10 1703+
  • macOS: macOS 10.13+

Referencias

Investigación original

  • Sitio web: whisperpair.eu
  • CVE: CVE-2025-36911
  • Artículo: "WhisperPair: Hijacking Bluetooth Accessories Using Google Fast Pair"
  • Autores: KU Leuven DistriNet (Duttagupta, Antonijević, Preneel, Wyns, Singelée)

Documentación técnica

  • Especificación de Google Fast Pair
  • Protocolo de emparejamiento basado en clave

Vídeo

Un toque para secuestrarlos a todos


Uso responsable

Esta herramienta se proporciona exclusivamente para:

  • Investigación de seguridad y verificación de vulnerabilidades
  • Pruebas de penetración autorizadas
  • Validación por parte de fabricantes de dispositivos
  • Fines educativos

NO para: Acceso no autorizado, acoso, vigilancia o cualquier actividad ilegal.


Licencia

Licencia MIT - Consulta LICENSE


Agradecimientos

  • SpectrixDev - Mantenedor del proyecto
  • KU Leuven DistriNet - Investigación original
  • Google Android Security Team - Divulgación coordinada
  • Seytonic - Excelente vídeo explicativo
Descargar herramienta
JurisdicciónLey aplicable
Reino UnidoComputer Misuse Act 1990, Secciones 1-3A
EE. UU.Computer Fraud and Abuse Act (CFAA)
UEDirectiva 2013/40/UE
Alemania§ 202a-c StGB
AustraliaCriminal Code Act 1995, Parte 10.7
Pixel Buds Pro 2
SonyWF-1000XM4, WH-1000XM5, LinkBuds S
JBLTune Buds, Live Pro 2
AnkerSoundcore Liberty 4
OtrosConsulta whisperpair.eu