Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
LTESniffer — Un intercettatore open source per downlink/uplink LTE. | Kitploit
Strumenti/GitHubGitHub/syssec-kaist/ltesniffer
OSINT (Open Source Intelligence)Sniffing e Analisi dei PacchettiRicognizioneRaccolta InformazioniSicurezza di ReteSicurezza WirelessPaper e RicercaApprendimento e Formazione
GitHubsyssec-kaist/ltesniffer

LTESniffer

Un intercettatore open source per downlink/uplink LTE.

Vedi Repository
2.2k2321 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

LTESniffer - Uno strumento open-source per l'intercettazione del traffico LTE in downlink/uplink

LTESniffer è uno strumento open-source per l'intercettazione del traffico LTE in downlink/uplink.

Innanzitutto decodifica il Physical Downlink Control Channel (PDCCH) per ottenere le Downlink Control Informations (DCI) e i Radio Network Temporary Identifiers (RNTI) di tutti gli utenti attivi. Utilizzando le DCI e gli RNTI decodificati, LTESniffer decodifica ulteriormente il Physical Downlink Shared Channel (PDSCH) e il Physical Uplink Shared Channel (PUSCH) per recuperare il traffico dati in uplink e downlink.

LTESniffer supporta un'API con tre funzioni per applicazioni di sicurezza e ricerca. Molte ricerche sulla sicurezza LTE assumono un analizzatore passivo in grado di catturare i pacchetti relativi alla privacy sul canale radio. Tuttavia, nessuno degli attuali analizzatori open-source soddisfa i loro requisiti, poiché non possono decodificare i pacchetti di protocollo in PDSCH e PUSCH. Abbiamo sviluppato un'API di sicurezza proof-of-concept che supporta tre attività proposte da lavori precedenti: 1) Identity mapping, 2) IMSI collecting e 3) Capability profiling.

Fare riferimento al nostro articolo per maggiori dettagli.

LTESniffer in parole semplici

LTESniffer è uno strumento in grado di catturare i messaggi LTE wireless inviati tra una cella telefonica e gli smartphone collegati ad essa. LTESniffer supporta la cattura dei messaggi in entrambe le direzioni, dalla torre agli smartphone e dagli smartphone alla cella telefonica.

LTESniffer NON PUÒ DECRITTARE i messaggi crittografati tra la cella telefonica e gli smartphone. Può essere utilizzato per analizzare le parti non crittografate della comunicazione tra la cella telefonica e gli smartphone. Ad esempio, per i messaggi crittografati, consente all'utente di analizzare le parti non crittografate, come le intestazioni nei livelli MAC e fisico. Tuttavia, quei messaggi inviati in chiaro possono essere completamente analizzabili. Ad esempio, i messaggi broadcast inviati dalla cella telefonica o i messaggi all'inizio della connessione sono completamente visibili.

Considerazioni etiche

Lo scopo principale di LTESniffer è supportare la ricerca sulla sicurezza e l'analisi della rete cellulare. A causa della raccolta di dati utente in uplink-downlink, qualsiasi utilizzo di LTESniffer deve seguire le normative locali sull'intercettazione del traffico LTE. Non siamo responsabili per scopi illegali, come la raccolta intenzionale di informazioni relative alla privacy degli utenti.

Caratteristiche

Nuovo aggiornamento v2.1.0

  • Supporta la registrazione dei dati IQ grezzi dei sottotrame su file. Fare riferimento al branch LTESniffer-record-subframe e al suo README per maggiori dettagli.
  • Supporta la decodifica offline utilizzando i file registrati (README).
  • Abilita l'API nella modalità downlink (si applica solo alle API di identity collecting e mapping).

Nuovo aggiornamento v2.0.0

  • Supporta due USRP serie B per la modalità di intercettazione uplink. Fare riferimento al branch LTESniffer-multi-usrp e al suo README per maggiori dettagli.
  • Corretti alcuni bug.

LTESniffer è implementato sulla base di FALCON con l'aiuto della libreria srsRAN. LTESniffer supporta:

  • Decodifica in tempo reale dei canali di controllo-dati LTE in uplink-downlink: PDCCH, PDSCH, PUSCH
  • LTE Advanced e LTE Advanced Pro, fino al 256QAM sia in uplink che in downlink
  • Formati DCI: 0, 1A, 1, 1B, 1C, 2, 2A, 2B
  • Modalità di trasmissione: 1, 2, 3, 4
  • Solo FDD
  • Stazione base fino a 20 MHz.
  • Rilevamento automatico degli schemi di modulazione UL/DL massimi degli smartphone (64QAM/256QAM in DL e 16QAM/64QAM/256QAM in UL)
  • Rilevamento automatico della configurazione del livello fisico per ogni UE.
  • API di sicurezza LTE: mapping RNTI-TMSI, IMSI collecting, profiling UECapability.

Requisiti hardware e software

Requisiti di sistema operativo

Attualmente, LTESniffer funziona stabilmente su Ubuntu 18.04/20.04/22.04.

Requisiti hardware

Per ottenere la decodifica in tempo reale del traffico LTE è necessaria una CPU ad alte prestazioni con più core fisici, soprattutto nelle ore di punta quando la stazione base ha molti utenti attivi. LTESniffer ha raggiunto con successo la decodifica in tempo reale quando distribuito su un PC Intel i7-9700K, decodificando il traffico di una stazione base con 150 utenti attivi.

Si consiglia il seguente hardware

  • CPU Intel i7 con almeno 8 core fisici
  • Almeno 16 Gb di RAM
  • 256 Gb di storage SSD

SDR

LTESniffer richiede SDR diversi per le sue modalità di intercettazione uplink e downlink.

Per intercettare solo il traffico downlink dalla stazione base, LTESniffer è compatibile con la maggior parte degli SDR supportati dalla libreria srsRAN (ad esempio, USRP o BladeRF). L'SDR deve essere collegato al PC tramite una porta USB 3.0. Inoltre, deve essere dotato di due antenne RX per decodificare i messaggi downlink nelle modalità di trasmissione 3 e 4. Se il vostro SDR ha una sola antenna RX, LTESniffer decodificherà solo i messaggi downlink nella modalità di trasmissione 1. Si noti che il GPSDO è opzionale per l'intercettazione downlink; aiuta a migliorare la sincronizzazione ma non è obbligatorio.

D'altra parte, per intercettare il traffico uplink dagli smartphone verso le stazioni base, LTESniffer deve ascoltare due frequenze diverse (uplink e downlink) contemporaneamente. Per risolvere questo problema, LTESniffer supporta due opzioni:

  • Utilizzare un singolo USRP X310. L'USRP X310 ha due oscillatori locali (LO) per 2 canali RX, che possono sintonizzare ciascun canale RX su una frequenza di uplink/downlink distinta. Come per l'intercettazione downlink, il GPSDO è opzionale per questa opzione. Per utilizzare questa opzione, fare riferimento al branch main di LTESniffer.
  • Utilizzare 2 USRP serie B. LTESniffer utilizza 2 USRP serie B (B210/B200) separatamente per uplink e downlink. Ottiene la sincronizzazione tra i 2 USRP utilizzando il GPSDO come sorgente di clock e riferimento temporale. Il GPSDO è obbligatorio per questa opzione. Per utilizzare questa opzione, fare riferimento al branch LTESniffer-multi-usrp di LTESniffer e al suo README.

Installazione

Nota importante: per evitare errori imprevisti, seguire i seguenti passaggi su Ubuntu 18.04/20.04/22.04.

Dipendenze

  • Dipendenze importanti: la libreria UHD versione >= 4.0 deve essere installata in anticipo (si consiglia di compilare dal sorgente). I seguenti passaggi possono essere utilizzati su Ubuntu 18.04. Fare riferimento al manuale UHD per la guida completa all'installazione.

Dipendenze UHD:

root@kitploit:~
sudo apt update
sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \
g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \
libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \
python3-ruamel.yaml

Clonare e compilare UHD dal sorgente (assicurarsi che il branch corrente sia superiore alla 4.0)

root@kitploit:~
git clone https://github.com/EttusResearch/uhd.git
cd <uhd-repo-path>/host
mkdir build
cd build
cmake ../
make -j 4
make test
sudo make install
sudo ldconfig

Scaricare i firmware per gli USRP:

root@kitploit:~
sudo uhd_images_downloader

Utilizziamo una scheda 10Gb per collegare USRP X310 al PC; fare riferimento al manuale UHD [1], [2] per configurare l'interfaccia USRP X310 e della scheda 10Gb. Per l'USRP B210, deve essere collegato al PC tramite una porta USB 3.0.

Testare la connessione e il firmware (solo per USRP X310):

root@kitploit:~
sudo sysctl -w net.core.rmem_max=33554432
sudo sysctl -w net.core.wmem_max=33554432
sudo ifconfig <10Gb card interface> mtu 9000
sudo uhd_usrp_probe
  • Dipendenze srsRAN:
root@kitploit:~
sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
  • Dipendenze LTESniffer:
root@kitploit:~
sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev

Compilare LTESniffer dal sorgente:

root@kitploit:~
git clone https://github.com/SysSec-KAIST/LTESniffer.git
cd LTESniffer
mkdir build
cd build
cmake ../
make -j 4 (use 4 threads)

Utilizzo

LTESniffer ha 3 funzioni principali:

  • Intercettazione del traffico LTE in downlink dalla stazione base
  • Intercettazione del traffico LTE in uplink dagli smartphone
  • API di sicurezza

Dopo la compilazione dal sorgente, LTESniffer si trova in <build-dir>/src/LTESniffer

Si noti che prima di utilizzare LTESniffer su una rete commerciale, è necessario verificare le normative locali sull'intercettazione del traffico LTE, come spiegato nella sezione Considerazioni etiche.

Per individuare la stazione base e la banda Uplink-Downlink a cui è connesso lo smartphone di test, installare l'app Cellular-Z sullo smartphone di test (l'app supporta solo Android). Mostrerà l'ID della cella e la banda/frequenza Uplink-Downlink a cui è connesso lo smartphone di test. Assicurarsi che anche LTESniffer si connetta alla stessa cella e frequenza.

Intercettazione downlink generale

LTESniffer Downlink Mode

root@kitploit:~
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -C -m 0
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0
-A: number of antennas
-W: number of threads
-f: downlink frequency
-C: turn on cell search
-m: sniffer mode, 0 for downlink sniffing and 1 for uplink sniffing

Nota: per eseguire LTESniffer con USRP B210 in modalità downlink, aggiungere l'opzione -a "num_recv_frames=512" alla riga di comando. Questa opzione estende il buffer di ricezione per USRP B210 per ottenere una migliore sincronizzazione.

root@kitploit:~
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -C -m 0 -a "num_recv_frames=512"
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0 -a "num_recv_frames=512"

Intercettazione uplink generale

Nota: nella modalità di intercettazione uplink, gli smartphone di test devono trovarsi nelle vicinanze dello strumento di intercettazione, poiché la potenza del segnale uplink dell'UE è notevolmente più debole rispetto al segnale downlink della stazione base.

LTESniffer Uplink Mode

root@kitploit:~
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1
-u: uplink frequency

API di sicurezza

LTESniffer API Mode

root@kitploit:~
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1 -z 3
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1 -z 3
-z: 3 for turnning on 3 functions of sniffer, which are identity mapping, IMSI collecting, and UECapability profiling.
    2 for UECapability profiling
    1 for IMSI collecting
    0 for identity mapping

Specificare una stazione base

LTESniffer può intercettare una stazione base specifica utilizzando le opzioni -I <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)>. In questo caso, LTESniffer non esegue la ricerca della cella ma si collega direttamente alla cella specificata.

root@kitploit:~
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -I <PCI> -p <PRB> -m 0
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -I <PCI> -p <PRB> -m 1
example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -I 379 -p 100 -m 1

La modalità debug può essere abilitata utilizzando l'opzione -d. In questo caso, i messaggi di debug verranno stampati sul terminale.

Output di LTESniffer

LTESniffer fornisce file pcap in output. Il file pcap può essere aperto con WireShark per ulteriori analisi e tracciamento dei pacchetti. Il nome del file pcap downlink è: sniffer_dl_mode.pcap, il file pcap uplink: sniffer_ul_mode.pcap e il file pcap API: api_collector.pcap. I file pcap si trovano nella stessa directory in cui è stato eseguito LTESniffer. Per consentire a WireShark di analizzare correttamente i pacchetti decodificati, fare riferimento alla guida di configurazione di WireShark qui. Nel link sono presenti anche alcuni esempi di file pcap.
Nota: il file pcap uplink contiene sia messaggi uplink che downlink. In WireShark, utilizzare questo filtro per monitorare solo i messaggi uplink: mac-lte.direction == 0; oppure questo filtro per monitorare solo i messaggi downlink: mac-lte.direction == 1.

Note applicative

Distanza per l'intercettazione uplink

La portata effettiva per l'intercettazione uplink è limitata in LTESniffer a causa delle capacità del front-end RF dell'hardware (cioè SDR). La potenza del segnale uplink dell'UE è notevolmente più debole rispetto al segnale downlink perché l'UE è un dispositivo portatile che ottimizza l'uso della batteria, mentre l'eNB utilizza potenza sufficiente per coprire un'area ampia. Per catturare con successo il traffico uplink, LTESniffer può aumentare l'intensità della potenza del segnale i) avvicinandosi fisicamente all'UE, oppure ii) migliorando la capacità di ricezione del segnale con hardware specializzato, come un'antenna direzionale, un front-end RF dedicato e un amplificatore di segnale.

Le informazioni visualizzate sul terminale

Modalità di intercettazione Downlink

Processed 1000/1000 subframes: Numero di sottotrame elaborate da LTESniffer nell'ultimo 1 secondo. Ci sono 1000 sottotrame LTE al secondo per progetto.
RNTI: Radio Network Temporary Identifier degli UE.
Table: Lo schema di modulazione massimo utilizzato dagli smartphone in downlink. LTESniffer supporta fino al 256QAM nel downlink. Fare riferimento al nostro articolo per maggiori dettagli.
Active: Numero di messaggi rilevati degli RNTI.
Success: Numero di messaggi decodificati con successo rispetto al numero di messaggi rilevati (Active).
New TX, ReTX, HARQ, Normal: Statistiche dei nuovi messaggi e dei messaggi ritrasmessi. Questa funzione è in fase di sviluppo.
W_MIMO, W_pinfor, Other: Numero di messaggi con configurazione radio errata, solo per debug.

Modalità di intercettazione Uplink

Max Mod: Lo schema di modulazione massimo utilizzato dagli smartphone in uplink. Può essere 16/64/256QAM a seconda del supporto degli smartphone e della configurazione della rete. Fare riferimento al nostro articolo per maggiori dettagli.
SNR: Rapporto segnale-rumore (dB). Un SNR basso significa che la qualità del segnale uplink dallo smartphone è scadente. Una possibile ragione è che lo smartphone è lontano dallo strumento di intercettazione.
DL-UL_delay: La media del ritardo temporale tra il segnale downlink della stazione base e il segnale uplink dello smartphone.
Other Info: Informazioni solo per debug.

Modalità API

Detected Identity: Il nome dell'identità rilevata.
Value: Il valore dell'identità rilevata.
From Message: Il nome del messaggio che contiene l'identità rilevata.

Crediti

Ringraziamo sinceramente il FALCON e il team SRS per aver reso disponibili i loro ottimi software.

Collaboratori

Un ringraziamento speciale a tutti i collaboratori che ci hanno aiutato a correggere i bug e a migliorare LTESniffer

  1. cellular777
  2. Cemaxecuter
  3. Ksk190809

BibTex

Fare riferimento al nostro articolo per maggiori dettagli.

root@kitploit:~
@inproceedings{hoang:ltesniffer,
  title = {{LTESniffer: An Open-source LTE Downlink/Uplink Eavesdropper}},
  author = {Hoang, Dinh Tuan and Park, CheolJun and Son, Mincheol and Oh, Taekkyung and Bae, Sangwook and Ahn, Junho and Oh, BeomSeok and Kim, Yongdae},
  booktitle = {16th ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec '23)},
  year = {2023}
}

Cronologia stelle

Star History Chart

FAQ

D: È obbligatorio utilizzare il GPSDO con l'USRP per eseguire LTESniffer?
R: Il GPSDO è utile per una sincronizzazione più stabile. Tuttavia, per la modalità di intercettazione downlink, LTESniffer può comunque sincronizzarsi con il segnale LTE per decodificare i pacchetti senza GPSDO. Per la modalità di intercettazione uplink, il GPSDO è richiesto solo quando si utilizzano 2 USRP serie B, poiché è la sorgente di riferimento temporale e di clock per la sincronizzazione tra i canali uplink e downlink. L'altra opzione SDR per l'uplink, utilizzando un singolo USRP X310, non richiede il GPSDO.

D: Per il traffico downlink, posso usare un SDR più economico?
R: Tecnicamente, qualsiasi SDR supportato dalla libreria srsRAN, come Blade RF, può essere utilizzato per eseguire LTESniffer in modalità di intercettazione downlink. Tuttavia, abbiamo testato la funzione di intercettazione downlink di LTESniffer solo con USRP B210 e X310.

D: È illegale usare LTESniffer per intercettare il traffico LTE?
R: Dovresti verificare le normative locali sull'intercettazione del traffico LTE (non crittografato). Un altro modo per testare LTESniffer è configurare una rete LTE personale utilizzando srsRAN - un'implementazione LTE open-source in una gabbia di Faraday.

D: LTESniffer può essere utilizzato per visualizzare il contenuto dei messaggi tra due utenti?
R: Si può vedere solo la parte "non crittografata" dei messaggi. Si noti che il traffico aereo tra la stazione base e gli utenti è per lo più crittografato.

D: Esiste qualche identità del dispositivo esposta in chiaro nella rete LTE?
R: Sì, la letteratura mostra che vengono esposte molteplici identità, come TMSI, GUTI, IMSI e RNTI. Fare riferimento alla letteratura accademica per maggiori dettagli. Ad esempio, Watching the Watchers: Practical Video Identification Attack in LTE Networks

Scarica lo strumento