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 주변기기로, Bluetooth 사양(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 연관 모델 처리에 필요)
  • 구성 요소 조립용 납땜 인두(헤더 납땜)
  • Bluetooth 4.0을 지원하고 개발자 옵션이 활성화된 Android 휴대폰(https://developer.android.com/studio/debug/dev-options.html)
    • 이 작업은 Cydia에서 BTCompanion을 설치한 탈옥된 iOS(버전 <10) 기기로도 수행할 수 있습니다. 간단하게 하기 위해 여기서는 Android만 다룹니다.

참고: OOB 및 Passkey Entry(패스키가 주변기기에 입력되는 경우) 페어링 연관 모델을 처리하려면 Micro-USB 케이블을 nRF52 Feather에 연결하고 직렬 통신(9600 baud)을 수신해야 합니다. 이 동일한 직렬 연결은 상태 및 디버그 정보를 출력하는 데 사용됩니다.

선택 하드웨어

  • OOB NFC 예제를 따라 하기 위한 항목
    • PN532 Breakout (https://www.adafruit.com/product/364)
    • FTDI 케이블(BLEBoy는 Adafruit FTDI Friend로 테스트되었습니다 - https://www.adafruit.com/product/284)
    • NTAG213 NFC 태그
  • Feather 전원 공급용 Micro-USB 케이블의 필요성을 없애는 LIPO 배터리
  • 솔루션용 하드케이스. 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을 기준으로 개발 및 테스트되었습니다. 다른 버전에서는 성공 여부가 다를 수 있습니다.
  • 3rd party Arduino 라이브러리를 설치합니다(위의 필수 Arduino 라이브러리 섹션에 나열됨).
  • 이 저장소의 Bluetooth52Lib 폴더로 Adafruit Bluetooth52Lib를 교체합니다.
  • 이 저장소의 libraries 폴더에 있는 수정된 arduino-menusystem 라이브러리를 설치합니다.
  • BLEBoy를 nRF52 Feather에 업로드합니다.
  • nRF52 Feather에 직렬 연결을 설정합니다(9600 baud).
  • (선택 사항) OOB NFC 페어링을 위해 PN532를 설정합니다.

Debian에 Adafruit nRF52 리소스와 함께 Arduino 설치

  • 최신 Arduino IDE를 다운로드합니다.
  • https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup의 지침을 따릅니다.
    • OSX 및 Linux: nrfutil Python 래퍼를 설치해야 합니다(Arduino IDE에서 수행된 BSP 설치를 사용하여 설치하는 지침을 따르십시오).
    • 이 페이지에는 문제 발생 시 해결을 위한 몇 가지 문제 해결 단계도 포함되어 있습니다.
  • cp260x 드라이버를 설치하려면 https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-board-setup의 지침을 따르십시오.
  • Linux를 사용하는 경우 http://playground.arduino.cc/linux/all#permission의 지침에 따라 직렬 장치에 접근할 수 있는 올바른 권한을 구성하십시오.

사용자 정의 Bluefruit52Lib 설치

  • 사용자 정의 Bluefruit52Lib 폴더를 다음 위치로 복사합니다(<version>은 설치 환경에 따라 다릅니다):
    • 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

3rd Party 라이브러리 설치

  • 필수 Arduino 라이브러리에 나열된 3rd party 라이브러리를 설치합니다.
  • BLEBoy libraries 폴더에서 사용자 Arduino 라이브러리 폴더로 arduino-menusystem을 복사합니다.

또는

  • "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 스크립트가 해당 포트를 사용하도록 업데이트합니다.
도구 다운로드