Taking D-Bus to Explore the Bluetooth Landscape
Where
Proving Ground
BSides Las Vegas
Duration
23 min
Shows how a D-Bus based Python tool enumerates nearby Bluetooth Low Energy devices and probes their GATT services.
Summary
The talk frames the Bluetooth landscape as a sprawling, poorly documented environment where devices are everywhere and many existing command-line tools are outdated. The speaker presents bleep, a Python tool built on Linux D-Bus and the BlueZ library, which enumerates nearby Bluetooth Low Energy devices and reads their services, characteristics, and descriptors. Background covers the host controller interface, which can be sniffed but not injected into, and the nested structure of GATT servers.
Live examples included Apple phones and watches, an Intel-flagged device, and a handheld barcode scanner identified through its GATT data. HCI captures were used to check what the tool reported against actual traffic. Several Apple devices disconnected after a read error, which the speaker interpreted as a deliberate protective reaction. Mapping known trouble handles and skipping them let enumeration proceed much further, though some devices still timed out. Changing how the tool presented itself also altered device behavior, including an audio profile that moved headphones to a laptop.
The main takeaways are that manufacturers shape Bluetooth behavior, producing an uneven landscape, and that systematic probing can trigger defensive disconnects. The talk closed with a CTF-style demonstration of brute-forcing a writable characteristic to retrieve a flag, showing basic read and write interaction with a device.
Related talks
Radio Frequency Village·28 min
Coyo
Follows a hobbyist's urban radio direction-finding project, using a five-antenna KrakenSDR to bearing ham and FM transmitters in Portland.
Common Ground·45 min
Grey Fox
Walks through software defined radio basics, from FM listening and ADS-B tracking to replaying signals and disrupting Wi-Fi.
Community Stage·19 min
Eero "rambo" af Heurlin
Follows a beginner's attempt to reverse engineer the Bluetooth Low Energy protocol behind an LED helmet light.

