Radio
Reading time: 9 minutes
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.
SigDigger
SigDigger è un analizzatore di segnali digitali gratuito per GNU/Linux e macOS, progettato per estrarre informazioni da segnali radio sconosciuti. Supporta una varietà di dispositivi SDR tramite SoapySDR e consente la demodulazione regolabile di segnali FSK, PSK e ASK, decodifica video analogico, analisi di segnali burst e ascolto di canali vocali analogici (tutto in tempo reale).
Configurazione di base
Dopo l'installazione ci sono alcune cose che potresti considerare di configurare.
Nelle impostazioni (il secondo pulsante della scheda) puoi selezionare il dispositivo SDR o selezionare un file da leggere e quale frequenza sintonizzare e il tasso di campionamento (consigliato fino a 2.56Msps se il tuo PC lo supporta)
Nel comportamento della GUI è consigliato abilitare alcune cose se il tuo PC lo supporta:
note
Se ti rendi conto che il tuo PC non sta catturando nulla, prova a disabilitare OpenGL e abbassare il tasso di campionamento.
Usi
- Per catturare un po' di tempo di un segnale e analizzarlo basta mantenere premuto il pulsante "Push to capture" finché ne hai bisogno.
- Il Tuner di SigDigger aiuta a catturare segnali migliori (ma può anche degradarli). Idealmente inizia da 0 e continua a aumentarlo fino a trovare che il rumore introdotto è maggiore del miglioramento del segnale di cui hai bisogno.
Sincronizzazione con il canale radio
Con SigDigger sincronizza con il canale che vuoi ascoltare, configura l'opzione "Anteprima audio a banda base", configura la larghezza di banda per ottenere tutte le informazioni inviate e poi imposta il Tuner al livello prima che il rumore inizi realmente ad aumentare:
Trucchi interessanti
- Quando un dispositivo sta inviando burst di informazioni, di solito la prima parte sarà un preambolo, quindi non devi preoccuparti se non trovi informazioni lì o se ci sono alcuni errori.
- Nei frame di informazioni dovresti di solito trovare diversi frame ben allineati tra loro:
- Dopo aver recuperato i bit potresti doverli elaborare in qualche modo. Ad esempio, nella codifica Manchester un up+down sarà un 1 o 0 e un down+up sarà l'altro. Quindi coppie di 1 e 0 (up e down) saranno un vero 1 o un vero 0.
- Anche se un segnale utilizza la codifica Manchester (è impossibile trovare più di due 0 o 1 di seguito), potresti trovare diversi 1 o 0 insieme nel preambolo!
Scoprire il tipo di modulazione con IQ
Ci sono 3 modi per memorizzare informazioni nei segnali: modulando l'ampiezza, la frequenza o la fase.
Se stai controllando un segnale ci sono diversi modi per cercare di capire cosa viene utilizzato per memorizzare informazioni (trova più modi qui sotto) ma uno buono è controllare il grafico IQ.
- Rilevamento AM: Se nel grafico IQ appare ad esempio 2 cerchi (probabilmente uno in 0 e l'altro in un'ampiezza diversa), potrebbe significare che questo è un segnale AM. Questo perché nel grafico IQ la distanza tra 0 e il cerchio è l'ampiezza del segnale, quindi è facile visualizzare diverse ampiezze utilizzate.
- Rilevamento PM: Come nell'immagine precedente, se trovi piccoli cerchi non correlati tra loro probabilmente significa che viene utilizzata una modulazione di fase. Questo perché nel grafico IQ, l'angolo tra il punto e il 0,0 è la fase del segnale, quindi significa che vengono utilizzate 4 fasi diverse.
- Nota che se le informazioni sono nascoste nel fatto che una fase è cambiata e non nella fase stessa, non vedrai fasi diverse chiaramente differenziate.
- Rilevamento FM: IQ non ha un campo per identificare le frequenze (la distanza dal centro è l'ampiezza e l'angolo è la fase).
Pertanto, per identificare FM, dovresti vedere solo fondamentalmente un cerchio in questo grafico.
Inoltre, una frequenza diversa è "rappresentata" dal grafico IQ da una accelerazione di velocità attraverso il cerchio (quindi in SysDigger selezionando il segnale il grafico IQ si popola, se trovi un'accelerazione o un cambiamento di direzione nel cerchio creato potrebbe significare che questo è FM):
Esempio AM
Scoprire AM
Controllare l'involucro
Controllando le informazioni AM con SigDigger e semplicemente guardando l'involucro puoi vedere diversi livelli di ampiezza chiari. Il segnale utilizzato sta inviando impulsi con informazioni in AM, ecco come appare un impulso:
Ecco come appare parte del simbolo con l'onda:
Controllare l'istogramma
Puoi selezionare l'intero segnale dove si trovano le informazioni, selezionare la modalità Ampiezza e Selezione e cliccare su Istogramma. Puoi osservare che si trovano solo 2 livelli chiari
Ad esempio, se selezioni Frequenza invece di Ampiezza in questo segnale AM trovi solo 1 frequenza (non c'è modo che le informazioni modulate in frequenza stiano usando solo 1 frequenza).
Se trovi molte frequenze probabilmente questo non sarà un FM, probabilmente la frequenza del segnale è stata solo modificata a causa del canale.
Con IQ
In questo esempio puoi vedere come c'è un grande cerchio ma anche molti punti al centro.
Ottenere il tasso di simboli
Con un simbolo
Seleziona il simbolo più piccolo che puoi trovare (così sei sicuro che sia solo 1) e controlla la "Frequenza di selezione". In questo caso sarebbe 1.013kHz (quindi 1kHz).
Con un gruppo di simboli
Puoi anche indicare il numero di simboli che stai per selezionare e SigDigger calcolerà la frequenza di 1 simbolo (più simboli selezionati, meglio è probabilmente). In questo scenario ho selezionato 10 simboli e la "Frequenza di selezione" è 1.004 Khz:
Ottenere i bit
Avendo trovato che questo è un segnale modulato AM e il tasso di simboli (e sapendo che in questo caso qualcosa up significa 1 e qualcosa down significa 0), è molto facile ottenere i bit codificati nel segnale. Quindi, seleziona il segnale con informazioni e configura il campionamento e la decisione e premi campione (controlla che Ampiezza sia selezionato, il Tasso di simboli scoperto è configurato e il Recupero dell'orologio di Gardner è selezionato):
- Sincronizza con gli intervalli di selezione significa che se hai precedentemente selezionato intervalli per trovare il tasso di simboli, quel tasso di simboli sarà utilizzato.
- Manuale significa che il tasso di simboli indicato sarà utilizzato
- Nella Selezione a intervallo fisso indichi il numero di intervalli che dovrebbero essere selezionati e calcola il tasso di simboli da esso
- Recupero dell'orologio di Gardner è di solito la migliore opzione, ma devi comunque indicare un tasso di simboli approssimativo.
Premendo campione appare questo:
Ora, per far capire a SigDigger dove si trova l'intervallo del livello che trasporta informazioni, devi cliccare sul livello più basso e mantenere premuto fino al livello più alto:
Se ci fossero stati ad esempio 4 livelli di ampiezza diversi, avresti dovuto configurare i Bit per simbolo a 2 e selezionare dal più piccolo al più grande.
Infine aumentando lo Zoom e cambiando la dimensione della riga puoi vedere i bit (e puoi selezionare tutto e copiare per ottenere tutti i bit):
Se il segnale ha più di 1 bit per simbolo (ad esempio 2), SigDigger non ha modo di sapere quale simbolo è 00, 01, 10, 11, quindi utilizzerà diverse scale di grigio per rappresentare ciascuno (e se copi i bit utilizzerà numeri da 0 a 3, dovrai trattarli).
Inoltre, usa codificazioni come Manchester, e up+down può essere 1 o 0 e un down+up può essere un 1 o 0. In questi casi devi trattare gli up (1) e down (0) ottenuti per sostituire le coppie di 01 o 10 come 0 o 1.
Esempio FM
Scoprire FM
Controllare le frequenze e l'onda
Esempio di segnale che invia informazioni modulate in FM:
Nell'immagine precedente puoi osservare abbastanza bene che vengono utilizzate 2 frequenze ma se osservi l'onda potresti non essere in grado di identificare correttamente le 2 diverse frequenze:
Questo perché ho catturato il segnale in entrambe le frequenze, quindi una è approssimativamente l'altra in negativo:
Se la frequenza sincronizzata è più vicina a una frequenza che all'altra puoi facilmente vedere le 2 frequenze diverse:
Controllare l'istogramma
Controllando l'istogramma delle frequenze del segnale con informazioni puoi facilmente vedere 2 segnali diversi:
In questo caso se controlli l'istogramma dell'ampiezza troverai solo un'ampiezza, quindi non può essere AM (se trovi molte ampiezze potrebbe essere perché il segnale ha perso potenza lungo il canale):
E questo sarebbe l'istogramma di fase (che rende molto chiaro che il segnale non è modulato in fase):
Con IQ
IQ non ha un campo per identificare le frequenze (la distanza dal centro è ampiezza e l'angolo è fase).
Pertanto, per identificare FM, dovresti vedere solo fondamentalmente un cerchio in questo grafico.
Inoltre, una frequenza diversa è "rappresentata" dal grafico IQ da una accelerazione di velocità attraverso il cerchio (quindi in SysDigger selezionando il segnale il grafico IQ si popola, se trovi un'accelerazione o un cambiamento di direzione nel cerchio creato potrebbe significare che questo è FM):
Ottenere il tasso di simboli
Puoi usare la stessa tecnica di quella utilizzata nell'esempio AM per ottenere il tasso di simboli una volta che hai trovato le frequenze che trasportano simboli.
Ottenere i bit
Puoi usare la stessa tecnica di quella utilizzata nell'esempio AM per ottenere i bit una volta che hai trovato che il segnale è modulato in frequenza e il tasso di simboli.
tip
Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos di github.