Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
presentation-clickers — Vulnerabilità di iniezione dei tasti nei presentatori wireless | Kitploit
Strumenti/GitHubGitHub/marcnewlin/presentation-clickers
Sicurezza Sistemi EmbeddedExploitReverse EngineeringSicurezza WirelessHacking HardwarePenetration TestingSicurezza Hardware e IoT
GitHubmarcnewlin/presentation-clickers

presentation-clickers

Vulnerabilità di iniezione dei tasti nei presentatori wireless

Vedi Repository
9614226 anni faRevisionato da Kitploit

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

Clicker per presentazioni

Avevo voglia di fare un po' di reverse engineering RF, quindi ho ordinato alcuni clicker per presentazioni e mi sono divertito un po'.

Questo è un fork di nrf-research-firmware (che ho scritto qualche anno fa presso Bastille). Ho aggiunto il supporto per alcuni nuovi ricetrasmettitori/protocolli e incluso POC di iniezione di tasti per 13 comuni clicker per presentazioni.

Cronologia

  • 2019-04-20 - pubblicato il primo lotto (8 dispositivi)
  • 2019-04-21 - pubblicato il secondo lotto (5 dispositivi)

Dispositivi vulnerabili all'iniezione di tasti

ProduttoreModelloProtocolloRFICAggiunto
AmazonBasicsP-001AmazonBasics P-001nRF242019-04-20
CanonPR100-RCanon PR100-RPL11672019-04-20
FunpickWireless PresenterHS304HS3042019-04-20
AMERTEERWireless PresenterHS304HS3042019-04-20
BEBONCOOLD100HS304HS3042019-04-20
ESYWENWireless PresenterHS304HS3042019-04-20
Red Star TechPR-819HS304HS3042019-04-20
DinoFireD06-DF-USHS304HS3042019-04-20
TBBSCDSIT-60TBBSC DSIT-60BK24512019-04-21
RiiWireless PresenterRii Wireless PresenterBK24512019-04-21
LogitechR400Logitech UnencryptednRF242019-04-21
LogitechR800Logitech UnencryptednRF242019-04-21
LogitechR500Logitech EncryptednRF242019-04-21

Protocolli

Logitech Encrypted

Panoramica

Questo è il protocollo standard per tastiere Logitech cifrato, come usato dalla R500. È in qualche modo vulnerabile all'attacco di "iniezione di tasti cifrata" che ho documentato con le tastiere Logitech Unifying nell'ambito del progetto MouseJack.

Dico in qualche modo perché non tutti gli scan code HID vengono accettati. Nello specifico, 0x04-0x1D (A-Z) vengono sostituiti da 0x00 quando il dongle invia il pacchetto al computer host, il che significa che possiamo iniettare qualunque cosa vogliamo, purché non sia una lettera. L'altra eccezione è che le combinazioni di tasti con ctrl sono consentite, anche quando includono lettere.

Un'iniezione di tasti efficace tramite la R500 richiede un po' di creatività.

Supponiamo che il bersaglio si trovi in una sessione bash. In bash, possiamo codificare i nostri caratteri in base-8, codificando i comandi che contengono lettere e che vogliamo che il bersaglio esegua.

Per esempio, ping google.com viene codificato come $'\160\151\156\147' $'\147\157\157\147\154\145\056\143\157\155'. Se inviamo questa stringa a una sessione bash e poi inviamo enter, il comando ping google.com verrà eseguito sulla macchina bersaglio.

Rilevamento del dispositivo

Puoi trovare l'indirizzo del tuo Logitech R500 usando nrf24-scanner come segue:

sudo ./tools/nrf24-scanner.py -c {2..74..3} -l

I pacchetti dovrebbero apparire più o meno così:

[2019-04-21 13:11:52.507]  62   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 13:11:52.515]  62   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 13:11:52.523]  62  22  85:D1:9D:FE:07  00:D3:4D:6F:B6:1B:E6:05:A2:B4:8B:98:F9:C2:00:00:00:00:00:00:00:81

Iniezione

L'iniezione è possibile perché il dongle non impone l'incremento dei contatori AES, quindi puoi riprodurre i pacchetti. Un pacchetto inviato OTA è composto da un payload USB HID cifrato in modalità AES counter, seguito dal contatore. Quando premi un pulsante sul clicker per presentazioni, viene generato un pacchetto key down e un pacchetto key up. Il pacchetto key up è composto interamente da 0, il che ci fornisce un materiale di chiave pulito e riutilizzabile: possiamo farne lo XOR con il nostro payload e inviarlo OTA.

Non dovrebbe essere difficile automatizzare il processo di ascolto di una pressione di un pulsante, estraendo il secondo pacchetto (key up) e usandolo automaticamente come riferimento per il materiale di chiave. Ma sono pigro, quindi dovrai prima osservare tu stesso una pressione di un pulsante, che appare così:

[2019-04-21 16:02:56.451]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.459]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.468]  65  22  85:D1:9D:FE:07  00:D3:E6:7B:35:8C:BB:2C:7D:5B:8B:98:FA:76:00:00:00:00:00:00:00:B9
[2019-04-21 16:02:56.475]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.507]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.516]  65  22  85:D1:9D:FE:07  00:D3:99:D6:D3:8D:49:25:F5:4D:8B:98:FA:77:00:00:00:00:00:00:00:1A
[2019-04-21 16:02:56.524]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.532]  65   5  85:D1:9D:FE:07  00:40:00:08:B8

Il secondo pacchetto da 22 byte è il pacchetto key-up.

Rimuovi l'ultimo byte del payload e copia e incolla la stringa in logitech.py, sostituendo KEYUP_REF.

(Non dovrebbe funzionare senza aggiornare KEYUP_REF, ma se funziona, fammelo sapere!)

Iniezione

Inietta la sequenza di tasti codificata in base-8 del comando bash ping google.com in uno specifico dongle Logitech R500 (indirizzo 85:D1:9D:FE:07):

sudo ./tools/r500-injector.py -l -a 85:D1:9D:FE:07

Logitech Unencrypted

Panoramica

Questo è il protocollo Logitech non cifrato standard, usato dai modelli R400/R800.

Rilevamento del dispositivo

Puoi trovare l'indirizzo del tuo Logitech R400/R800 usando nrf24-scanner come segue:

sudo ./tools/nrf24-scanner.py -c {2..74..3} -l

I pacchetti dovrebbero apparire più o meno così:

[2019-04-21 12:58:43.466]  32   0  9D:9E:95:52:07  
[2019-04-21 12:58:43.620]  32  10  9D:9E:95:52:07  00:C1:00:00:00:00:00:00:00:3F

Iniezione

Inietta la sequenza di tasti di prova in uno specifico dongle Logitech R400/R800 (indirizzo 9D:9E:95:52:07):

sudo ./tools/preso-injector.py -l -f logitech -a 9D:9E:95:52:07

Rii Wireless Presenter

Panoramica

Il Rii Wireless Presenter (a forma di penna) è basato sul BK2451 (che sembra essere un clone del nRF24). Sembra un protocollo generico, vista la diffusione di dispositivi gemelli, quindi probabilmente lo ricategorizzerò dopo aver raccolto altri dati.

È funzionalmente una tastiera wireless non cifrata, vulnerabile all'iniezione di tasti.

PHY

Scarica lo strumento