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>
|