一、Ubertooth

        Ubertooth One 是一款开源的无线通信设备,专为蓝牙低功耗(BLE)嗅探和分析设计。它基于 LPC175x ARM 微控制器和 CC2400 射频收发器,能够捕获 2.4 GHz 频段的无线数据包,包括 BLE 和经典蓝牙信号。

        Ubertooth One 配备三个 LED 指示灯(RST、1.8V、USB)用于状态显示,硬件支持 USB 接口与计算机连接,并通过开源软件(如 ubertooth 工具包)实现功能扩展,广泛应用于无线安全研究、协议逆向工程和设备调试,是蓝牙嗅探的理想工具。

二、在 Kali 里面配置 Ubertooth One 环境

        在 Kali Linux 中配置 Ubertooth One 环境需要安装相关软件包并确保硬件识别。

1、更新系统:

sudo apt update && sudo apt upgrade -y

2、安装依赖和 Ubertooth 工具包:

2.1、安装ubertooth

        ubertooth用于抓取蓝牙数据包、工具配置、升级固件

sudo apt install ubertooth

 2.2、安装libubertooth-dev、libbtbb-dev

         libubertooth-dev、libbtbb-dev是蓝牙基带库,用于BLE数据解析。

sudo apt install libubertooth-dev libbtbb-dev

2.3、设备识别

        将 Ubertooth One 插入 USB 端口,检查设备是否识别

lsusb

三、更新 Ubertooth One 固件

1、先检查Ubertooth One是否以及包含最新固件

ubertooth-util -v

 2、如果不包含,为了确保 Ubertooth One 运行最新固件,提升抓包性能,需手动更新固件。

2.1、下载固件

        从官方 GitHub 仓库下载最新固件( 2020-12-R1):

https://github.com/greatscottgadgets/ubertooth/releases/tag/2020-12-R1

git clone https://github.com/greatscottgadgets/ubertooth.git
cd ubertooth/host

2.2、编译固件

        安装编译依赖:

sudo apt install build-essential cmake libusb-1.0-0-dev pkg-config

        编译固件

mkdir build
cd build
cmake ..
make

2.3、刷写固件

        使用 ubertooth-dfu 将固件刷写到设备中

sudo ubertooth-dfu -d ../firmware/ubertooth.dfu -r

2.4、验证更新

四、创建 Wireshark 的管道进行蓝牙抓包

1、创建管道

2、使用Ubertooth one进行抓包

sudo ubertooth-btle -n -c /tmp/pipe

        -n:扫描所有广告包。

        -c /tmp/pipe:将数据输出到管道。

其他常用命令:

        -f:跟随模式,尝试跟踪任意设备的连接跳频序列。

        -t :指定目标设备的 MAC 地址(例如 -t 22:44:66:88:aa:cc)。

        -p:启用混杂模式,捕获所有可见的 BLE 流量。

        -I:交互模式,终端显示捕获信息(如信道、MAC 地址)。

问题一:

        无法成功进行蓝牙抓包

        使用命令重新创建管道文件

sudo rm -rf /tmp/pipe
sudo mkfifo /tmp/pipe

        重新打开Wireshark进行抓包

问题二:

        无法正常解析蓝牙数据包

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐