Мы уже рассказывали, как глушить Bluetooth колонки без использования специальных устройств и без навыков хакера. Сегодня продолжим тему взлома Bluetooth и рассмотрим перехват Bluetooth с помощью сниффера на ESP32.
Еще по теме: Поддельная точка доступа на ESP8266
Перехват Bluetooth с помощью сниффера на ESP32
BrakTooth Sniffer — активный сниффер BR/EDR, который можно использовать для изучения взаимодействия Bluetooth (BT) BR/EDR между контроллером ESP32 и удаленной целью.
В отличие от пассивных снифферов, которые не взаимодействуют с сетью Bluetooth (piconet), активный сниффер подключается к удаленному устройству Bluetooth (цель BR/EDR) и позволяет тестировать протокол Bluetooth.
Сниффер BrakTooth поддерживает дешевые платы, такие как ESP32-DOIT (4 $) или ESP32-DevKitC (10$).
Статья в образовательных целях и предназначается для обучения пентестеров и этичных хакеров. При написании статьи использовались личные устройства автора. Ни редакция spy-soft.net, ни автор не несут ответственности за ваши действия.
Установка BrakTooth Sniffer
Клонируйте репозиторий:
1 |
git clone https://github.com/Matheus-Garbelini/esp32_bluetooth_classic_sniffer |
Перейдите в каталог:
1 |
cd esp32_bluetooth_classic_sniffer |
Установите последнюю версию Wireshark и Python3 (требуется sudo):
1 |
./requirements.sh |
Сборка хост-программ Bluetooth и диссектора Wireshark h4bcm:
1 |
./build.sh |
Прошивка BrakTooth Sniffer ESP32
Прежде чем начать использовать BrakTooth Sniffer, необходимо загрузить кастомную прошивку на ESP32:
1 |
./firmware.py flash /dev/ttyUSB0 |
Измените ttyUSB0 на ваш порт.
Использование BrakTooth Sniffer
Синтаксис:
1 |
BTSnifferBREDR.py [параметр] |
Параметры использования:
1 2 3 4 5 6 7 |
--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.
Подключение к удаленной цели (ведущий)
1 |
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --target=E0:D4:E8:19:C7:69 --live-terminal --live-wireshark |
Ожидание соединения Bluetooth (ведомый)
1 |
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --live-terminal --live-wireshark |
Режим моста HCI (подключение к другому стеку хоста Bluetooth)
1 |
./BTSnifferBREDR.py --port=/dev/ttyUSB0 --bridge-only --live-terminal --live-wireshark |
На этом все. Теперь вы знаете, как перехватить Bluetooth с помощью сниффера на ESP32. Подробную информацию см. в официальном репозитории GitHub.
ПОЛЕЗНЫЕ ССЫЛКИ: