BlueToolkit: The Extensible Framework for Bluetooth Security Testing

BlueToolkit

BlueToolkit is an extensible Bluetooth Classic vulnerability testing framework that helps uncover new and old vulnerabilities in Bluetooth-enabled devices.

It works by executing templated exploits one by one and verifying appropriate properties based on the template logic. The toolkit is extensible and allows new research to be added to the centralized testing toolkit. There are 43 Bluetooth exploits available in the toolkit, from known public exploits and tools to custom-developed ones.

The framework works in a Black-box fashion, but it is also possible to operate the toolkit in a Gray-box fashion. For that one needs to extend the framework and connect it to the Operating System of the target so that it would be possible to observe Bluetooth logs and guarantee no false positives.

Available Bluetooth Vulnerabilities and Attacks

BlueToolkit automatically downloads all vulnerability and hardware templates. BlueToolkit templates repository provides a full list of ready-to-use templates. Additionally, you can write your own templates and checks as well as add new hardware by following BlueToolkit’s templating guide The YAML reference syntax is available here

We collected and classified Bluetooth vulnerabilities in an “Awesome Bluetooth Security” way. We used the following sources – ACM, IEEE SP, Blackhat, DEFCON, Car Hacking Village, NDSS, and Google Scholars. Looked for the following keywords in Search Engines such as Google, Baidu, Yandex, Bing – Bluetooth security toolkit, Bluetooth exploits github, Bluetooth security framework, Bluetooth pentesting toolkit. We also parsed all Github repositories based on the following parameters – topic:bluetooth topic:exploit, topic:bluetooth topic:security.

Currently, BlueToolkit checks the following vulnerabilities and attacks:

Vulnerability Category Type Verification type Hardware req. Tested
Always pairable Chaining Chaining Manual
Only vehicle can initiate a connection Chaining Chaining Manual
Fast reboot Chaining Chaining Manual
SC not supported Chaining Info Automated
possible check for BLUR Chaining Info Automated
My name is keyboard Critical RCE Semi-automated
CVE-2017-0785 Critical Memory leak Automated
CVE-2018-19860 Critical Memory execution Automated
V13 Invalid Max Slot Type DoS DoS Automated
V3 Duplicated IOCAP DoS DoS Automated
NiNo check MitM MitM Semi-automated
Legacy pairing used MitM MitM Automated
KNOB MitM MiTM Semi-automated
CVE-2018-5383 MitM MiTM Automated
Method Confusion attack MitM MiTM Automated
SSP supported <= 4.0 weak crypto or SSP at all MitM Info/MitM Automated
CVE-2020-24490 Critical DoS Automated
CVE-2017-1000250 Critical Info leak Automated
CVE-2020-12351 Critical RCE/DoS Automated
CVE-2017-1000251 Critical RCE/DoS Automated
V1 Feature Pages Execution Critical RCE/DoS Automated
Unknown duplicated encapsulated payload DoS DoS Automated
V2 Truncated SCO Link Request DoS DoS Automated
V4 Feature Resp. Flooding DoS DoS Automated
V5 LMP Auto Rate Overflow DoS DoS Automated
V6 LMP 2-DH1 Overflow DoS DoS Automated
V7 LMP DM1 Overflow DoS DoS Automated
V8 Truncated LMP Accepted DoS DoS Automated
V9 Invalid Setup Complete DoS DoS Automated
V10 Host Conn. Flooding DoS DoS Automated
V11 Same Host Connection DoS DoS Automated
V12 AU Rand Flooding DoS DoS Automated
V14 Max Slot Length Overflow DoS DoS Automated
V15 Invalid Timing Accuracy DoS DoS Automated
V16 Paging Scan Deadlock DoS DoS Automated
Unknown wrong encapsulated payload DoS DoS Automated
Unknown sdp unknown element type DoS DoS Automated
Unknown sdp oversized element size DoS DoS Automated
Unknown feature req ping pong DoS DoS Automated
Unknown lmp invalid transport DoS DoS Automated
CVE-2020-12352 Critical Info leak Automated

Install & Use

Copyright (c) 2024 sgxgsx