hacktricks/radio-hacking/pentesting-ble-bluetooth-low-energy.md

157 lines
7.9 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 你在一家**网络安全公司**工作吗你想在HackTricks中看到你的**公司广告**吗?或者你想获得**PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram群组**](https://t.me/peass) 或 **关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **通过向[hacktricks repo](https://github.com/carlospolop/hacktricks)和[hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)提交PR来分享你的黑客技巧**。
2022-04-28 16:01:33 +00:00
</details>
2022-05-01 16:32:23 +00:00
2023-08-03 19:12:22 +00:00
# 介绍
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
自蓝牙4.0规范以来BLE仅使用40个信道覆盖2400至2483.5 MHz的范围。相比之下传统蓝牙在相同范围内使用79个信道。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
BLE设备通过发送**广告数据包****信标**进行通信这些数据包向其他附近设备广播BLE设备的存在。这些信标有时也会**发送数据**。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
监听设备,也称为中心设备,可以通过专门发送给广告设备的**扫描请求**来响应广告数据包。对该扫描的**响应**使用与**广告**数据包相同的结构,附加了无法放在初始广告请求中的其他信息,例如完整的设备名称。
2022-02-28 09:13:08 +00:00
2022-05-01 16:17:23 +00:00
![](<../.gitbook/assets/image (201) (2) (1) (1).png>)
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
前导字节用于同步频率,而四字节的访问地址是一个**连接标识符**,用于在多个设备尝试在相同信道上建立连接的情况下使用。接下来,协议数据单元(**PDU**)包含**广告数据**。有几种类型的PDU最常用的是ADV\_NONCONN\_IND和ADV\_IND。如果设备**不接受连接**,则使用**ADV\_NONCONN\_IND** PDU类型仅在广告数据包中传输数据。如果设备**允许连接**并且一旦**建立连接**就**停止发送广告**数据包,则使用**ADV\_IND**。
2022-02-28 09:13:08 +00:00
2022-05-01 16:32:23 +00:00
## GATT
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
**通用属性配置文件**GATT定义了**设备应如何格式化和传输数据**。当你分析BLE设备的攻击面时通常会集中注意力在GATT或GATTs因为它是触发**设备功能**和存储、分组和修改数据的方式。GATT以16位或32位值的形式在表中列出设备的特征、描述符和服务。**特征**是在中心设备和外围设备之间**发送的数据值**。这些特征可以有**描述符****提供有关它们的附加信息**。如果特征与执行特定操作相关,则通常将其**分组**在**服务**中。
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
# 枚举
2022-02-28 09:13:08 +00:00
```bash
hciconfig #Check config, check if UP or DOWN
# If DOWN try:
sudo modprobe -c bluetooth
sudo hciconfig hci0 down && sudo hciconfig hci0 up
# Spoof MAC
spooftooph -i hci0 -a 11:22:33:44:55:66
```
2022-05-01 16:32:23 +00:00
## GATTool
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
**GATTool** 允许与另一个设备建立连接,列出该设备的特征,并读取和写入其属性。\
GATTTool可以使用`-I`选项启动交互式shell
2022-02-28 09:13:08 +00:00
```bash
gatttool -i hci0 -I
[ ][LE]> connect 24:62:AB:B1:A8:3E Attempting to connect to A4:CF:12:6C:B3:76 Connection successful
[A4:CF:12:6C:B3:76][LE]> characteristics
2023-08-03 19:12:22 +00:00
handle: 0x0002, char properties: 0x20, char value handle:
0x0003, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0015, char properties: 0x02, char value handle:
0x0016, uuid: 00002a00-0000-1000-8000-00805f9b34fb
2022-02-28 09:13:08 +00:00
[...]
# Write data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-write-req <characteristic handle> -n <value>
gatttool -b a4:cf:12:6c:b3:76 --char-write-req -a 0x002e -n $(echo -n "04dc54d9053b4307680a"|xxd -ps)
# Read data
gatttool -i <Bluetooth adapter interface> -b <MAC address of device> --char-read -a 0x16
# Read connecting with an authenticated encrypted connection
gatttool --sec-level=high -b a4:cf:12:6c:b3:76 --char-read -a 0x002c
```
2022-05-01 16:32:23 +00:00
## Bettercap
2022-02-28 09:13:08 +00:00
2023-08-03 19:12:22 +00:00
Bettercap是一款功能强大的网络安全工具用于执行中间人攻击和网络嗅探。它支持蓝牙低功耗BLE的渗透测试可以用于探测和利用BLE设备的漏洞。
### 安装
要安装Bettercap请按照以下步骤操作
1. 首先确保您的系统上已安装Go语言环境。
2. 使用以下命令从GitHub上克隆Bettercap的存储库
```
git clone https://github.com/bettercap/bettercap
```
3. 进入克隆的存储库目录:
```
cd bettercap
```
4. 使用以下命令构建和安装Bettercap
```
make build
sudo make install
```
### 使用Bettercap进行BLE渗透测试
要使用Bettercap进行BLE渗透测试请按照以下步骤操作
1. 首先,确保您的系统上已启用蓝牙适配器。
2. 使用以下命令启动Bettercap并选择蓝牙低功耗模块
```
sudo bettercap -caplet ble.cap
```
3. 在Bettercap命令行界面中使用以下命令扫描附近的BLE设备
```
ble.recon on
```
4. 扫描完成后,使用以下命令选择目标设备:
```
ble.recon.targets
ble.recon.target <target_mac_address>
```
5. 选择目标设备后使用以下命令执行BLE渗透测试
```
ble.recon <target_mac_address>
```
6. Bettercap将显示目标设备的详细信息并提供执行各种攻击的选项。
请注意使用Bettercap进行BLE渗透测试可能涉及违反法律和道德规范。请仅在合法授权的范围内使用此工具并遵守适用的法律和规定。
2022-02-28 09:13:08 +00:00
```bash
# Start listening for beacons
sudo bettercap --eval "ble.recon on"
# Wait some time
>> ble.show # Show discovered devices
>> ble.enum <mac addr> # This will show the service, characteristics and properties supported
# Write data in a characteristic
>> ble.write <MAC ADDR> <UUID> <HEX DATA>
>> ble.write <mac address of device> ff06 68656c6c6f # Write "hello" in ff06
```
2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks 云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 你在一家**网络安全公司**工作吗?想要在 HackTricks 中**宣传你的公司**吗?或者你想要**获取最新版本的 PEASS 或下载 HackTricks 的 PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 发现我们的独家 NFT 收藏品[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- 获取[**官方 PEASS & HackTricks 商品**](https://peass.creator-spring.com)
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **加入** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass),或者**关注**我在**推特**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
- **通过向 [hacktricks 仓库](https://github.com/carlospolop/hacktricks) 和 [hacktricks-cloud 仓库](https://github.com/carlospolop/hacktricks-cloud) 提交 PR 来分享你的黑客技巧**。
2022-04-28 16:01:33 +00:00
</details>