Setting Up Ubertooth on macOS for Bluetooth Hacking
Summary
This is a step-by-step guide on how to sniff Bluetooth Low Energy (BLE) packets between a Polar Vantage Smartwatch and a phone using the Ubertooth One. It will go into detail on the setup on a MacBook Air with MacOS using a python environment for the libraries that are used for the setup. Additionally every step of the actual sniff will be outlined. This guide is based on the seminar paper "Smartwatch Hacking Attack" that was written within the FH-course "Selected IT-Security Chapters".
Requirements
- Hardware tools: Ubertooth One: Firmware version: 2020-12-R1 (API:1.07)
- Smartwatch: Polar Vantage M
- Phone: Samsung Galaxy J3
- Unix-based Operating System: macOS (macOS Sequoia 15.1.1), on a MacBook Air with an Apple M1 chip.
- Virtual Environment: Python Environment: Python 3.12
- Packages: libusb, wget, cmake, pkg-config, setuptools, pyqt5, numpy
- Libraries: libbtbb, bleak
- Software Tools: Crackle
These setup steps for the Ubertooth tool are also summarized here Ubertooth - Build Guide - https://ubertooth.readthedocs.io/en/latest/build_guide.html.
Description
Step 1 - install homebrew
Enter these commands in the shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" echo bar echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc eval "$(/opt/homebrew/bin/brew shellenv)"
Step 2 - Install Python Environment
Enter these commands in the shell
python3.12 -m venv myenv source myenv/bin/activate
Used Hardware
Device to be used with this documentation Maybe another device to be used with this documentation
Courses
- A course where this documentation was used (2017, 2018)
- Another one (2018)