BlueToolkit – это фреймворк для автоматизированного взлома Bluetooth. Он предназначен для эксплуатации как новых, так и старых уязвимостей в устройствах с поддержкой Bluetooth. Поскольку BlueToolkit работает на устройствах под управлением Linux, его можно установить на рутированный Android-смартфон, превратив его в портативный сканер уязвимостей Bluetooth.
Еще по теме: BlueDucky — атака на Bluetooth CVE-2023-45866
Как Работает BlueToolkit
Фреймворк запускает эксплойты один за другим на целевом устройстве. Согласно документации, он может эксплуатировать 43 уязвимости Bluetooth и позволяет добавлять новые.
Для эксплуатации некоторых уязвимостей требуется дополнительное оборудование.
Тем не менее, при запуске инструмента и перечислении доступных эксплойтов стало понятно, что без дополнительного оборудования можно взломать 11 уязвимостей Bluetooth.
Список уязвимостей Bluetooth, не требующих дополнительного оборудования:
- Always pairable
- Only vehicle can initiate a connection
- Fast reboot
- SC not supported
- Possible check for BLUR
- My name is keyboard
- CVE-2017-0785
- CVE-2018-19860
- V13 Invalid Max Slot Type
- V3 Duplicated IOCAP
- NiNo check
Требуемое оборудование для некоторых уязвимостей:
- ESP-WROVER-KIT-VE для уязвимостей Braktooth
- Nexus 5 для уязвимостей на базе InternalBlue
- CYW920819M2EVB-01 для атак BIAS, BLUR и BLUFFS
Установка BlueToolkit
BlueToolkit работает только в Linux. Инструкции по установке можно найти на GitHub. Следовательно, вы можете запустить его на рутованном Android-смартфоне с поддержкой драйвера ядра для чипа Bluetooth или внешнего адаптера, и на смартфоне с NetHunter. Я также смог запустить его на Kali Linux в виртуальной машине с помощью внешнего Bluetooth-адаптера Zexmte.
Список уязвимостей
Ниже приведен список уязвимостей и атак, которые поддерживает BlueToolkit:
Уязвимость | Категория | Тип | Вид верификации | Доп. оборудование | Проверен |
---|---|---|---|---|---|
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 | ✓ |
Заключение
BlueToolkit на момент написания статьи обнаружил 64 уязвимости в 22 продуктах Bluetooth. Подробная информация об этих уязвимостях, а также о затронутых устройствах будет опубликована в ближайшее время, на странице проекта на GitHub.
В заключение можно сказать, что BlueToolkit — это эффективный инструмент для взлома Bluetooth и проверки безопасности.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Перехват Bluetooth с помощью BrakTooth на ESP32
- Спуфинг iOS по Bluetooth используя AppleJuice в NetHunter