2022-04-28 16:01:33 +00:00
< details >
2024-01-09 15:47:59 +00:00
< summary > < strong > 零基础学习AWS黑客攻击成为英雄< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > ! < / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-01-09 15:47:59 +00:00
支持HackTricks的其他方式:
2022-04-28 16:01:33 +00:00
2024-01-09 15:47:59 +00:00
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组** ](https://discord.gg/hRep4RUj7f )或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm** ](https://twitter.com/carlospolopm )**。**
* **通过向** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) 和 [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github仓库提交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
2024-01-09 15:47:59 +00:00
自蓝牙4.0规范以来, BLE仅使用40个频道, 覆盖2400至2483.5 MHz范围。相比之下, 传统蓝牙在同一范围内使用79个频道。
2022-02-28 09:13:08 +00:00
2024-01-09 15:47:59 +00:00
BLE设备通过发送**广告包**( **信标**) 来通信, 这些包将BLE设备的存在广播给附近的其他设备。这些信标有时也**发送数据**。
2022-02-28 09:13:08 +00:00
2024-01-09 15:47:59 +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
2024-01-09 15:47:59 +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
2024-01-09 15:47:59 +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
2024-01-09 15:47:59 +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
```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 >
2024-01-09 15:47:59 +00:00
< summary > < strong > 从零到英雄学习AWS黑客攻击, 通过< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE (HackTricks AWS Red Team Expert)< / strong > < / a > < strong > ! < / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-01-09 15:47:59 +00:00
支持HackTricks的其他方式:
2022-04-28 16:01:33 +00:00
2024-01-09 15:47:59 +00:00
* 如果您想在**HackTricks中看到您的公司广告**或**下载HackTricks的PDF版本**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
* 获取[**官方PEASS & HackTricks商品**](https://peass.creator-spring.com)
* 发现[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们独家的[**NFTs系列**](https://opensea.io/collection/the-peass-family)
* **加入** 💬 [**Discord群组** ](https://discord.gg/hRep4RUj7f )或[**telegram群组**](https://t.me/peass)或在**Twitter** 🐦 上**关注**我 [**@carlospolopm** ](https://twitter.com/carlospolopm )**。**
* **通过向** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) 和 [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) github仓库提交PR来分享您的黑客技巧。
2022-04-28 16:01:33 +00:00
< / details >