Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
nrf-research-firmware — Nordic Semiconductor nRF24LU1+ 기반 USB 동글 및 브레이크아웃 보드를 위한 펌웨어 및 연구 도구 | Kitploit
도구/GitHubGitHub/bastilleresearch/nrf-research-firmware
Embedded Systems SecurityPacket Sniffing & AnalysisReconnaissanceNetwork MappingWireless SecurityHardware Security
GitHubbastilleresearch/nrf-research-firmware

nrf-research-firmware

Nordic Semiconductor nRF24LU1+ 기반 USB 동글 및 브레이크아웃 보드를 위한 펌웨어 및 연구 도구

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
4451324년 전Kitploit 검토 완료

RFStorm nRF24LU1+ 연구용 펌웨어

Nordic Semiconductor nRF24LU1+ 기반 USB 동글 및 브레이크아웃 보드를 위한 펌웨어와 연구 도구입니다.

요구 사항

  • SDCC (최소 버전 3.1.0)
  • GNU Binutils
  • Python
  • PyUSB
  • platformio

Ubuntu에서 의존성을 설치합니다:

root@kitploit:~
sudo apt-get install sdcc binutils python python-pip
sudo pip install -U pip
sudo pip install -U -I pyusb
sudo pip install -U platformio

지원 하드웨어

다음 하드웨어는 테스트되었으며 작동이 확인되었습니다.

  • CrazyRadio PA USB 동글
  • SparkFun nRF24LU1+ 브레이크아웃 보드
  • Logitech Unifying 동글 (모델 C-U0007, Nordic Semiconductor 기반)

펌웨어 빌드

root@kitploit:~
make

USB 플래싱

nRF24LU1+ 칩은 플래시 메모리의 최상위 2KB를 차지하는 공장 프로그래밍 부트로더와 함께 제공됩니다. CrazyRadio 펌웨어와 RFStorm 연구용 펌웨어는 Nordic 부트로더로 진입하기 위한 USB 명령을 지원합니다.

동글 및 브레이크아웃 보드는 다음 펌웨어 중 하나를 실행 중인 경우 USB로 프로그래밍할 수 있습니다:

  • Nordic Semiconductor 부트로더
  • CrazyRadio 펌웨어
  • RFStorm 연구용 펌웨어

USB로 펌웨어를 플래시하려면:

root@kitploit:~
sudo make install

Logitech Unifying 동글 플래시

가장 일반적인 Unifying 동글은 nRF24LU1+ 기반이지만 일부는 Texas Instruments 칩을 사용합니다. 이 펌웨어는 모델 번호가 C-U0007인 nRF24LU1+ 변형만 지원합니다. 플래싱 스크립트는 연결된 동글 유형을 자동으로 감지하며 nRF24LU1+ 변형만 플래시를 시도합니다.

Logitech Unifying 동글에 USB로 펌웨어를 플래시하려면:

root@kitploit:~
sudo make logitech_install

Logitech Unifying 동글을 원래 펌웨어로 복원

RQR_012_005_00028.hex 또는 유사한 이름의 Logitech 펌웨어 이미지를 다운로드하여 압축을 해제합니다. 그런 다음 아래 명령으로 Logitech 펌웨어를 동글에 플래시합니다:

root@kitploit:~
sudo ./prog/usb-flasher/logitech-usb-restore.py [path-to-firmware.hex]

Teensy를 사용한 SPI 플래싱

동글이나 브레이크아웃 보드가 벽돌이 된 경우, Teensy를 사용하여 SPI로 프로그래밍할 수 있습니다.

Teensy 3.1/3.2에서만 테스트되었지만 다른 Arduino 변형에서도 작동할 가능성이 높습니다.

Teensy 플래셔 빌드 및 업로드

root@kitploit:~
platformio run --project-dir teensy-flasher --target upload

Teensy를 nRF24LU1+에 연결

nRF24LU1+ 플래시

root@kitploit:~
sudo make spi_install

Python 스크립트

스캐너

의사 무차별 모드로 채널 목록을 스캔하고 디코딩된 Enhanced Shockburst 패킷을 출력하는 장치 검색 도구입니다.

root@kitploit:~
usage: ./nrf24-scanner.py [-h] [-c N [N ...]] [-v] [-l] [-p PREFIX] [-d DWELL]

optional arguments:
  -h, --help                          show this help message and exit
  -c N [N ...], --channels N [N ...]  RF channels
  -v, --verbose                       Enable verbose output
  -l, --lna                           Enable the LNA (for CrazyRadio PA dongles)
  -p PREFIX, --prefix PREFIX          Promiscuous mode address prefix
  -d DWELL, --dwell DWELL             Dwell time per channel, in milliseconds

채널 1-5에서 장치 스캔

root@kitploit:~
./nrf24-scanner.py -c {1..5}

모든 채널에서 0xA9로 시작하는 주소를 가진 장치 스캔

root@kitploit:~
./nrf24-scanner.py -p A9

스니퍼

특정 nRF24 장치가 호핑할 때 따라가며 해당 장치에서 디코딩된 Enhanced Shockburst 패킷을 출력하는 장치 추적 스니퍼입니다.

root@kitploit:~
usage: ./nrf24-sniffer.py [-h] [-c N [N ...]] [-v] [-l] -a ADDRESS [-t TIMEOUT] [-k ACK_TIMEOUT] [-r RETRIES]

optional arguments:
  -h, --help                                 show this help message and exit
  -c N [N ...], --channels N [N ...]         RF channels
  -v, --verbose                              Enable verbose output
  -l, --lna                                  Enable the LNA (for CrazyRadio PA dongles)
  -a ADDRESS, --address ADDRESS              Address to sniff, following as it changes channels
  -t TIMEOUT, --timeout TIMEOUT              Channel timeout, in milliseconds
  -k ACK_TIMEOUT, --ack_timeout ACK_TIMEOUT  ACK timeout in microseconds, accepts [250,4000], step 250
  -r RETRIES, --retries RETRIES              Auto retry limit, accepts [0,15]

모든 채널에서 주소 61:49:66:82:03의 패킷 스니핑

root@kitploit:~
./nrf24-sniffer.py -a 61:49:66:82:03

네트워크 매퍼

주어진 주소의 마지막 바이트를 변경하고 채널 목록의 각 채널에서 256개의 가능한 주소 각각에 ping을 보내 스타 네트워크의 활성 주소를 발견하려 시도하는 스타 네트워크 매퍼입니다.

root@kitploit:~
usage: ./nrf24-network-mapper.py [-h] [-c N [N ...]] [-v] [-l] -a ADDRESS [-p PASSES] [-k ACK_TIMEOUT] [-r RETRIES]

optional arguments:
  -h, --help                                 show this help message and exit
  -c N [N ...], --channels N [N ...]         RF channels
  -v, --verbose                              Enable verbose output
  -l, --lna                                  Enable the LNA (for CrazyRadio PA dongles)
  -a ADDRESS, --address ADDRESS              Known address
  -p PASSES, --passes PASSES                 Number of passes (default 2)
  -k ACK_TIMEOUT, --ack_timeout ACK_TIMEOUT  ACK timeout in microseconds, accepts [250,4000], step 250
  -r RETRIES, --retries RETRIES              Auto retry limit, accepts [0,15]

주소 61:49:66:82:03이 속한 스타 네트워크 매핑

root@kitploit:~
./nrf24-network-mapper.py -a 61:49:66:82:03

연속 톤 테스트

nRF24LU1+ 칩에는 연속 톤을 전송하는 테스트 메커니즘이 포함되어 있으며, SDR이 있다면 그 주파수를 검증할 수 있습니다. 장치 간 주파수 오프셋으로 인해 예기치 않은 동작이 발생할 가능성이 있습니다. 예를 들어, 테스트한 SparkFun 브레이크아웃 보드 중 하나는 약 300kHz의 주파수 오프셋이 있어 인접한 두 채널에서 패킷을 수신했습니다.

이 스크립트는 트랜시버가 전달된 첫 번째 채널에서 톤을 전송하도록 합니다.

root@kitploit:~
usage: ./nrf24-continuous-tone-test.py [-h] [-c N [N ...]] [-v] [-l]

optional arguments:
  -h, --help                          show this help message and exit
  -c N [N ...], --channels N [N ...]  RF channels
  -v, --verbose                       Enable verbose output
  -l, --lna                           Enable the LNA (for CrazyRadio PA dongles)

2405MHz에서 연속 톤 전송

root@kitploit:~
./nrf24-continuous-tone-test.py -c 5
도구 다운로드
TeensyCrazyRadio PASparkfun nRF24LU1+ Breakout
GND9GND
83RESET
92PROG
1010P0.3
116P0.1
128P0.2
134P0.0
3.3V5VIN