7.9 KiB
☁️ HackTricks云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一家网络安全公司工作吗?你想在HackTricks中看到你的公司广告吗?或者你想获得PEASS的最新版本或下载PDF格式的HackTricks吗?请查看订阅计划!
-
发现我们的独家NFTs收藏品The PEASS Family
-
加入 💬 Discord群组 或 Telegram群组 或 关注我在Twitter上的🐦@carlospolopm。
-
通过向hacktricks repo和hacktricks-cloud repo提交PR来分享你的黑客技巧。
介绍
自蓝牙4.0规范以来,BLE仅使用40个信道,覆盖2400至2483.5 MHz的范围。相比之下,传统蓝牙在相同范围内使用79个信道。
BLE设备通过发送广告数据包(信标)进行通信,这些数据包向其他附近设备广播BLE设备的存在。这些信标有时也会发送数据。
监听设备,也称为中心设备,可以通过专门发送给广告设备的扫描请求来响应广告数据包。对该扫描的响应使用与广告数据包相同的结构,附加了无法放在初始广告请求中的其他信息,例如完整的设备名称。
前导字节用于同步频率,而四字节的访问地址是一个连接标识符,用于在多个设备尝试在相同信道上建立连接的情况下使用。接下来,协议数据单元(PDU)包含广告数据。有几种类型的PDU,最常用的是ADV_NONCONN_IND和ADV_IND。如果设备不接受连接,则使用ADV_NONCONN_IND PDU类型,仅在广告数据包中传输数据。如果设备允许连接并且一旦建立连接就停止发送广告数据包,则使用ADV_IND。
GATT
通用属性配置文件(GATT)定义了设备应如何格式化和传输数据。当你分析BLE设备的攻击面时,通常会集中注意力在GATT(或GATTs)上,因为它是触发设备功能和存储、分组和修改数据的方式。GATT以16位或32位值的形式在表中列出设备的特征、描述符和服务。特征是在中心设备和外围设备之间发送的数据值。这些特征可以有描述符,提供有关它们的附加信息。如果特征与执行特定操作相关,则通常将其分组在服务中。
枚举
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
GATTool
GATTool 允许与另一个设备建立连接,列出该设备的特征,并读取和写入其属性。
GATTTool可以使用-I
选项启动交互式shell:
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
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
[...]
# 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
Bettercap
Bettercap是一款功能强大的网络安全工具,用于执行中间人攻击和网络嗅探。它支持蓝牙低功耗(BLE)的渗透测试,可以用于探测和利用BLE设备的漏洞。
安装
要安装Bettercap,请按照以下步骤操作:
-
首先,确保您的系统上已安装Go语言环境。
-
使用以下命令从GitHub上克隆Bettercap的存储库:
git clone https://github.com/bettercap/bettercap
-
进入克隆的存储库目录:
cd bettercap
-
使用以下命令构建和安装Bettercap:
make build sudo make install
使用Bettercap进行BLE渗透测试
要使用Bettercap进行BLE渗透测试,请按照以下步骤操作:
-
首先,确保您的系统上已启用蓝牙适配器。
-
使用以下命令启动Bettercap并选择蓝牙低功耗模块:
sudo bettercap -caplet ble.cap
-
在Bettercap命令行界面中,使用以下命令扫描附近的BLE设备:
ble.recon on
-
扫描完成后,使用以下命令选择目标设备:
ble.recon.targets ble.recon.target <target_mac_address>
-
选择目标设备后,使用以下命令执行BLE渗透测试:
ble.recon <target_mac_address>
-
Bettercap将显示目标设备的详细信息,并提供执行各种攻击的选项。
请注意,使用Bettercap进行BLE渗透测试可能涉及违反法律和道德规范。请仅在合法授权的范围内使用此工具,并遵守适用的法律和规定。
# 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
☁️ HackTricks 云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
-
你在一家网络安全公司工作吗?想要在 HackTricks 中宣传你的公司吗?或者你想要获取最新版本的 PEASS 或下载 HackTricks 的 PDF吗?请查看订阅计划!
-
发现我们的独家 NFT 收藏品The PEASS Family
-
加入 💬 Discord 群组 或 Telegram 群组,或者关注我在推特上的🐦@carlospolopm。
-
通过向 hacktricks 仓库 和 hacktricks-cloud 仓库 提交 PR 来分享你的黑客技巧。