Athexblackhat/BlueJack
GitHub: Athexblackhat/BlueJack
一款通过蓝牙模拟 HID 键盘执行 DuckyScript 按键注入攻击的渗透测试工具。
Stars: 1 | Forks: 1
# BlueJack - 蓝牙 HID 攻击工具
[](https://github.com/yourusername/bluejack)
[](https://www.python.org/)
[](https://opensource.org/licenses/MIT)
## ⚠️ 免责声明
**BlueJack 是一款专为授权安全评估设计的渗透测试工具。**
在未拥有或未获得明确测试许可的设备上擅自使用本工具是**违法的**。作者对因滥用本软件或由此造成的损害不承担任何责任。在进行安全测试之前,请务必获得适当的授权。
## 📋 目录
- [概述](#overview)
- [功能特性](#features)
- [工作原理](#how-it-works)
- [系统要求](#requirements)
- [安装说明](#installation)
- [使用方法](#usage)
- [Payload 示例](#payload-examples)
- [支持的命令](#supported-commands)
- [故障排除](#troubleshooting)
- [法律考量](#legal-considerations)
- [贡献指南](#contributing)
- [许可证](#license)
## 🔍 概述
**BlueJack** 是一款功能强大的蓝牙 HID(人机接口设备)攻击工具,它通过模拟蓝牙键盘在目标设备上执行 DuckyScript payload。通过伪装成合法的 HID 键盘,BlueJack 可以在存在漏洞的蓝牙设备上注入按键、执行命令并自动化攻击。
BlueJack 这个名字源于“jack”(劫持)的概念,旨在演示蓝牙自动配对和不安全 HID 实现所带来的风险。
## ✨ 功能特性
- **蓝牙 HID 模拟**:表现为标准蓝牙键盘
- **DuckyScript 支持**:执行用 DuckyScript 编写的自定义 payload
- **自动配对**:使用“NoInputNoOutput”配对代理实现无缝连接
- **连接恢复**:连接断开时自动重新连接
- **断点续传**:从上一次成功击键处继续执行 payload
- **设备扫描**:发现附近的蓝牙设备
- **已知设备存储**:持久化保存已发现的设备以备后用
- **彩色日志**:带有 ANSI 颜色的易读输出
- **跨平台 Payload**:适用于 Windows、macOS、Linux 和 Android
- **修饰键支持**:支持 GUI/Windows、CTRL、ALT、SHIFT 组合键
## 🛠 工作原理
```
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ BlueJack │ │ BlueZ Stack │ │ Target Device │
│ (Attacker) │◄───────►│ (Linux) │◄───────►│ (Victim) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ 1. Register HID Profile │ │
├──────────────────────────►│ │
│ │ 2. L2CAP Connection │
│ ├──────────────────────────►│
│ │ (PSM 17: HID Control) │
│ │ (PSM 19: HID Interrupt) │
│ │ │
│ 3. Pairing Request │ │
├──────────────────────────►│ │
│ │ 4. Auto-Pair (NoInput) │
│ ├──────────────────────────►│
│ │ │
│ 5. Send HID Reports │ │
├──────────────────────────►│──────────────────────────►│
│ (Keystroke Injection) │ │
│ │ │
```
**技术细节:**
1. **HID 配置文件注册**:BlueJack 通过 D-Bus 向 BlueZ 注册虚拟键盘配置文件
2. **L2CAP 通道**:在 PSM 17(HID 控制)和 PSM 19(HID 中断)上建立连接
3. **自动配对**:利用“NoInputNoOutput”能力在无需用户交互的情况下进行配对
4. **按键注入**:发送格式化为键盘输入的 HID 报告
5. **Payload 执行**:解析 DuckyScript 并将每个命令转换为 HID 使用码
## 📦 系统要求
### 系统要求
- **操作系统**:Linux(推荐 Ubuntu/Debian/Kali)
- **Python**:3.6 或更高版本
- **蓝牙适配器**:内置或 USB 蓝牙适配器
- **Root/Sudo 权限**:蓝牙操作所必需
## 🚀 安装说明
```
git clone https://github.com/Athexblackhat/BlueJack.git
cd BlueJack
python3 BlueJack.py
```
### 配置蓝牙
```bash
# 确保蓝牙服务正在运行
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
# 检查适配器状态
hciconfig
```
### 4. 创建目录结构
```bash
mkdir -p payloads
```
### 5. 验证安装
```bash
python3 BlueJack.py --help
```
## 💻 使用方法
### 基本用法
```bash
# 使用默认适配器 (hci0) 运行
sudo python3 BlueJack.py
# 指定不同的蓝牙适配器
sudo python3 BlueJack.py --adapter hci1
```
1. **选择目标**:输入 MAC 地址或扫描设备
2. **选择 Payload**:从 payloads/ 文件夹中可用的 .txt 文件中进行选择
3. **执行**:BlueJack 连接并开始按键注入
4. **监控**:查看控制台以获取进度和状态更新
### 示例会话
```
$ sudo python3 BlueJack.py
BBBBBBBBBBBBBBBBB LLLLLLLLLLL UUUUUUUU UUUUUUUUEEEEEEEEEEEEEEEEEEEEEE
B::::::::::::::::B L:::::::::L U::::::U U::::::UE::::::::::::::::::::E
B::::::BBBBBB:::::B L:::::::::L U::::::U U::::::UE::::::::::::::::::::E
BB:::::B B:::::BLL:::::::LL UU:::::U U:::::UUE::::::EEEEEEEEE::::
B::::B B:::::B L:::::L U:::::U U:::::U E:::::E EEEEEE
B::::B B:::::B L:::::L U:::::D D:::::U E:::::E
B::::BBBBBB:::::B L:::::L U:::::D D:::::U E::::::EEEEEEEEEE
B:::::::::::::BB L:::::L U:::::D D:::::U E:::::::::::::::E
B::::BBBBBB:::::B L:::::L U:::::D D:::::U E:::::::::::::::E
B::::B B:::::B L:::::L U:::::D D:::::U E::::::EEEEEEEEEE
B::::B B:::::B L:::::L U:::::D D:::::U E:::::E
B::::B B:::::B L:::::L LLLLU::::::U U::::::U E:::::E EEEEEE
BB:::::BBBBBB::::::BLL:::::::LLLLLLLLL:::U:::::::UUU:::::::UEE::::::::EEEEEEEE::::E
B:::::::::::::::::B L::::::::::::::::::::LU:::::::::::::::UU E::::::::::::::::::::E
B::::::::::::::::B L::::::::::::::::::::L U:::::::::::::U E::::::::::::::::::::E
BBBBBBBBBBBBBBBBB LLLLLLLLLLLLLLLLLLLLLLL UUUUUUUUUUU EEEEEEEEEEEEEEEEEEEEEE
Bluetooth HID Attack Tool
Version 2.0
======================================================================
BlueJack - Bluetooth HID Attack Tool
======================================================================
Remember, you can still attack devices without visibility...
If you have their MAC address
======================================================================
What is the target address? Leave blank and we will scan for you:
Attempting to scan now...
Found 3 nearby device(s):
1: Device Name: iPhone 14, Address: AA:BB:CC:DD:EE:FF
2: Device Name: Samsung Galaxy S22, Address: 11:22:33:44:55:66
3: Device Name: Dell XPS Laptop, Address: 77:88:99:AA:BB:CC
Select a device by number: 3
Available payloads:
1: windows_reverse_shell.txt
2: windows_info_grabber.txt
3: linux_quick_test.txt
Enter the number of the payload you want to load: 3
Selected payload: /home/user/bluejack/payloads/linux_quick_test.txt
[2024-01-15 10:30:15] - INFO - executing 'sudo service bluetooth restart'
[2024-01-15 10:30:16] - INFO - connecting to 77:88:99:AA:BB:CC on port 19
[2024-01-15 10:30:17] - INFO - Processing GUI SPACE
[2024-01-15 10:30:18] - INFO - Processing STRING Terminal
[2024-01-15 10:30:18] - NOTICE - Attempting to send letter: T
[2024-01-15 10:30:18] - NOTICE - Attempting to send letter: e
...
```
## 🔧 故障排除
### 常见问题与解决方案
#### 1. 权限被拒绝
**错误**:Unable to find adapter 'hci0'
**解决方案**:使用 sudo 权限运行
```bash
sudo python3 BlueJack.py
```
#### 2. 未找到蓝牙适配器
**错误**:Adapter not found
**解决方案**:检查适配器状态
```bash
hciconfig
sudo hciconfig hci0 up
```
#### 3. 连接失败
**错误**:Connection failure on port 19
**解决方案**:
- 确保目标设备处于可发现状态
- 检查蓝牙范围
- 重启蓝牙服务
#### 4. D-Bus 错误
**错误**:org.freedesktop.DBus.Error.ServiceUnknown
**解决方案**:确保 BlueZ 正在运行
```bash
sudo service bluetooth start
sudo systemctl restart dbus
```
#### 5. 配对失败
**错误**:Failed to initialize pairing agent
**解决方案**:
- 检查目标设备是否接受“NoInputNoOutput”配对
- 某些设备需要确认
- 尝试重新扫描
### ⚖️ 法律考量
#### 仅限授权使用
BlueJack 设计用于:
- **渗透测试**:授权的安全评估
- **安全研究**:了解蓝牙漏洞
- **教育目的**:学习 HID 攻击和蓝牙安全
- **合规性测试**:验证安全控制措施
#### 未经授权使用属于违法行为
在未获得明确许可的设备上使用 BlueJack 可能违反:
- 计算机欺诈与滥用法 (CFAA) - 美国
- 滥用计算机法 - 英国
- 其他司法管辖区的类似法律
- 隐私法规 (GDPR, CCPA)
#### 最佳实践
- **获取书面授权**:测试前务必获得书面许可
- **在隔离环境中使用**:尽可能在实验室环境中测试
- **记录一切**:保留授权测试活动的日志
- **负责任的披露**:向受影响的供应商报告漏洞
# 📄 许可证
本项目根据 MIT 许可证授权 - 详情如下:
MIT License
Copyright (c) 2024 BlueJack Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
**开发者**
*ATHEX BLACK HAT*标签:BadBluetooth, DuckyScript, HID攻击, Python安全工具, 人机接口设备, 协议分析, 按键注入, 权限提升, 物联网安全, 目录枚举, 移动安全, 自动配对攻击, 蓝牙攻击, 蓝牙键盘劫持, 输入设备模拟, 逆向工具, 键盘注入