Перехват Bluetooth с помощью сниффера BrakTooth на ESP32

D2

Администратор
Регистрация
19 Фев 2025
Сообщения
4,380
Реакции
0
Мы уже рассказывали, как глушить Bluetooth колонки без использования специальных устройств и без навыков хакера. Сегодня продолжим тему взлома Bluetooth и рассмотрим перехват Bluetooth с помощью сниффера на ESP32.

Перехват Bluetooth с помощью сниффера на ESP32​

BrakTooth Sniffer — активный сниффер BR/EDR, который можно использовать для изучения взаимодействия Bluetooth (BT) BR/EDR между контроллером ESP32 и удаленной целью.

Схема перехвата Bluetooth с помощью сниффера на ESP32

intercepting-bluetooth-esp32-1.png



В отличие от пассивных снифферов, которые не взаимодействуют с сетью Bluetooth (piconet), активный сниффер подключается к удаленному устройству Bluetooth (цель BR/EDR) и позволяет тестировать протокол Bluetooth.

Сниффер BrakTooth поддерживает дешевые платы, такие как ESP32-DOIT (4 $) или ESP32-DevKitC (10$).

Установка BrakTooth Sniffer​

Клонируйте репозиторий:
Код: Скопировать в буфер обмена
git clone https://github.com/Matheus-Garbelini/esp32_bluetooth_classic_sniffer
Перейдите в каталог:
Код: Скопировать в буфер обмена
cd esp32_bluetooth_classic_sniffer
Установите последнюю версию Wireshark и Python3 (требуется sudo):
Код: Скопировать в буфер обмена
./requirements.sh
Сборка хост-программ Bluetooth и диссектора Wireshark h4bcm:
Код: Скопировать в буфер обмена
./build.sh

Прошивка BrakTooth Sniffer ESP32​

Прежде чем начать использовать BrakTooth Sniffer, необходимо загрузить кастомную прошивку на ESP32:
Код: Скопировать в буфер обмена
./firmware.py flash /dev/ttyUSB0
Измените ttyUSB0 на ваш порт.

Использование BrakTooth Sniffer​

Синтаксис:
Код: Скопировать в буфер обмена
BTSnifferBREDR.py [Параметр]
Параметры использования:
--port TEXT — название порта (/dev/ttyUSBx для Linux).
--host TEXT — BDAddress локального хоста (по умолчанию: E0:D4:E8:19:C7:68).
--target TEXT — BDAddress удаленной цели (например: a8:96:75:25:c2:ac).
--live-wireshark — открывает живую сессию Wireshark
--live-terminal — отобразить сводку по каждому пакету в терминале.
--bridge-only — запускает HCI-мост без подключения к стеку хостов Bluetooth.
--help — показать сообщение и выйти.

Вы можете использовать сниффер в роли ведущего или ведомого. Если вы указываете параметр --target, сниффер подключится к удаленной цели. Если не использовать этот аргумент он будет в режиме ожидания, ждать когда к нему подключатся.

Аргумент --bridge-only создает только псевдотерминал HCI (/dev/pts/x), поэтому ESP32 может работать как стандартный контроллер HCI Bluetooth. Вы можете использовать эту функцию для подключения любого другого хост-стека Bluetooth к ESP32.

Рассмотрим примеры использования сниффера BrakTooth.

Подключение к удаленной цели (ведущий)

Код: Скопировать в буфер обмена
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --target=E0:D4:E8:19:C7:69 --live-terminal --live-wireshark
intercepting-bluetooth-esp32-2.png



Ожидание соединения Bluetooth (ведомый)

Код: Скопировать в буфер обмена
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --live-terminal --live-wireshark

Режим моста HCI (подключение к другому стеку хоста Bluetooth)

intercepting-bluetooth-esp32-3.png



Код: Скопировать в буфер обмена
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --bridge-only --live-terminal --live-wireshark
На этом все. Теперь вы знаете, как перехватить Bluetooth с помощью сниффера на ESP32. Подробную информацию см. в официальном репозитории GitHub.

автор Quasar, spy-soft.net
 
Сверху Снизу