
Python 3.8+
Bluetooth
Platform
BLUE-SPY (Bluetooth Low Energy Universal Exploit - Security Penetration Testing) 是一个专业的安全评估工具,旨在帮助安全研究人员和渗透测试人员深入分析并演示 CVE-2025-36911 漏洞对 Google Fast Pair 协议实现的影响。该项目提供了一个交互式终端界面,能够对附近的蓝牙低功耗设备进行枚举、漏洞评估、连接测试,并在授权环境下进行音频捕获,是理解和防御此类高级蓝牙安全威胁的利器。
⚠️ 法律与道德警告: 本软件仅供授权的安全研究和道德测试使用。未经设备所有者明确书面许可,使用本工具对任何设备进行测试均属非法行为,可能导致严重的刑事和民事处罚。您必须为您的所有行为承担全部责任。
BLUE-SPY 将复杂的漏洞利用过程封装在一个易于使用的工具中,其核心功能包括:
BLUE-SPY 主要针对 Linux 系统开发(特别是基于 Debian 的发行版如 Ubuntu, Kali Linux),并依赖于系统的蓝牙协议栈。
bleak 和 cryptography 等 Python 库,用于蓝牙通信和加密操作。pip3 install bleak cryptography完成安装后,您可以通过启动交互式终端来开始使用 BLUE-SPY。
在项目根目录下运行主脚本:
python3 blue_spy_terminal.py如果一切正常,您将看到 BLUE-SPY 的彩色 Banner 和交互式提示符。
AA:BB:CC:DD:EE:FF),可以尝试利用 HFP 连接进行验证。BLUE-SPY > use AA:BB:CC:DD:EE:FF
BLUE-SPY (target: Target_Device) > attack --profile hfp该命令将针对选定设备发起 HFP 连接尝试,并实时显示连接状态和数据交互。以下是项目中两个核心组件的代码片段,展示了其工作机制。
1. Fast Pair 设备数据模型 (**fast_pair_exploit.py**)
此段代码定义了如何表示一个发现的 Fast Pair 设备,包括其基本信息和漏洞评估结果。
@dataclass
class FastPairDevice:
"""Real Fast Pair device with all discovered data"""
address: str
name: str
rssi: int
model_id: str
flags: int
tx_power: int
discovered_at: str
manufacturer_data: Dict[str, str]
services: List[str]
# Vulnerability assessment
vulnerability_status: str = "Unknown"
vulnerability_score: int = 0
vulnerability_reasons: List[str] = None
is_fast_pair: bool = True
def __post_init__(self):
if self.vulnerability_reasons is None:
self.vulnerability_reasons = []
def to_dict(self) -> Dict:
return asdict(self)
def __str__(self) -> str:
return f"{self.name} ({self.address}) - Model: {self.model_id} - RSSI: {self.rssi}dBm"2. 交互式终端主类 (**blue_spy_terminal.py**)
此段代码是交互式终端 BlueSpyTerminal 的初始化部分,负责初始化漏洞利用引擎、设置终端颜色,并检查依赖是否安装。
class BlueSpyTerminal:
"""
Interactive terminal interface for BLUE-SPY
"""
def __init__(self):
# 尝试导入并初始化漏洞利用引擎
try:
from fast_pair_exploit import FastPairExploitEngine, FastPairDevice
self.engine = FastPairExploitEngine()
ENGINE_AVAILABLE = True
except ImportError as e:
print(f"Error importing exploit engine: {e}")
print("Make sure fast_pair_exploit.py exists in the current directory")
self.engine = None
ENGINE_AVAILABLE = False
self.current_devices: List[FastPairDevice] = []
self.running = True
self.last_scan_time = None
# 定义终端颜色,提升可读性
self.COLOR = {
'RED': '\033[91m',
'GREEN': '\033[92m',
'YELLOW': '\033[93m',
'BLUE': '\033[94m',
'MAGENTA': '\033[95m',
'CYAN': '\033[96m',
'WHITE': '\033[97m',
'RESET': '\033[0m',
'BOLD': '\033[1m'
}
# 检查引擎是否可用
if not ENGINE_AVAILABLE:
self.print_error("Fast Pair Exploit Engine not available")
self.print_error("Make sure fast_pair_exploit.py exists and dependencies are installed")
self.print_error("Required: pip install bleak cryptography")
```FINISHED6HFtX5dABrKlqXeO5PUv/2EdRyJgzE8fn13x/ZbE2/U=
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。