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

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

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

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

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

Категории

Все категории
Loading categories
BLESuite — BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device | Kitploit
Инструменты/GitHubGitHub/nccgroup/blesuite
Packet Sniffing & AnalysisBluetooth SecurityVulnerability AnalysisInformation GatheringFuzzingWireless SecurityPenetration TestingHardware & IoT Security
GitHubnccgroup/blesuite

BLESuite

BLESuite is a Python package that provides an easier way to test Bluetooth Low Energy (BLE) device

Репозиторий
191435 лет назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

BLESuite README

Обзор

BLESuite — это python-пакет, который делает взаимодействие с устройствами Bluetooth Low Energy (BLE) более удобным и позволяет проводить быстрое тестирование BLE-устройств. Версия 2 BLESuite устраняет зависимость от PyGattlib и BlueZ и вместо этого использует модифицированную версию PyBT (https://github.com/mikeryan/PyBT) для реализации и управления собственным BLE-стеком. Эта версия повышает надёжность связи, увеличивает гибкость взаимодействия, улучшает сканирование устройств и обеспечивает возможность фаззинга устройств на хост-уровнях стека Bluetooth. Стек, используемый BLESuite, намеренно позволяет отправлять устройствам некорректные запросы/ответы для обеспечения тестирования устройств.

Возможности:

  • Включает 2 инструмента командной строки для выполнения базовых операций BLESuite: blesuite и ble-replay
  • Поддержка ролей Central и Peripheral BLE
  • Поддержка нескольких HCI-устройств (например, USB-адаптер Bluetooth)
  • При использовании HCI-устройства в роли Central поддерживается множество одновременных подключений к периферийным устройствам (ограничено максимальным количеством подключений HCI-контроллера)
  • Сканирование BLE-устройств
  • Сканирование BLE-устройств на наличие всех GATT-сущностей
  • Быстрая и простая отправка ATT-запросов сопряжённому периферийному устройству
  • Формирование и отправка тщательно сконструированных (или намеренно некорректных) L2CAP и ATT пакетов целевому устройству
  • Поддержка сопряжения JustWorks LE Legacy. Дополнительные методы сопряжения будут доступны в следующей версии
  • Быстрое развёртывание GATT-сервера с помощью абстрактного определения объекта и множества вспомогательных функций
  • Поддержка импорта и экспорта GATT-сервера
  • Поддержка импорта и экспорта базы долговременных ключей (LTK) Security Manager
  • Опционально установка версии инструмента BDADDR из BlueZ, дружественной к Python API (https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools/bdaddr.c), которая позволяет пользователю подделывать BD_ADDR Bluetooth-адаптера своего хоста (поддерживаются только некоторые чипсеты. Это модифицированная версия bdaddr.c из BlueZ)

Примечание для читателя:

Для доступа к функциям Bluetooth Low Energy необходимо иметь Bluetooth-адаптер, который их поддерживает.

Почему BLESuite?

Цель BLESuite — предоставить упрощённый способ быстрой разработки сценариев взаимодействия с целевыми BLE-устройствами для оценки безопасности. Благодаря переходу с PyGattlib и BlueZ на PyBT мы теперь можем лучше контролировать BLE-стек и использовать его для тестирования различных уровней BLE-стека целевого устройства.

Кроме того, BLESuite больше не ограничивается только ролью Central. Теперь BLESuite поддерживает роль Peripheral и позволяет пользователям быстро настраивать и разворачивать GATT-сервер, который можно использовать для тестирования BLE-устройств в роли Central (или устройств с двумя ролями).

Установка

Ниже приведены инструкции по установке Python-пакета BLESuite.

Предварительные требования

Поддерживаемые операционные системы:

BLESuite разрабатывался и тестировался на Debian 9.3. Библиотека может поддерживаться другими дистрибутивами Linux, однако в настоящее время поддержка не гарантируется.

Примечание: Недавние попытки использовать BLESuite с Fedora 28 были осуществлены путём установки следующих компонентов:

  • dnf install bluez-libs-devel python2-devel python2-sphinx python2-gevent
  • выполните остальные инструкции по установке, чтобы установить прилагаемую версию Scapy и BLESuite

С Fedora 28 сообщалось об одной невоспроизводимой проблеме с BLESuite, связанной с TypeError, которая отсутствует в установках Debian 9.3, при попытке обработки входящего ATT-запроса.

Исправления приветствуются!

Необходимое программное обеспечение

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

  • libbluetooth-dev
  • libpython-dev
  • python-sphinx
  • gevent (https://pypi.org/project/gevent/)
  • Scapy (https://github.com/secdev/scapy/) (НА ДАННЫЙ МОМЕНТ ДОЛЖНА БЫТЬ УСТАНОВЛЕНА ИЗ КОПИИ В ЭТОМ РЕПОЗИТОРИИ)
    • Эта версия Scapy включает несколько изменений в слое bluetooth.py, которые поддерживают несколько новых типов пакетов и корректно закрывают BluetoothUserSocket. Эти изменения в настоящее время недоступны в основной ветке Scapy.
  • pycrypto (https://pypi.org/project/pycrypto/)
  • pyshark (https://github.com/KimiNewt/pyshark/)
  • prettytable (https://pypi.org/project/PrettyTable/)
  • sphinx_rtd_theme (https://pypi.org/project/sphinx_rtd_theme/) - для компиляции документации

После установки libbluetooth-dev, libpython-dev и python-sphinx выполните следующую команду для установки остальных Python-зависимостей:

root@kitploit:~
pip install -r requirements.txt

Документация

Из папки docs выполните:

root@kitploit:~
make html

Затем в docs/_build/html будет доступен полный комплект документации и справочных руководств.

Установка всего пакета

Выполните следующую команду для установки python-пакета:

root@kitploit:~
python setup.py install

Если вы не хотите устанавливать Python API BDADDR или у вас возникают проблемы с его установкой, закомментируйте следующую строку в setup.py и повторно выполните приведённую выше команду:

root@kitploit:~
ext_modules = [c_ext],

Планы на будущее

Полная поддержка сопряжения

На данный момент BLESuite поддерживает только сопряжение LE Legacy JustWorks. Security Manager в основном спроектирован, однако остальное криптографическое программирование для LESC и альтернативных моделей ассоциации всё ещё необходимо реализовать.

Поддержка подписанной записи

Операция подписанной записи ATT в настоящее время не поддерживается BLESuite. Это нечасто используемая операция, однако для поддержки режима безопасности 2 она должна быть реализована.

Дополнительная поддержка частных адресов

В настоящее время BLESuite поддерживает только публичные (Public) и случайные (Random) статические адреса. Однако случайные адреса могут быть двух подтипов: статические (Static) или частные (Private). Частный случайный адрес также может быть разделён на два подтипа, которые в настоящее время не поддерживаются BLESuite: неразрешимый частный адрес (Non-resolvable Private address) и разрешимый частный адрес (Resolvable Private address) (разрешается с помощью IRK, обмененного во время сопряжения).

Соответственно, возможность установки таких типов адресов для адаптера хоста в настоящее время не предоставляется BLESuite. Кроме того, возможность разрешения случайных разрешимых адресов пирингового устройства на основе обмененного IRK ещё не реализована.

Дополнительные инструменты, созданные с использованием BLESuite

После создания библиотеки следующим шагом является создание инструментов оценки безопасности, использующих эту библиотеку.

Одним из таких примеров, включённых в эту библиотеку, является ble-replay, который может принимать захваченные BLE-пакеты и воспроизводить GATT-трафик целевому устройству. ble-replay может быстро помочь выявить уязвимости безопасности прикладного уровня, связанные с атаками повторного воспроизведения (replay).

Такие инструменты сокращают время, затрачиваемое на ручной анализ захваченных пакетов и ручную разработку тестовых сценариев BLE-взаимодействия.

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