Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
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. | Kitploit
工具/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 是一个使用 Adafruit nRF52 Feather 开发板实现的 BLE 外设,它已更新以支持蓝牙规范(https://www.bluetooth.com/specifications/bluetooth-core-specification)中描述的所有 BLE 配对方式。BLEBoy 允许即时更新 GAP 安全参数(LESC、OOB、MitM、IO 能力等),使用户可以试验各种配对方式(以及每种方式所提供的安全级别)。 它还支持通过串口发送 OOB 数据,以便其他工具构造用于 OOB 配对的 BLE OOB NFC 记录。

该工具可与“Training”文件夹中的培训模块一起使用,以了解 BLE 安全性。

注意:此设备旨在用于 BLE 安全培训。请勿在安全应用中使用代码。代码中使用了多个随机数生成器,这些生成器不被认为是加密安全的。NRF52 Nordic SDK 的更高版本提供了安全的 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)
    • 并非必须,但它可以简化组件连接。
  • 用于 Feather 的 Micro-USB 线缆(上传代码和处理外设 Passkey Entry 关联模型时需要)
  • 可使用电烙铁组装组件(焊接排针)
  • 支持蓝牙 4.0 并已启用开发者选项的 Android 手机(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 标签
  • 锂聚合物电池,免除使用 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. 在每个 Feather 和各 Featherwing 上焊接公排针。
  2. 在 Joy Featherwing 上,查看板底部,并在引脚 27 前面的 Option Interrupt Pin 焊盘上涂上焊锡。
  3. 在 Tripler 上焊接母排针。
  4. 将所有 3 个 Feather 板插入 Tripler(任何顺序都可以,但为了简单起见,我将 OLED 放在顶部,nRF52 在中间,Joy 在底部)。

软件安装

要使用 BLEBoy 代码对 nRF52 Feather 进行编程,请按照以下步骤操作:

  • 安装 Arduino IDE。
  • 在 Arduino IDE 中安装 Adafruit nRF52 Feather 开发板资源(请参阅 https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup)。
    • 针对 nRF52 开发板版本 0.6.0 进行开发和测试。其他版本的效果可能有所不同。
  • 安装第三方 Arduino 库(见上文“所需的 Arduino 库”部分)。
  • 将 Adafruit Bluetooth52Lib 替换为本仓库中的 Bluefruit52Lib 文件夹。
  • 安装位于本仓库 libraries 文件夹中的修改版 arduino-menusystem 库。
  • 将 BLEBoy 上传到 nRF52 Feather。
  • 设置与 nRF52 Feather 的串口连接(波特率 9600)。
  • (可选)为 OOB NFC 配对设置 PN532

在 Debian 上安装 Arduino 及 Adafruit nRF52 资源

  • 下载最新的 Arduino IDE。
  • 按照 https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup 上的说明操作。
    • OSX 和 Linux:确保安装 nrfutil Python 包装器(按照说明使用 Arduino IDE 完成的 BSP 安装来安装)。
    • 如果出现问题,此页面还包含一些疑难解答步骤。
  • 按照 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 从 BLEBoy libraries 文件夹复制到您的用户 Arduino 库文件夹中。

或者

  • 将“libraries”中的文件夹复制到用户 Arduino 库文件夹中。
    • 通常位于 ~/Arduino/libraries 或 C:\Users\ <user> \Documents\Arduino\libraries

(可选)通过 NFC 进行 OOB 配对的 PN352 安装

  • 安装 Python nfcpy(https://nfcpy.readthedocs.io/en/latest/)和 PySerial(http://pyserial.readthedocs.io/en/latest/pyserial.html)
  • 将 PN532 连接到 FTDI 线缆(使用 Adafruit FTDI Friend 测试),并将其连接到主机
  • 将 BLEBoy 设备连接到主机
  • 记下前面两步的串行端口,并更新 OOB 解析 Python 脚本以使用这些端口。
下载工具