Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
nrf-research-firmware — Strumenti firmware e di ricerca per dongle USB e breakout board basati su Nordic Semiconductor nRF24LU1+. | Kitploit
Strumenti/GitHubGitHub/bastilleresearch/nrf-research-firmware
Sicurezza Sistemi EmbeddedSniffing e Analisi dei PacchettiRicognizioneMappatura della ReteSicurezza WirelessSicurezza Hardware
GitHubbastilleresearch/nrf-research-firmware

nrf-research-firmware

Strumenti firmware e di ricerca per dongle USB e breakout board basati su Nordic Semiconductor nRF24LU1+.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
4451324 anni faRevisionato da Kitploit

RFStorm nRF24LU1+ Firmware di ricerca

Firmware e strumenti di ricerca per dongle USB e breakout board basati su Nordic Semiconductor nRF24LU1+.

Requisiti

  • SDCC (minimum version 3.1.0)
  • GNU Binutils
  • Python
  • PyUSB
  • platformio

Installa le dipendenze su 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

Hardware supportato

Il seguente hardware è stato testato e funziona.

  • CrazyRadio PA USB dongle
  • SparkFun nRF24LU1+ breakout board
  • Logitech Unifying dongle (model C-U0007, Nordic Semiconductor based)

Compilare il firmware

root@kitploit:~
make

Flash via USB

I chip nRF24LU1+ vengono forniti con un bootloader programmato in fabbrica che occupa i 2KB superiori della memoria flash. Il firmware CrazyRadio e il firmware di ricerca RFStorm supportano i comandi USB per accedere al bootloader Nordic.

I dongle e le breakout board possono essere programmati via USB se eseguono uno dei seguenti firmware:

  • Nordic Semiconductor Bootloader
  • CrazyRadio Firmware
  • RFStorm Research Firmware

Per eseguire il flash del firmware via USB:

root@kitploit:~
sudo make install

Eseguire il flash di un dongle Logitech Unifying

I dongle Unifying più comuni sono basati sul nRF24LU1+, ma alcuni utilizzano chip di Texas Instruments. Questo firmware è supportato solo sulle varianti nRF24LU1+, che hanno un numero di modello C-U0007. Lo script di flashing rileverà automaticamente il tipo di dongle collegato e tenterà di eseguire il flash solo sulle varianti nRF24LU1+.

Per eseguire il flash del firmware via USB su un dongle Logitech Unifying:

root@kitploit:~
sudo make logitech_install

Ripristinare il firmware originale su un dongle Logitech Unifying

Scarica ed estrai l'immagine del firmware Logitech, che avrà un nome simile a RQR_012_005_00028.hex. Quindi, esegui il seguente comando per flashare il firmware Logitech sul dongle:

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

Flash via SPI con un Teensy

Se il tuo dongle o la tua breakout board è brickata, puoi in alternativa programmare il dispositivo via SPI utilizzando un Teensy.

Questo è stato testato solo con un Teensy 3.1/3.2, ma è probabile che funzioni anche con altre varianti Arduino.

Compilare e caricare il Teensy Flasher

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

Collegare il Teensy al nRF24LU1+

Eseguire il flash del nRF24LU1+

root@kitploit:~
sudo make spi_install

Script Python

scanner

Strumento di scoperta dei dispositivi in modalità pseudo-promiscua, che scandisce un elenco di canali e stampa i pacchetti Enhanced Shockburst decodificati.

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

Esegui la scansione dei dispositivi sui canali da 1 a 5

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

Esegui la scansione dei dispositivi con un indirizzo che inizia con 0xA9 su tutti i canali

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

sniffer

Sniffer di inseguimento del dispositivo, che segue uno specifico dispositivo nRF24 mentre cambia canale e stampa i pacchetti Enhanced Shockburst decodificati provenienti dal dispositivo.

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]

Cattura i pacchetti dall'indirizzo 61:49:66:82:03 su tutti i canali

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

network mapper

Mapper di reti a stella, che tenta di scoprire gli indirizzi attivi in una rete a stella modificando l'ultimo byte dell'indirizzo dato e inviando un ping a ciascuno dei 256 possibili indirizzi su ogni canale dell'elenco dei canali.

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]

Mappa la rete a stella a cui appartiene l'indirizzo 61:49:66:82:03

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

test del tono continuo

I chip nRF24LU1+ includono un meccanismo di test per trasmettere un tono continuo, la cui frequenza può essere verificata se si ha accesso a un SDR. Esiste la possibilità che gli offset di frequenza tra i dispositivi causino comportamenti imprevisti. Ad esempio, una delle breakout board SparkFun testate aveva un offset di frequenza di ~300kHz, che le faceva ricevere pacchetti su due canali adiacenti.

Questo script farà sì che il ricetrasmettitore trasmetta un tono sul primo canale passato come argomento.

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)

Trasmette un tono continuo a 2405MHz

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