Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/virtualabs/btlejack
Безопасность BluetoothЭксплуатацияБезопасность беспроводных сетейАппаратный ХакингТестирование на ПроникновениеАппаратная БезопасностьБезопасность оборудования и IoTТоп в Безопасность Bluetooth №2Топ в Аппаратный Хакинг №15Топ в Безопасность оборудования и IoT №14
2.1k209232 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Топ в Аппаратная Безопасность №17
GitHubvirtualabs/btlejack

btlejack

Швейцарский нож для Bluetooth с низким энергопотреблением

Репозиторий

BtleJack: новый швейцарский нож для Bluetooth Low Energy #####################################################

Btlejack предоставляет всё необходимое для сниффинга, глушения и перехвата устройств Bluetooth Low Energy. Он использует одно или несколько устройств BBC Micro:Bit <http://microbit.org/>. с прошивкой. Вы также можете использовать Adafruit's Bluefruit LE sniffer <https://www.adafruit.com/product/2269> или nRF51822 Eval Kit <https://www.waveshare.com/wiki/BLE400>_, так как мы добавили поддержку этих устройств.

Текущая версия инструмента (2.0) поддерживает BLE 4.x и 5.x. Поддержка BLE 5.x ограничена: поддерживается только 1Mbps Uncoded PHY и не поддерживается обновление карты каналов.

Требования

Вам потребуется система на базе UNIX (например, Raspberry Pi). Если вы используете BBC Micro:Bit, вам понадобится от одного до трёх устройств Micro:Bit (рекомендуется три) и для каждого устройства один свободный USB-порт. Энергопотребление Micro:Bit довольно низкое, поэтому вы можете использовать один USB-порт и пассивный хаб для питания трёх рекомендуемых устройств.

Если подключить 3 microbit одновременно к вашему компьютеру, Btlejack сможет сниффить на всех рекламных каналах и будет иметь гораздо больше шансов захватить запрос на соединение.

Как установить

Сначала установите клиентское ПО Python3 btlejack с помощью Pip:

::

$ sudo pip3 install btlejack

Затем подключите устройство Micro:Bit к компьютеру через USB-кабель, смонтируйте соответствующее устройство массового хранения (точка монтирования должна содержать MICROBIT) и выполните следующую команду:

::

$ btlejack -i

Это запрограммирует каждое устройство Micro:Bit, подключённое к вашему компьютеру, и подготовит их к использованию с Btlejack. Будет использоваться правильная версия прошивки для текущего клиентского ПО, поэтому настоятельно рекомендуется выполнять эту процедуру установки прошивки каждый раз при обновлении Btlejack.

Если вы используете Bluefruit LE sniffer или nRF51822 Eval Kit, используйте внешний программатор SWD для прошивки устройства с помощью этой прошивки <https://github.com/virtualabs/btlejack-firmware/raw/master/dist/btlejack-firmware-ble400.hex>_.

Оставьте устройства подключёнными, и всё готово!

ПРИМЕЧАНИЕ Это работает только с системами, совместимыми с POSIX.

Как использовать Btlejack

Использовать Btlejack довольно просто. Btlejack может:

  • использовать различные устройства
  • сниффить существующее BLE-соединение
  • сниффить новые BLE-соединения
  • глушить существующее BLE-соединение
  • перехватывать существующее BLE-соединение
  • экспортировать захваченные пакеты в различные форматы PCAP

Указать используемые устройства

Btlejack обычно пытается автоматически обнаруживать и использовать подключённые совместимые устройства (пока только Micro:Bit), но поскольку прошивку можно взломать или изменить для работы с другими платами на nRF51822, он предоставляет специальные опции для обеспечения совместимости с этими устройствами.

Опция -d позволяет указать одно или несколько устройств для Btlejack. Обратите внимание, что эта опция отключает автоматическое обнаружение устройств, и вы должны добавить столько устройств, сколько вам нужно:

::

$ btlejack -d /dev/ttyACM0 -d /dev/ttyACM2 -s

Сниффинг существующего соединения

Сначала найдите существующее соединение для атаки с помощью btlejack:

::

$ btlejack -s BtleJack version 1.1

[i] Enumerating existing connections ... [ - 54 dBm] 0xcd91d517 | pkts: 1 [ - 46 dBm] 0xcd91d517 | pkts: 2

Первое значение (в дБм) показывает мощность сигнала; чем больше это значение, тем лучше будет снифферное соединение.

Второе значение (шестнадцатеричное) — это связанный адрес доступа, 32-битное значение, идентифицирующее связь между двумя совместимыми устройствами Bluetooth Low Energy.

Последнее значение — количество пакетов, увиденных с этим адресом доступа. Чем выше это значение, тем более вероятно, что используется соответствующий адрес доступа.

Затем используйте опцию -f, чтобы отслеживать конкретное соединение:

::

$ btlejack -f 0xdda4845e BtleJack version 1.1

[i] Detected sniffers:

Sniffer #0: fw version 1.1

[i] Synchronizing with connection 0xdda4845e ... ✓ CRCInit: 0x2a035e ✓ Channel Map = 0x1fffffffff ✓ Hop interval = 39 ✓ Hop increment = 15 [i] Synchronized, packet capture in progress ... LL Data: 02 07 03 00 04 00 0a 03 00 LL Data: 0a 08 04 00 04 00 0b 5a 69 70 LL Data: 02 07 03 00 04 00 0a 03 00 LL Data: 0a 08 04 00 04 00 0b 5a 69 70

Если вы используете более одного microbit, Btlejack распараллелит некоторые операции сниффинга, чтобы ускорить восстановление параметров соединения!

Сниффинг новых соединений

Опция -c, поддерживаемая btlejack, позволяет указать целевой BD-адрес, или вы можете использовать any для захвата любого нового созданного соединения.

::

$ btlejack -c any BtleJack version 1.1

[i] Detected sniffers:

Sniffer #0: version 1.1 Sniffer #1: version 1.1 LL Data: 05 22 df b4 6f 95 c5 55 c0 0a f6 99 23 40 1d 7b 2f 0a 9a f4 93 01 12 00 27 00 00 00 d0 07 ff ff ff ff 1f 0b [i] Got CONNECT_REQ packet from 55:c5:95:6f:b4:df to 40:23:99:f6:0a:c0 |-- Access Address: 0x0a2f7b1d |-- CRC Init value: 0x93f49a |-- Hop interval: 39 |-- Hop increment: 11 |-- Channel Map: 1fffffffff |-- Timeout: 20000 ms

LL Data: 03 09 08 0f 00 00 00 00 00 00 00 LL Data: 03 09 08 0f 00 00 00 00 00 00 00 LL Data: 0b 06 0c 08 0f 00 09 41 LL Data: 03 06 0c 07 1d 00 d3 07

или вы также можете указать целевой BD-адрес:

::

$ btlejack -c 03:e1:f0:00:11:22

Глушение соединения

После того как соединение идентифицировано по его адресу доступа, вы можете заглушить его с помощью опции -j:

::

$ btlejack -f 0x129f3244 -j̀

Перехват BLE-соединения

Btlejack также может перехватывать существующее соединение; для этого используйте опцию -t. После перехвата Btlejack выдаст приглашение, позволяющее взаимодействовать с перехваченным устройством.

Сначала перехватите существующее соединение:

::

$ btlejack -f 0x9c68fd30 -t -m 0x1fffffffff BtleJack version 1.1

[i] Using cached parameters (created on 2018-08-11 01:48:24) [i] Detected sniffers:

Sniffer #0: fw version 1.1

[i] Synchronizing with connection 0x9c68fd30 ... ✓ CRCInit: 0x81f733 ✓ Channel map is provided: 0x1fffffffff ✓ Hop interval = 39 ✓ Hop increment = 9 [i] Synchronized, hijacking in progress ... [i] Connection successfully hijacked, it is all yours \o/ btlejack>

Затем используйте следующие команды для взаимодействия с устройством:

  • discover: выполняет перечисление служб и характеристик, предоставит всю информацию о службах и характеристиках
  • write: записывает данные в определённый дескриптор значения
  • read: читает данные из определённого дескриптора значения
  • ll: отправляет необработанный пакет канального уровня (для ниндзя)

discover command ^^^^^^^^^^^^^^^^^^

Команда discover отправляет и получает пакеты Bluetooth LE и извлекает все UUID служб и параметры, а также UUID характеристик и параметры:

::

btlejack> discover start: 0001 end: 0005 start: 0014 end: 001a start: 0028 end: ffff Discovered services: Service UUID: 1801 Characteristic UUID: 2a05 | handle: 0002 | properties: indicate (20) \ value handle: 0003

Service UUID: 1800 Characteristic UUID: 2a04 | handle: 0019 | properties: read (02) \ value handle: 001a

Characteristic UUID: 2a00 | handle: 0015 | properties: read (02) \ value handle: 0016

Characteristic UUID: 2a01 | handle: 0017 | properties: read (02) \ value handle: 0018

Скачать инструмент