Thursday, October 26, 2017

Proxying Bluetooth devices for security analysis using btproxy


Installation

The code currently lives on Github and currently only works on Linux or OS X. It relies on BlueZ.
Install the dependencies:
sudo apt-get install bluez bluez-utils bluez-tools libbluetooth-dev python-dev
Install btproxy:
git clone https://github.com/conorpp/btproxy
cd btproxy
sudo python setup.py install

Running it on the Pebble Watch

To run it, you will need two Bluetooth devices to proxy (Bluetooth low energy doesn’t work yet).
I choose to use my Phone (Nexus 6) and Pebble Steel watch.
So I went ahead and made each device Bluetooth discoverable. For the Nexus 6 running Android L, this just means opening Bluetooth in the settings. For the Pebble watch, you just open Bluetooth in the settings as well.
Now that they are visible, the Proxy can run.
I use hcitool to scan for the devices so I know their Bluetooth MAC addresses.
$ hcitool scan
Scanning ...
        77:88:99:AA:BB:CC   Pebble 9FAA
        11:22:33:44:55:66   conorpp's Nexus 6
Now to run the Bluetooth proxy.

No comments: