Bluing - Швейцарский нож для Bluetooth-разведки
Репозиторий давно не обновлялся
Последнее обновление было 3 года назад.
Когда в 2020 году исследователи обнаружили уязвимость BlueFrag в Android, позволившую удалённо выполнять код на устройствах без ведома пользователя, это в очередной раз показало, насколько уязвимыми могут быть Bluetooth-устройства. Именно в таких сценариях на помощь приходит Bluing — инструмент для сбора разведданных и тестирования безопасности Bluetooth, который мы сегодня разберём подробно.
Что такое Bluing?
Bluing (ранее известный как bluescan) — это инструмент для сбора информации о Bluetooth-устройствах, написанный на Python. Он позволяет:
- Анализировать структуру Bluetooth-устройств
- Тестировать безопасность соединений
- Исследовать особенности реализации протокола
- Собирать технические данные об окружении
Проект поддерживает как классический Bluetooth (BR/EDR), так и Bluetooth Low Energy (LE), что делает его универсальным инструментом для пентестеров и исследователей IoT.
Ключевые возможности
1. Полноценное сканирование окружения
С помощью команды bluing br --inquiry можно обнаружить все Bluetooth-устройства в радиусе действия:
sudo bluing br --inquiry
Инструмент покажет не только MAC-адреса, но и:
- Имена устройств
- Классы устройств
- Поддерживаемые сервисы
- Уровень сигнала (RSSI)
2. Глубокий анализ устройств
Команда --sdp позволяет исследовать Service Discovery Protocol базу данных устройства, что особенно полезно для поиска потенциально уязвимых сервисов:
sudo bluing br --sdp 34:13:46:23:6A:4D
Вы получите список всех сервисов с подробной информацией о каждом, включая версии протоколов и параметры соединения.
3. Анализ функций LMP
LMP (Link Manager Protocol) — это низкоуровневый протокол Bluetooth. Bluing позволяет исследовать его особенности:
sudo bluing br --lmp-features 6A:8D:99:33:56:AE
Эта команда покажет:
- Версию Bluetooth-стека
- Поддерживаемые функции безопасности
- Возможности энергосбережения
- Особенности реализации производителя
4. Работа с Bluetooth Low Energy
Для устройств BLE доступны свои уникальные команды. Например, сканирование эфира:
sudo bluing le --scan
Или анализ GATT-профиля устройства:
sudo bluing le --gatt --addr-type=public 18:D9:8F:77:24:F1
Технические особенности
Bluing написан на Python 3.10 и использует:
- BlueZ — официальный стек протоколов Bluetooth для Linux
- PyBluez — Python-обёртку для BlueZ
- Специальные библиотеки для работы с BLE
Для некоторых функций (например, сниффинга) потребуется дополнительное оборудование:
- micro:bit для анализа BLE-трафика
- Ubertooth One для работы с классическим Bluetooth
Практическое применение
- Пентестинг IoT-устройств: Поиск уязвимостей в умных устройствах
- Исследование безопасности: Анализ реализации Bluetooth в различных продуктах
- Digital Forensics: Сбор доказательств при расследовании инцидентов
- Разработка: Тестирование собственных Bluetooth-решений
Установка
Bluing работает только на Linux. Установка довольно проста:
sudo apt install python3-pip python3-dev libbluetooth-dev bluez
sudo pip3.10 install bluing
Полный список зависимостей можно найти в официальной документации.
Bluing — это мощный инструмент для профессионалов в области безопасности Bluetooth. Если вы:
- Пентестер, специализирующийся на IoT
- Исследователь беспроводных технологий
- Разработчик Bluetooth-решений
то Bluing определённо заслуживает места в вашем арсенале. Проект активно развивается, имеет открытый исходный код и уже собрал более 800 звезд на GitHub — явный признак его востребованности в профессиональном сообществе.
Главное — помните об этической стороне: используйте подобные инструменты только в законных целях и с разрешения владельцев устройств.
