Инструмент для сбора информации о Bluetooth, написанный преимущественно на Python. Помогает специалистам разобраться во внутренней структуре Bluetooth, который является сложным протоколом, или взломать устройства Bluetooth в рамках работ по тестированию на проникновение.
🐍Установка
Bluing частично зависит от BlueZ, официального стека протоколов Bluetooth для Linux. Поэтому он поддерживает работу только в Linux. Для установки зависимостей используется следующая команда:
sudo apt install python3-pip python3-dev libcairo2-dev libgirepository1.0-dev libbluetooth-dev libdbus-1-dev bluez-tools python3-cairo-dev rfkill meson patchelf bluez ubertooth adb python-is-python3
Сам инструмент поддерживает только Python 3.10, поэтому для его установки необходима команда.
sudo pip3.10 install bluing
🚀 Использование
1️⃣ Взаимодействие с BR/EDR.
Поиск других контроллеров BR/EDR поблизости
sudo bluing br --inquiry
Получение информации из базы данных SDP удалённого устройства BR/EDR
sudo bluing br --sdp 34:13:46:23:6A:4D
Перечень LMP-функций удалённого устройства BR/EDR
sudo bluing br --lmp-features 6A:8D:99:33:56:AE
2️⃣ LE-устройства.
Поиск близлежащих LE-устройств
sudo bluing le --scan
Чтение набора функций LL удалённого устройства LE
sudo bluing le --ll-feature-set --addr-type=public 18:D9:8F:77:24:F1
3️⃣ Android Bluetooth stack.
Сбор сгенерированного журнала btsnoop
bluing android -t 3 --collect-btsnoop-log -o btsnoop_hci.log; file btsnoop_hci.log
4️⃣ Осуществление спуфинга с новой информацией о локальном устройстве.
Подмена информации о локальном устройстве с использованием нового класса устройств
sudo bluing spoof --cls-of-dev=0x6c0100
Для многих функций Bluing требуется подключение как минимум к одному адаптеру Bluetooth. Хотя можно использовать адаптер, поставляемый с физическим устройством Linux, или сделать виртуальную машину Linux привязанной к адаптеру хост-устройства, для большей стабильности рекомендуется использовать внешний USB-адаптер Bluetooth, например Parani UD100-G03.
