Ubertooth 需要用到 Ubertooth tools,该工具依赖 libbtbb (蓝牙 baseband 库),这两个工程都需要自己编译,因此,第一步需要安装为了编译上述工程的工具:
Debian 10 / Ubuntu 20.04 / Kali
sudo apt install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev wget \ pkg-config python3-numpy python3-qtpy python3-distutils python3-setuptools
Bluetooth baseband library (libbtbb) 主要用来解码蓝牙数据包,编译安装操作如下:
wget https://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz -O libbtbb-2020-12-R1.tar.gz tar -xf libbtbb-2020-12-R1.tar.gz cd libbtbb-2020-12-R1 mkdir build cd build cmake .. make sudo make install sudo ldconfig
Ubertooth 工程包含 host 端代码,主要提供:抓取蓝牙数据包、配置 Ubertooth、升级固件,编译安装操作如下:
wget https://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz tar -xf ubertooth-2020-12-R1.tar.xz cd ubertooth-2020-12-R1/host mkdir build cd build cmake .. make sudo make install sudo ldconfig
建议用 2.2+ 版本的 Wireshark,自带插件。下面我写了个脚本,可以一键运行并调用 Wireshark 进行抓包。
➜ bluetooth cat ubertooth_wireshark.sh #!/bin/bash sudo rm -rf /tmp/pipe sudo mkfifo /tmp/pipe echo the mac address is: $2 echo ''' HOW TO SET WIRESHARK: 1.Click Edit -> Preferences 2.Click Protocols -> DLT_USER 3.Click Edit (Encapsulations Table) 4.Click New 5.Under DLT, select "User 0 (DLT=147)" (adjust this selection as appropriate if the error message showed a different DLT number than 147) 6.Under Payload Protocol, enter: btle 7.Click OK 8.Click OK ''' sudo killall wireshark sudo wireshark -k -i /tmp/pipe & echo "reset ubertooth" sudo ubertooth-util -r if [ "$2" != "NULL" ];then echo "-t<address> set connection following target (example: -t22:44:66:88:aa:cc/48)" sudo ubertooth-btle -t $2 fi if [ "$1" == "-p" ];then echo "-p promiscuous: sniff active connections" sudo ubertooth-btle -p -I -c /tmp/pipe elif [ "$1" == "-n" ];then echo "-n don't follow, only print advertisements" sudo ubertooth-btle -n -c /tmp/pipe elif [ "$1" == "-f" ];then echo "-f follow connections" sudo ubertooth-btle -f -I -c /tmp/pipe else echo "INPUT_ERROR: sudo bash ubertooth_wireshark.sh -f BC:23:4C:00:00:01" exit 1 fi echo the mac address is: $2
当完全安装好 Ubertooth tools 之后,需要将固件更新到和上面工具软件相匹配的版本(参考第2.1节)。