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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/nccgroup/bleboy
Embedded Systems SecurityBluetooth SecurityIoT SecurityWireless SecurityLearning & EducationLabs & Practice
GitHubnccgroup/bleboy

BLEBoy

BLEBoy is a training tool to teach users about BLE security by providing a single BLE peripheral that can be used to experiment with each BLE pairing method and demonstrates GATT security concepts.

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

Популярное

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

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

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

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

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

BLEBoy

Цель

Создать BLE-периферийное устройство, поддерживающее все методы сопряжения BLE, которые можно использовать для обучения и тестирования, включая внеполосное (OOB) сопряжение. Периферийное устройство должно быть настраиваемым и легко воспроизводимым с использованием доступных в продаже компонентов.

О проекте

BLEBoy — это BLE-периферийное устройство, реализованное на базе платы Adafruit nRF52 Feather, которое было обновлено для поддержки всех методов сопряжения BLE, описанных в спецификации Bluetooth (https://www.bluetooth.com/specifications/bluetooth-core-specification). BLEBoy позволяет обновлять параметры безопасности GAP на лету (LESC, OOB, MitM, IO-возможности и т.д.), чтобы пользователи могли экспериментировать с различными методами сопряжения (и уровнем безопасности, обеспечиваемым каждым из них). Он также поддерживает отправку OOB-данных по последовательному интерфейсу, что позволяет другим инструментам создавать записи BLE OOB NFC для OOB-сопряжения.

Этот инструмент можно использовать с учебными модулями, находящимися в папке "Training", чтобы узнать о безопасности BLE.

ПРИМЕЧАНИЕ Это устройство предназначено для использования в целях обучения безопасности BLE. Не используйте код в защищённых приложениях. В коде используется несколько генераторов случайных чисел, которые не считаются криптографически безопасными. Более поздние версии Nordic SDK для NRF52 предоставляют безопасные RNG API, которые при необходимости можно использовать для этой цели.

Требования

Требуемое оборудование

  • nRF52 Feather (https://www.adafruit.com/product/3406)
  • OLED Featherwing (https://www.adafruit.com/product/2900)
  • Joy Featherwing (https://www.adafruit.com/product/3632)
    • Обязательно закоротите вывод 27 (для этого можно пропаять контактную площадку на нижней стороне платы), чтобы настроить его как вывод прерывания. Если требуется другой вывод прерывания, код BLEBoy придётся изменить.
  • Feather Tripler (https://www.adafruit.com/product/3417)
    • Не является строго обязательным, но упрощает подключение компонентов
  • Micro-USB кабель для Feather (необходим для загрузки кода и работы с моделью ассоциации Passkey Entry на периферийном устройстве)
  • Доступ к паяльнику для сборки компонентов (пайка разъёмов)
  • Телефон на Android с поддержкой Bluetooth 4.0 и включёнными параметрами разработчика (https://developer.android.com/studio/debug/dev-options.html)
    • Это также можно сделать с помощью джейлбрейкнутого устройства iOS (версии <10) с установленным из Cydia приложением BTCompanion. Для простоты мы будем рассматривать только Android.

Примечание: Для работы с моделями ассоциации OOB и Passkey Entry (когда код вводится на периферийном устройстве) необходимо подключить Micro-USB кабель к nRF52 Feather и прослушивать последовательный интерфейс (скорость 9600 бод). Это же последовательное соединение используется для вывода статуса и отладочной информации.

Дополнительное оборудование

  • Для работы с примером OOB NFC
    • PN532 Breakout (https://www.adafruit.com/product/364)
    • FTDI кабель (BLEBoy тестировался с Adafruit FTDI Friend - https://www.adafruit.com/product/284)
    • NTAG213 NFC-метки
  • LiPo-аккумулятор для устранения необходимости в Micro-USB кабеле для питания Feather
  • Жёсткий кейс для устройства. OLED довольно хрупкий и может легко треснуть при точечном давлении.

Требуемые библиотеки Arduino

Все библиотеки можно установить из соответствующих источников, за исключением arduino-menusystem и Bluefruit52Lib, которые были изменены. Журнал изменений изменённых библиотек можно найти в 3rdPartyChanges.txt.

В качестве альтернативы пользователи могут использовать библиотеки, содержащиеся в папке "libraries" этого проекта, чтобы гарантировать использование той же версии библиотек, которая использовалась при разработке.

  • Adafruit GFX (https://github.com/adafruit/Adafruit-GFX-Library)
  • Adafruit SSD1306 (https://github.com/adafruit/Adafruit_SSD1306)
  • Adafruit nRF52
    • Сначала следуйте инструкциям по установке на https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide (инструкции для Debian приведены ниже). ПРИМЕЧАНИЕ: Обязательно установите версию платы 0.6.0.
    • Затем следуйте инструкциям ниже в разделе "Установка пользовательской Bluefruit52Lib".
  • Micro-ecc (https://github.com/kmackay/micro-ecc)
  • Adafruit Seesaw (https://github.com/adafruit/Adafruit_Seesaw)
  • arduino-menusystem (https://github.com/jonblack/arduino-menusystem)
    • Используйте изменённую версию из папки libraries.

Настройка оборудования

Ниже приведены инструкции по сборке BLEBoy с использованием требуемого оборудования, перечисленного в разделах выше:

  1. Припаяйте штырьковые разъёмы (male) к каждой плате Feather и Featherwing.
  2. На Joy Featherwing посмотрите на нижнюю сторону платы и нанесите припой на контактную площадку Option Interrupt Pin перед выводом 27.
  3. Припаяйте гнездовые разъёмы (female) к Tripler.
  4. Подключите все 3 платы Feather к Tripler (порядок может быть любым, но для простоты я разместил OLED сверху, nRF52 посередине и Joy снизу).

Установка программного обеспечения

Чтобы запрограммировать nRF52 Feather кодом BLEBoy, выполните следующие шаги:

  • Установите Arduino IDE.
  • Установите ресурсы платы Adafruit nRF52 Feather в Arduino IDE (см. https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup).
    • Разработано и протестировано с версией платы nRF52 0.6.0. Успешность работы с другими версиями может отличаться.
  • Установите сторонние библиотеки Arduino (перечисленные в разделе "Требуемые библиотеки Arduino" выше).
  • Замените Adafruit Bluetooth52Lib на папку Bluetooth52Lib из этого репозитория.
  • Установите изменённую библиотеку arduino-menusystem, находящуюся в папке libraries этого репозитория.
  • Загрузите BLEBoy на nRF52 Feather.
  • Настройте последовательное соединение с nRF52 Feather (9600 бод).
  • (Необязательно) Настройте PN532 для OOB-сопряжения через NFC

Установка Arduino с ресурсами Adafruit nRF52 на Debian

  • Загрузите последнюю версию Arduino IDE
  • Следуйте инструкциям на https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup
    • OSX и Linux: обязательно установите Python-обёртку nrfutil (следуя инструкциям по установке с использованием BSP, установленного Arduino IDE)
    • На этой странице также есть несколько советов по устранению неполадок, если возникнут проблемы
  • Следуйте инструкциям на https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-board-setup для установки драйвера cp260x.
  • Если вы работаете в Linux, следуйте инструкциям на http://playground.arduino.cc/linux/all#permission, чтобы настроить правильные разрешения для доступа к последовательному устройству.

Установка пользовательской Bluefruit52Lib

  • Скопируйте пользовательскую папку Bluefruit52Lib в (значение будет отличаться в зависимости от установки):
    • OS X : ~/Library/Arduino15/packages/adafruit/hardware/nrf52/<version>/libraries
    • Linux : ~/.arduino15/packages/adafruit/hardware/nrf52/<version>/libraries
    • Windows: %APPDATA%\Local\Arduino15\packages\adafruit\hardware\nrf52\ <version> \libraries

Установка сторонних библиотек

  • Установите сторонние библиотеки, перечисленные в разделе "Требуемые библиотеки Arduino"
  • Скопируйте arduino-menusystem из папки libraries проекта BLEBoy в папку библиотек пользователя Arduino.

ИЛИ

  • Скопируйте папки из "libraries" в папку библиотек пользователя Arduino
    • Обычно находится в ~/Arduino/libraries или C:\Users\ <user> \Documents\Arduino\libraries

(НЕОБЯЗАТЕЛЬНО) Установка для PN352 для OOB-сопряжения через NFC

  • Установите Python-библиотеку nfcpy (https://nfcpy.readthedocs.io/en/latest/) и PySerial (http://pyserial.readthedocs.io/en/latest/pyserial.html)
  • Подключите PN532 к FTDI-кабелю (тестировалось с Adafruit FTDI Friend) и подключите его к вашему хосту
  • Подключите устройство BLEBoy к хосту
  • Обратите внимание на последовательные порты из двух предыдущих шагов и обновите Python-скрипт разбора OOB, чтобы использовать эти порты.
Скачать инструмент