June 25, 2014
Introduzione
Perchè un Hacker dovrebbe interessarsi di radio?
Taser drone
Intercettazioni
Intercettazioni
Fake Base Transmitter Station (BTS)
defined radio (SDR)
Ettaus-USRP Universal Radio Peripheral (USRP) http://www.ettus.com/
Applicazioni USRP Applicazioni: Lettore RFID Stazione base GSM Ricevitore GPS Trasmettitore/Ricevitore FM...
RTL-SDR http://www.rtl-sdr.com/
defined radio (SDR)
Identificare il segnale! http://www.rtl-sdr.com/signal-identification-guide/
gqrx http://gqrx.dk/
RTL-SDR scanner http://eartoearoak.com/software/rtlsdr-scanner frequency scanner GPS support for transmitter localization
Kalibrate https://github.com/steve-m/kalibrate-rtl Permette di calibrare l RTL-SDR Identifica i canali GSM
Gnuradio Basato su Python e C++ Grafico a blocchi o programmazione python Supportato dalla comunià
GSM Conoscenza di base GSM: Global System for Mobile Communication Bande di utilizzo: 450 Mhz, 850 Mhz, 900 Mhz, 1800 Mhz, 1900 Mhz FDMA: Frequency Division Multiple Access (200 khz di divisione) ARFCN: Absolute Radio Frequency Channel Number (200 khz di banda, offset tra uplink e downlink)
GSM
GSM MSISDN: Numero internazionale di telefono associato all utente IMSI: Identita internazionele del cellulare (associato alla SIM) formata da MCC+MNC+MSIN IMEI: Numero identificatiovo del telefono IMEISV: Nuovo IMEI che identifica anche la versione del software
Stazione mobile Il telefono (MS) è composta dal dispositivo hardware(me) + SIM, la quale contiene: IMSI, TMSI: identificativo assoluto e temporaneo MCC: Mobile Contry Code, codice nazionale MNC: Mobile Network Code, codice dell operatore (Wind,Vodafone...) MSIN: Identificatore dell utente all interno della rete GSM locale Ki e Kc: chiavi per criptazione, Ki è individuale mentre Kc è usata dall algoritmo di crpitazione A5 LAI: identificativo della zona (Local Area Identity)
Stazione di trasmissione (BTS) Una stazione di trasmissione BTS (Base Transceiver Station) gestisce il collegamento con i telefoni, la codifica, la criptazione,il multiplexing (TDMA) e la modulazione/demodulazione dei segnali radio. compre 120 gradi di raggio quindi una torre ha fino 3 BTS Cell identity: Ogni cella ha un numero che la identifica CGI: Cell Global Identification, sistema di identificazione dei BTS, usato anche per registrare la localizzazione dei MS (sistema VLR) Si connette agli MS tramite Um interface o Air interface
Rete di controllo dei BTS Per controllare I BTS si utilizzano BSC: Base Station Controller BSS: BSC + BTS MSC: Mobile Switching Center, routing delle chiamate GMSC: Gateway Mobile Switching Center, fa da ponte verso la rete telefonica pubblica (PSTN)
GSM
GSM
Cracking GSM Analizzare la cella della vittima Prendere il TMSI della vittima Catturare i dati e ricavare le informazioni per il cracking Crackare il protocollo A5 per ricavare la chiave di decodifica Decodificare il traffico sniffato tramite la chiave ricavata
Analizzare la cella della vittima Il primo passo è riuscire a capire cosa sta girando sulla BTS: Installare Wireshark Installare Airprobe (git://git.gnumonks.org/airprobe.git) Installare Gnuradio Usare il tool Kalibrate per trovare i canali ARFCN. Iniziare ad acquisire i dati con Airprobe e osservare...
Acquisire il TMSI Usare i comandi AT per acquisire i valori del TMSI del cell (utile anche per prendere il Kc) Utilizzare un Silent SMS e osservare su quale canale viene ricevuto il messaggio
Airpobe+Kraken Una volta acquisito il TMSI i dati dobbiamo utilizzare il tool Kraken per ricavare la chiave Kc da utilizzare per la decodifica. Kraken: Richiede in ingresso il keystream della comunicazione Utilizza una tabella da 2TB per trovare la Kc Può essere calcolato indipendentemente dai tool di sniffing
Esempio Esempio. Airprobe produce questo risultato: C1 862344 1332354: 0011110001100001001011100001101111110 P1 862344 1332354: 0011110001100001001011100001101111110 S1 862344 1332354: 0000000000000000000000000000000000000 C1: bit criptati P1: bit decriptati S1: keystrem Kc (criptato XOR decriptati) seconda colonna: numero del frame trasmesso Usando il tool Kraken è possibile trovare il Kc che decripta il burst.
Conclusioni Una volta trovata la chiave Kc possiamo utilizzare Airpobe per decriptare al volo il flusso dati. Stato dell arte:
Conclusioni Una volta trovata la chiave Kc possiamo utilizzare Airpobe per decriptare al volo il flusso dati. Stato dell arte: UN CASINO! La maggior parte dei tool sono stati creati e mai mantenuti La configurazione è molto difficile Pochissima documentazione Pochi utenti bravi, solo sciacalli. Argomenti complessi, per lo più spiegati in articoli universitari.
Cose da fare Studiare
Cose da fare Studiare Creare una comunità (sdr4fun@autistici.org)
Cose da fare Studiare Creare una comunità (sdr4fun@autistici.org) Trasportare tutti gli algoritmi in Gnuradio