hacktricks/src/todo/radio-hacking/low-power-wide-area-network.md

5.9 KiB
Raw Blame History

Rete a Larga Area a Basso Consumo

{{#include ../../banners/hacktricks-training.md}}

Introduzione

Rete a Larga Area a Basso Consumo (LPWAN) è un gruppo di tecnologie di rete wireless, a basso consumo e a larga area progettate per comunicazioni a lungo raggio a bassa velocità di trasmissione. Possono raggiungere più di sei miglia e le loro batterie possono durare fino a 20 anni.

Long Range (LoRa) è attualmente il livello fisico LPWAN più distribuito e la sua specifica MAC-layer aperta è LoRaWAN.


LPWAN, LoRa e LoRaWAN

  • LoRa Chirp Spread Spectrum (CSS) livello fisico sviluppato da Semtech (proprietario ma documentato).
  • LoRaWAN Livello MAC/Rete aperto mantenuto dalla LoRa-Alliance. Le versioni 1.0.x e 1.1 sono comuni sul campo.
  • Architettura tipica: dispositivo finale → gateway (inoltratore di pacchetti) → server di rete → server applicativo.

Il modello di sicurezza si basa su due chiavi radice AES-128 (AppKey/NwkKey) che derivano chiavi di sessione durante la procedura di join (OTAA) o sono hard-coded (ABP). Se una chiave viene compromessa, l'attaccante ottiene piena capacità di lettura/scrittura sul traffico corrispondente.


Riepilogo della superficie di attacco

Livello Vulnerabilità Impatto pratico
PHY Jammazione reattiva / selettiva 100 % di perdita di pacchetti dimostrata con un singolo SDR e <1 W di output
MAC Replay di Join-Accept e data-frame (riutilizzo nonce, rollover contatore ABP) Spoofing del dispositivo, iniezione di messaggi, DoS
Server di rete Inoltratore di pacchetti insicuro, filtri MQTT/UDP deboli, firmware del gateway obsoleto RCE sui gateway → pivot nel network OT/IT
Applicazione AppKeys hard-coded o prevedibili Attacco di forza bruta/decrittazione del traffico, impersonificazione dei sensori

Vulnerabilità recenti (2023-2025)

  • CVE-2024-29862 ChirpStack gateway-bridge & mqtt-forwarder ha accettato pacchetti TCP che bypassavano le regole del firewall stateful sui gateway Kerlink, consentendo l'esposizione dell'interfaccia di gestione remota. Risolto in 4.0.11 / 4.2.1 rispettivamente.
  • Dragino LG01/LG308 series Molteplici CVE dal 2022 al 2024 (ad es. 2022-45227 traversata di directory, 2022-45228 CSRF) ancora osservati non patchati nel 2025; abilitano il dump del firmware non autenticato o la sovrascrittura della configurazione su migliaia di gateway pubblici.
  • Overflow packet-forwarder UDP di Semtech (avviso non rilasciato, patchato 2023-10): uplink creato più grande di 255 B ha attivato uno stack-smash > RCE sui gateway di riferimento SX130x (trovato da Black Hat EU 2023 “LoRa Exploitation Reloaded”).

Tecniche di attacco pratiche

1. Sniff & Decrypt traffic

# Capture all channels around 868.3 MHz with an SDR (USRP B205)
python3 lorattack/sniffer.py \
--freq 868.3e6 --bw 125e3 --rate 1e6 --sf 7 --session smartcity

# Bruteforce AppKey from captured OTAA join-request/accept pairs
python3 lorapwn/bruteforce_join.py --pcap smartcity.pcap --wordlist top1m.txt

2. OTAA join-replay (riutilizzo di DevNonce)

  1. Cattura un legittimo JoinRequest.
  2. Ritrasmettilo immediatamente (o incrementa RSSI) prima che il dispositivo originale trasmetta di nuovo.
  3. Il server di rete assegna un nuovo DevAddr e chiavi di sessione mentre il dispositivo target continua con la vecchia sessione → l'attaccante possiede una sessione vacante e può iniettare uplink falsificati.

3. Downgrading Adaptive Data-Rate (ADR)

Forza SF12/125 kHz per aumentare il tempo di trasmissione → esaurisci il ciclo di lavoro del gateway (denial-of-service) mantenendo basso l'impatto sulla batteria dell'attaccante (invia solo comandi MAC a livello di rete).

4. Jamming reattivo

HackRF One che esegue un flusso GNU Radio attiva un chirp a banda larga ogni volta che viene rilevato un preambolo blocca tutti i fattori di diffusione con ≤200 mW TX; interruzione totale misurata a 2 km di distanza.


Strumenti offensivi (2025)

Strumento Scopo Note
LoRaWAN Auditing Framework (LAF) Creare/analizzare/attaccare i frame LoRaWAN, analizzatori supportati da DB, brute-forcer Immagine Docker, supporta input Semtech UDP
LoRaPWN Utility Python di Trend Micro per brute OTAA, generare downlink, decrittografare payload Demo rilasciata nel 2023, SDR-agnostico
LoRAttack Sniffer multi-canale + replay con USRP; esporta PCAP/LoRaTap Buona integrazione con Wireshark
gr-lora / gr-lorawan Blocchi OOT di GNU Radio per TX/RX a banda base Fondazione per attacchi personalizzati

Raccomandazioni difensive (checklist per pentester)

  1. Preferire dispositivi OTAA con DevNonce veramente casuali; monitorare i duplicati.
  2. Applicare LoRaWAN 1.1: contatori di frame a 32 bit, FNwkSIntKey / SNwkSIntKey distinti.
  3. Memorizzare il contatore di frame in memoria non volatile (ABP) o migrare a OTAA.
  4. Implementare secure-element (ATECC608A/SX1262-TRX-SE) per proteggere le chiavi radice contro l'estrazione del firmware.
  5. Disabilitare le porte di inoltro pacchetti UDP remoti (1700/1701) o limitare con WireGuard/VPN.
  6. Tenere i gateway aggiornati; Kerlink/Dragino forniscono immagini patchate per il 2024.
  7. Implementare rilevamento delle anomalie nel traffico (ad es., analizzatore LAF) segnalare ripristini del contatore, join duplicati, cambiamenti improvvisi di ADR.

Riferimenti