
Uno strumento di attacco Software Defined Radio
/ |_ _ _ ___ | | / |___ __ | |_ ___ _ _ ___ | (/ _ \ ' (-</ _ \ / -) | (/ _ \ V V / '_ / _ \ || (-< __/||//_/_| __/_/_/|_./_/_, // |/ ___ ___ ___ _ ___ | _ \ / | _ __ _ | | || | / _| (| '/ ` / | / / ||_| ___|| _,_|_\
Benvenuti in RFCrack - Uno strumento per attacchi radio definiti via software
Sviluppatore: @Ficti0n - http://ConsoleCowboys.com
CCLabs: http://cclabs.io
Blog: console-cowboys.blogspot.com
Tutorial di rilascio: https://www.youtube.com/watch?v=H7-g15YZBiI
Reversing Signals With RFCrack: https://www.youtube.com/watch?v=XqKoVFyOst0
Rilascio: 1.6 - Gestione degli errori e correzioni di bug per Py3 e codice di generazione Bruijn + metodo di jamming aggiornato
Hardware necessario: (1 Yardstick o 2 per RollingCode)
YardStick: https://goo.gl/wd88sr
RFCrack è il mio banco di prova RF personale, sviluppato per testare le comunicazioni RF
tra qualsiasi dispositivo fisico che comunica su frequenze sub-GHz. Dispositivi IoT,
auto, sistemi di allarme, ecc... I test sono stati effettuati con Yardstick One su OSX, ma
RFCrack dovrebbe funzionare bene anche su Linux. Il supporto per altri test correlati all'RF
verrà aggiunto secondo necessità durante i miei test. Attualmente sto studiando i bypass delle
chiavi senza contatto e altre funzionalità di analisi dei segnali. Nuove funzionalità verranno
aggiunte in futuro con requisiti hardware aggiuntivi per alcuni attacchi avanzati.
Sentiti libero di usare questo software così com'è per uso personale esclusivamente. Non
utilizzare questo codice in altri progetti o prodotti commerciali. Non mi assumo alcuna
responsabilità per le tue azioni con questo codice. Le tue scelte di vita sono tue.
Funzionalità attualmente supportate:
---------------------------------
- Attacchi di replay -i -F
- Invia payload salvati -s -u
- Attacchi di bypass rolling code -r -F -M
- Mirato -t -F
- Jamming -j -F
- Scansione incrementale delle frequenze -b -v -F
- Scansione delle frequenze comuni -k
- Confronta segnali in arrivo in tempo reale con segnali precedenti -k -c -f -u
- Grafico del segnale -n -g -u
Esempi di utilizzo / Attacchi:
-------------------------
Replay in tempo reale: python RFCrack.py -i
Rolling Code: python RFCrack.py -r -M MOD_2FSK -F 314350000
Regola valori RSSI: python RFCrack.py -r -M MOD_2FSK -F 314350000 -U -100 -L -10
Jamming: python RFCrack.py -j -F 314000000
Scansione frequenze comuni: python RFCrack.py -k
Scansione con la tua lista: python RFCrack.py -k -f 433000000 314000000 390000000
Scansione incrementale: python RFCrack.py -b -v 5000000
Invia payload salvato: python RFCrack.py -s -u ./captures/test.cap -F 315000000 -M MOD_ASK_OOK
Con configurazione caricata: python RFCrack.py -l ./device_templates/doorbell.config -r
Grafico di un segnale: python RFCrack.py -n -g -u 1f0fffe0fffc01ff803ff007fe0fffc1fff83fff07
Identificazione e confronto segnali in tempo reale (usa 2 finestre console):
-----------------------------------------------------------------
Configura sniffer: python RFCrack.py -k -c -f 390000000
Configura analisi: python RFCrack.py -c -u 1f0fffe0fffc01ff803ff007fe0fffc1fff83fff07f -n
Argomenti utili:
------------------------
-M Cambia modulazione, solitamente MOD_2FSK o MOD_ASK_OOK
-F Cambia la frequenza usata negli attacchi
-U valore forza segnale upper_rssi per rolling code
-L valore forza segnale lower.rssi per rolling code
-S Cambia spaziatura canale
-V Cambia deviazione della modulazione
-a Variazione frequenza jamming rispetto allo sniffer
-s Invia pacchetto da un file sorgente
-d Salva le impostazioni attuali del dispositivo in un template caricabile dopo il completamento dell'attacco
-l Carica configurazione dispositivo precedentemente salvata con l'attacco
-n Stai utilizzando funzionalità che non richiedono un yardstick collegato
-u Usa dati salvati nel tuo attacco
Spiegazione delle directory:
----------------------
- Le catture salvate vengono salvate nella directory ./captures per impostazione predefinita!
- Anche le catture di identificazione segnali in tempo reale vengono salvate nella directory ./captures in capturedClicks.log
- I template dei dispositivi vengono salvati e caricati da ./device_templates per impostazione predefinita
- I log di scansione vengono salvati in ./scanning_logs con nomi basati su data e ora di inizio scansione
- Le immagini di confronto dei grafici vengono salvate in imageOutput in 2 formati
- Live: LiveComparison.png verrà sovrascritto ad ogni analisi del segnale
- Analisi log: viene usato il formato Comparison1 Comparison2 e sovrascritto ad ogni analisi del log
Altre note:
------------------------
Tieni presente che il rolling code è un'arma a doppio taglio a causa della sua natura di jamming
e sniffing simultanei, ma funziona. Basta usare il keyfob vicino agli yardsticks come se stessi
pedinando il tuo bersaglio. Saranno necessari anche 2 yardsticks, uno per sniffare mentre l'altro
fa jamming. Gli yardsticks non inviano e ricevono contemporaneamente.
E una nota finale: questo è il mio banco di prova personale per fare ricerca e sviluppo; se hai
idee per rendere RFCrack migliore basate su scenari d'uso realistici, sentiti libero di
contattarmi. Se le idee sono realistiche, ben pensate e riutilizzabili, le implementerò.