0Pricing
Cyber Security Academy · Lezione

Catturare e riprodurre i segnali

Intercettare e riprodurre trasmissioni RF.

Catturare e riprodurre i segnali è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.

Il concetto di attacco replay

Un attacco replay è la vulnerabilità RF più semplice e comune: si cattura una trasmissione legittima e la si ritrasmette in un secondo momento per riprodurne l’effetto. Non è necessaria alcuna decrittografia se il ricevitore accetta due volte lo stesso segnale.

Questo attacco funziona contro qualsiasi dispositivo il cui comando sia una trasmissione fissa e statica:

  • Telecomandi economici per porte da garage.
  • Telecomandi base per automobili privi di codici variabili.
  • Campanelli wireless, sensori d’allarme e prese telecomandate.
  • Alcuni telecomandi industriali per gru e cancelli.

Se un segnale catturato continua a funzionare dopo alcuni minuti o giorni, il sistema è vulnerabile per sua progettazione.

Individuazione della frequenza bersaglio

Prima di catturare un segnale, individui la frequenza sulla quale trasmette il dispositivo. La maggior parte dei telecomandi consumer opera nelle bande ISM: 315 MHz (Nord America), 433,92 MHz (Europa e gran parte del mondo), 868 MHz e 915 MHz.

Sintonizzi un RTL-SDR su queste bande, prema il pulsante del telecomando e osservi lo spettrogramma waterfall per individuare una raffica di energia. L’FCC ID stampato sul dispositivo spesso rivela la frequenza operativa esatta attraverso i documenti normativi pubblici.

# Browse the 433 MHz band live and watch the waterfall
gqrx

# Or auto-identify known devices on the air
rtl_433 -f 433.92M -A

Cattura di una trasmissione

Una volta nota la frequenza, registri i campioni I/Q grezzi mentre il dispositivo trasmette. Catturi un burst pulito e isolato, così il segnale sarà facile da analizzare e riprodurre.

Per la cattura è sufficiente un RTL-SDR di sola ricezione; per trasmettere in un secondo momento serve un HackRF o un dispositivo simile. Annoti sempre la frequenza centrale esatta e la frequenza di campionamento utilizzate, perché dovrà riprodurre il segnale con parametri corrispondenti.

# Capture raw I/Q at 433.92 MHz, 2 Msps
rtl_sdr -f 433.92M -s 2048000 -n 4096000 remote.iq

# Capture with HackRF for later transmit on the same hardware
hackrf_transfer -r remote.iq -f 433920000 -s 2000000

Replay con un trasmettitore

Per eseguire il replay, ritrasmetta il file I/Q catturato sulla stessa frequenza e con la stessa frequenza di campionamento, usando hardware in grado di trasmettere come un HackRF.

Poiché il ricevitore confronta la forma d’onda grezza, una ritrasmissione esatta riproduce il comando originale. Esegua sempre il replay all’interno di un involucro schermato, a meno che non disponga di un’autorizzazione esplicita e dell’autorizzazione legale necessaria per trasmettere.

# Replay the captured file with HackRF
hackrf_transfer -t remote.iq -f 433920000 -s 2000000 -x 40

# -x sets TX gain; keep it minimal and use proper antennas

Decodifica invece del replay alla cieca

Il replay alla cieca funziona, ma decodificare il segnale consente di comprenderlo meglio e di eseguire attacchi più sofisticati. Strumenti come Universal Radio Hacker (URH) consentono di demodulare il burst, recuperare il flusso di bit e individuarne la struttura.

  • Individui il preambolo e la parola di sincronizzazione.
  • Determini la velocità dei simboli e la codifica, spesso Manchester o PWM.
  • Individui il payload statico del comando.

Una volta decodificato il segnale, può creare nuove trasmissioni, sottoporre i campi a fuzzing o verificare se qualche parte del messaggio cambia tra una pressione e l’altra.

Codici variabili e perché il replay fallisce

I telecomandi moderni impediscono il replay ingenuo usando codici variabili (hopping code). A ogni pressione viene usato un nuovo codice derivato da un segreto condiviso e da un contatore incrementale.

  • Il trasmettitore e il ricevitore restano sincronizzati tramite il contatore.
  • Un codice catturato viene invalidato quando il ricevitore avanza oltre quel codice.
  • Un vecchio codice riprodotto viene semplicemente rifiutato.

Sistemi come KeeLoq hanno reso popolare questo approccio. I codici variabili alzano notevolmente il livello di sicurezza, ma, come mostra la scena successiva, i difetti di implementazione possono comunque creare delle vulnerabilità.

Come eludere i codici variabili: RollJam

I codici variabili possono comunque essere aggirati con una tecnica di cattura e jamming, dimostrata per la prima volta in modo famoso con RollJam:

  • L’attaccante disturba il ricevitore mentre cattura simultaneamente la prima pressione del telecomando della vittima, su una banda stretta che il jammer non copre.
  • Il telecomando non funziona, quindi l’utente preme di nuovo il pulsante. L’attaccante cattura il secondo codice e riproduce il primo.
  • L’attaccante dispone ora di un codice futuro non utilizzato e ancora valido.

Poiché il ricevitore non ha mai visto il primo codice, questo rimane valido. La tecnica sfrutta la finestra di tolleranza del protocollo, invece di violare la crittografia.

Abuso della risincronizzazione del contatore dei codici variabili

Alcuni ricevitori con codici variabili accettano codici all’interno di una finestra di risincronizzazione per tollerare pressioni accidentali dei pulsanti quando il telecomando è fuori portata. Se questa finestra è ampia o delimitata in modo inadeguato, un attaccante che cattura diversi codici consecutivi può prevedere o forzare la risincronizzazione.

Le implementazioni meno recenti di KeeLoq soffrivano inoltre di vulnerabilità che consentivano di recuperare la chiave del produttore: estrarre la chiave principale da un singolo telecomando permetteva di clonare intere linee di prodotti. Si tratta di difetti di implementazione, non di problemi dell’idea dei codici variabili in sé.

Jamming e denial of service

Il jamming inonda una frequenza di rumore, impedendo ai ricevitori legittimi di ascoltare le trasmissioni valide. È un componente fondamentale di RollJam e rappresenta di per sé una minaccia di denial of service.

  • I sensori wireless degli allarmi possono essere disturbati, impedendo che un evento di apertura della porta raggiunga il pannello.
  • I sistemi di accesso senza chiave e i telecomandi possono essere resi inutilizzabili.

Il jamming è illegale in quasi tutte le giurisdizioni, anche per i test. Lo dimostri soltanto in un laboratorio schermato e con un’autorizzazione esplicita. La sua rilevanza consiste nel comprendere come gli attaccanti combinano il jamming con la cattura e perché i sistemi devono rilevare la perdita del segnale.

Riepilogo degli strumenti

Un workflow pratico di cattura e replay utilizza un set compatto di strumenti:

  • RTL-SDR — analisi e cattura, solo in ricezione.
  • HackRF One — cattura e trasmissione per i test di replay.
  • URH — demodulazione, decodifica e creazione di segnali.
  • rtl_433 — identificazione rapida dei dispositivi noti.
  • Flipper Zero — pratica cattura e riproduzione sul campo di semplici segnali sub-GHz.

Flipper è molto usato per dimostrare il replay contro telecomandi con codice statico, ma viene bloccato dai codici variabili implementati correttamente: è esattamente questo il concetto che i clienti devono comprendere.

Difendersi dal replay

Le raccomandazioni di una valutazione contro il replay includono:

  • Sostituire i codici statici con codici variabili autenticati o con un protocollo challenge-response.
  • Usare finestre di risincronizzazione strette e limitate e chiavi crittografiche uniche per ogni dispositivo, mai una chiave principale condivisa.
  • Aggiungere timestamp o nonce, così ogni comando è valido una sola volta e solo per un breve periodo.
  • Implementare il rilevamento del jamming: i pannelli degli allarmi dovrebbero considerare la perdita improvvisa del segnale di un sensore come un evento di manomissione.
  • Preferire protocolli bidirezionali, nei quali il ricevitore conferma ogni comando.

Il principio fondamentale è questo: un comando che può essere registrato e riprodotto in modo identico è vulnerabile. Ogni azione autorizzata deve essere crittograficamente unica.

Verifica rapida

Verifichi la sua comprensione degli attacchi di replay contro i codici variabili.

Riepilogo

Ora è in grado di acquisire, analizzare e riprodurre segnali RF e di ragionare sulle relative difese:

  • Un attacco di replay ritrasmette un comando statico acquisito ed è efficace contro i telecomandi a codice fisso.
  • Flusso di lavoro: individui la frequenza nelle bande ISM, acquisisca I/Q con RTL-SDR, riproduca il segnale con HackRF e lo decodifichi con URH.
  • I codici variabili vanificano il replay ingenuo, ma RollJam (acquisizione e jamming) e finestre di risincronizzazione troppo ampie o chiavi master condivise riaprono questa possibilità.
  • Il jamming è illegale al di fuori di laboratori schermati e autorizzati ed è alla base degli attacchi denial-of-service e RollJam.
  • La difesa richiede comandi autenticati e monouso, risincronizzazione limitata, chiavi per dispositivo e rilevamento del jamming.

Con questo si conclude il corso RF and Wireless Hacking: dai fondamenti degli SDR fino a Bluetooth, contactless e replay dei segnali.

Domande Frequenti

La lezione «Catturare e riprodurre i segnali» è gratuita?

Sì — il testo completo di «Catturare e riprodurre i segnali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.

Cosa imparerò in «Catturare e riprodurre i segnali»?

Intercettare e riprodurre trasmissioni RF. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cyber Security Academy?

Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Catturare e riprodurre i segnali»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?

Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Fondamenti di RF e SDR
  2. Attacchi a Bluetooth e BLE
  3. Sicurezza di RFID e NFC
  4. Catturare e riprodurre i segnali
← Torna a Cyber Security Academy