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

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

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

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

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

Категории

Все категории
Loading categories
BLESuite — BLESuite — это пакет Python, который предоставляет более простой способ тестирования устройств Bluetooth Low Energy (BLE). | Kitploit
Инструменты/GitHubGitHub/nccgroup/blesuite
Сниффинг и анализ пакетовБезопасность BluetoothАнализ уязвимостейСбор информацииФаззингБезопасность беспроводных сетейТестирование на ПроникновениеБезопасность оборудования и IoTТоп в Безопасность Bluetooth №5
19143465 лет назадПроверено Kitploit
GitHub
nccgroup/blesuite

BLESuite

BLESuite — это пакет Python, который предоставляет более простой способ тестирования устройств Bluetooth Low Energy (BLE).

Репозиторий

Популярное

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

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

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

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

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

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-взаимодействия.

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