Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
DIY_WhisperPair — Sequestrando Acessórios Bluetooth Usando o Google Fast Pair: WhisperPair CVE-2025-36911 Implementação de Referência & Kit de Verificação de Vulnerabilidades | Kitploit
Ferramentas/GitHubGitHub/spectrixdev/diy_whisperpair
Segurança BluetoothAnálise de VulnerabilidadesExploraçãoSegurança Sem FioTestes de PenetraçãoSegurança de Hardware e IoTPapers e PesquisaAprendizado e Educação
GitHubspectrixdev/diy_whisperpair

DIY_WhisperPair

Sequestrando Acessórios Bluetooth Usando o Google Fast Pair: WhisperPair CVE-2025-36911 Implementação de Referência & Kit de Verificação de Vulnerabilidades

1031732há 4 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

DIY-WhisperPair

CVE-2025-36911 - Implementação de Referência e Kit de Verificação de Vulnerabilidade

Research CVE Status

IMPLEMENTAÇÃO OFICIAL AGORA DISPONÍVEL , graças à equipe da KU Leuven (Agradecimento)

AVISO LEGAL: Esta é uma ferramenta de pesquisa de segurança. Leia LEGAL.md antes de usar. O acesso não autorizado a sistemas de computador é crime.


Demonstração WhisperPair

O que é WhisperPair?

Sequestrando Acessórios Bluetooth Usando Google Fast Pair.

WhisperPair (CVE-2025-36911) é uma vulnerabilidade crítica que permite a atacantes parear forçadamente com acessórios de áudio flagship sem o consentimento do usuário, muitas vezes em menos de 10 segundos.

DIY-WhisperPair é um kit de ferramentas de pesquisa que implementa esses ataques para demonstrar três riscos principais:

  • Sequestro de Dispositivo: Assumir o controle dos fluxos de áudio e microfone ao ignorar as verificações do modo de pareamento.
  • Rastreamento de Localização: Registrar maliciosamente dispositivos na rede Google Find Hub para perseguir vítimas.
  • Impacto entre Ecossistemas: Explorar acessórios independentemente do telefone pareado (iOS ou Android).

[!NOTE] Apenas Pesquisa: Este kit contém Prova-de-Conceito de scanners e verificadores. Ele não inclui ferramentas para escuta ativa, rastreamento persistente de localização ou injeção maliciosa de payload. Seu propósito é unicamente identificar dispositivos vulneráveis.


Início Rápido

# Instalação
git clone https://github.com/SpectrixDev/DIY_WhisperPair.git
cd DIY_WhisperPair
pip install -e .

# Executar CLI interativa
whisperpair

Isso inicia um menu interativo:

╦ ╦╦ ╦╦╔═╗╔═╗╔═╗╦═╗╔═╗╔═╗╦╦═╗
║║║╠═╣║╚═╗╠═╝║╣ ╠╦╝╠═╝╠═╣║╠╦╝
╚╩╝╩ ╩╩╚═╝╩  ╚═╝╩╚═╩  ╩ ╩╩╩╚═

────────────── Menu Principal ──────────────

  1  Scan      Discover Fast Pair devices nearby
  2  Verify    Test device vulnerability (requires authorization)
  3  Info      Get detailed device information
  4  About     Learn about CVE-2025-36911
  0  Exit      Quit the application

Select option [1]:

Para Pesquisadores: API Python

Esta biblioteca foi projetada para ser facilmente extensível. Importe o que precisar:

Funções Simples

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

Construindo Ferramentas Personalizadas

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 Exemplo

Veja examples.py para exemplos prontos para copiar e colar:

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

Comandos da CLI

Modo Interativo (Padrão)

whisperpair

Comandos Diretos

# 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

Requisitos Legais

Você DEVE Ter Autorização

Esta ferramenta realiza operações Bluetooth ativas. Antes de executar qualquer comando de verificação, você deve possuir:

  1. Permissão por escrito do proprietário do dispositivo, OU
  2. Ser o proprietário do dispositivo

Leis Específicas por Jurisdição

JurisdiçãoLei Aplicável
Reino UnidoComputer Misuse Act 1990, Section 1-3A
Estados UnidosComputer Fraud and Abuse Act (CFAA)
União EuropeiaDirective 2013/40/EU
Alemanha§ 202a-c StGB
AustráliaCriminal Code Act 1995, Part 10.7

Consulte LEGAL.md para orientações detalhadas.


A Vulnerabilidade (CVE-2025-36911)

A Falha

O Google Fast Pair exige que os dispositivos aceitem solicitações de pareamento apenas quando estiverem em modo de pareamento. Muitos dispositivos não verificam isso:

ESPERADO: Dispositivo verifica "Estou em modo de pareamento?" → NÃO → Rejeitar
REAL:    Dispositivo aceita a solicitação independentemente do estado do modo

Como a Detecção Funciona

A vulnerabilidade é detectada verificando se um dispositivo responde a uma solicitação Key-Based Pairing quando não está em modo de pareamento:

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"]
Baixar ferramenta