Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
LTESniffer — Um espião open-source de downlink/uplink LTE | Kitploit
Ferramentas/GitHubGitHub/syssec-kaist/ltesniffer
OSINT (Inteligência de Fontes Abertas)Sniffing e Análise de PacotesReconhecimentoColeta de InformaçõesSegurança de RedeSegurança Sem FioPapers e PesquisaAprendizado e Educação
GitHubsyssec-kaist/ltesniffer

LTESniffer

Um espião open-source de downlink/uplink LTE

Ver Repositório
2.2k232há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

LTESniffer - Um Espião Open-source de Downlink/Uplink LTE

LTESniffer é um espião open-source de Downlink/Uplink LTE

Primeiro, ele decodifica o Physical Downlink Control Channel (PDCCH) para obter as Downlink Control Informations (DCIs) e os Radio Network Temporary Identifiers (RNTIs) de todos os usuários ativos. Usando as DCIs e RNTIs decodificados, o LTESniffer decodifica ainda o Physical Downlink Shared Channel (PDSCH) e o Physical Uplink Shared Channel (PUSCH) para recuperar o tráfego de dados de uplink e downlink.

O LTESniffer suporta uma API com três funções para aplicações e pesquisas de segurança. Muitas pesquisas de segurança em LTE assumem um sniffer passivo que possa capturar pacotes relacionados à privacidade no ar. No entanto, nenhum dos sniffers open-source atuais atende a esses requisitos, pois não conseguem decodificar pacotes de protocolo em PDSCH e PUSCH. Desenvolvemos uma API de segurança de prova de conceito que suporta três tarefas propostas por trabalhos anteriores: 1) Mapeamento de identidade, 2) Coleta de IMSI e 3) Perfil de capacidade.

Consulte nosso artigo para mais detalhes.

LTESniffer em termos simples

O LTESniffer é uma ferramenta que pode capturar as mensagens sem fio LTE enviadas entre uma torre de celular e os smartphones conectados a ela. O LTESniffer suporta a captura de mensagens em ambas as direções, da torre para os smartphones e dos smartphones de volta para a torre de celular.

O LTESniffer NÃO PODE DESCRIPTOGRAFAR mensagens criptografadas entre a torre de celular e os smartphones. Ele pode ser usado para analisar partes não criptografadas da comunicação entre a torre de celular e os smartphones. Por exemplo, para mensagens criptografadas, ele pode permitir que o usuário analise partes não criptografadas, como cabeçalhos nas camadas MAC e física. No entanto, as mensagens enviadas em texto puro podem ser completamente analisáveis. Por exemplo, as mensagens de broadcast enviadas pela torre de celular, ou as mensagens no início da conexão, são completamente visíveis.

Consideração Ética

O principal propósito do LTESniffer é apoiar pesquisas de segurança e análise na rede celular. Devido à coleta de dados de usuário de uplink-downlink, qualquer uso do LTESniffer deve seguir as regulamentações locais sobre sniffing de tráfego LTE. Não somos responsáveis por quaisquer propósitos ilegais, como a coleta intencional de informações relacionadas à privacidade dos usuários.

Recursos

Nova Atualização v2.1.0

  • Suporta gravação de dados IQ brutos de subtramas em arquivo. Consulte o branch LTESniffer-record-subframe e seu README para mais detalhes.
  • Suporta decodificação offline usando arquivos gravados (README).
  • Habilita a API no modo downlink (aplica-se apenas à coleta de identidade e à API de mapeamento)

Nova Atualização v2.0.0

  • Suporta dois USRPs da série B para o modo de sniffing de uplink. Consulte o branch LTESniffer-multi-usrp e seu README para mais detalhes.
  • Corrigidos alguns bugs.

O LTESniffer é implementado sobre o FALCON com a ajuda da biblioteca srsRAN. O LTESniffer suporta:

  • Decodificação em tempo real dos canais de controle-dados de uplink-downlink LTE: PDCCH, PDSCH, PUSCH
  • LTE Advanced e LTE Advanced Pro, até 256QAM tanto no uplink quanto no downlink
  • Formatos de DCI: 0, 1A, 1, 1B, 1C, 2, 2A, 2B
  • Modos de transmissão: 1, 2, 3, 4
  • Somente FDD
  • Estação base com no máximo 20 MHz.
  • Detectar automaticamente os esquemas máximos de modulação UL/DL dos smartphones (64QAM/256QAM no DL e 16QAM/64QAM/256QAM no UL)
  • Detectar automaticamente a configuração da camada física por UE.
  • API de Segurança LTE: mapeamento RNTI-TMSI, coleta de IMSI, perfil de capacidade do UE (UECapability Profiling).

Requisitos de Hardware e Software

Requisitos de SO

Atualmente, o LTESniffer funciona de forma estável no Ubuntu 18.04/20.04/22.04.

Requisitos de Hardware

Alcançar a decodificação em tempo real do tráfego LTE exige uma CPU de alto desempenho com múltiplos núcleos físicos, especialmente durante horários de pico, quando a estação base tem muitos usuários ativos. O LTESniffer alcançou com sucesso a decodificação em tempo real quando implantado em um PC Intel i7-9700K, decodificando tráfego de uma estação base com 150 usuários ativos.

O seguinte hardware é recomendado

  • CPU Intel i7 com pelo menos 8 núcleos físicos
  • Pelo menos 16 GB de RAM
  • 256 GB de armazenamento SSD

SDR

O LTESniffer exige SDRs diferentes para seus modos de sniffing de uplink e downlink.

Para snifar apenas o tráfego de downlink da estação base, o LTESniffer é compatível com a maioria dos SDRs suportados pela biblioteca srsRAN (por exemplo, USRP ou BladeRF). O SDR deve ser conectado ao PC por meio de uma porta USB 3.0. Além disso, ele deve estar equipado com duas antenas RX para decodificar mensagens de downlink nos modos de transmissão 3 e 4. Se o seu SDR tiver apenas uma antena RX, o LTESniffer só decodificará mensagens de downlink no modo de transmissão 1. Observe que o GPSDO é opcional para o sniffing de downlink; ele ajuda a melhorar a sincronização, mas não é obrigatório.

Por outro lado, para snifar o tráfego de uplink dos smartphones para as estações base, o LTESniffer precisa ouvir duas frequências diferentes (Uplink e Downlink) simultaneamente. Para resolver esse problema, o LTESniffer oferece duas opções:

  • Usar um único USRP X310. O USRP X310 possui dois Osciladores Locais (LOs) para 2 canais RX, o que permite sintonizar cada canal RX em uma frequência distinta de Uplink/Downlink. Semelhante ao Sniffing de Downlink, o GPSDO é opcional para esta opção. Para usar esta opção, consulte o branch main do LTESniffer.
  • Usar 2 USRPs da série B. O LTESniffer utiliza 2 USRPs da série B (B210/B200) separadamente para uplink e downlink. Ele alcança sincronização entre os 2 USRPs usando GPSDO como fonte de clock e referência de tempo. O GPSDO é obrigatório para esta opção. Para usar esta opção, consulte o branch LTESniffer-multi-usrp do LTESniffer e seu README.

Instalação

Nota importante: Para evitar erros inesperados, siga os passos abaixo no Ubuntu 18.04/20.04/22.04.

Dependências

  • Dependência importante: a biblioteca UHD versão >= 4.0 deve ser instalada antecipadamente (recomenda-se compilar a partir do código-fonte). Os passos a seguir podem ser usados no Ubuntu 18.04. Consulte o Manual do UHD para obter orientações completas de instalação.

Dependências do 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

Clone e compile o UHD a partir do código-fonte (certifique-se de que o branch atual seja superior a 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

Baixe os firmwares para USRPs:

root@kitploit:~
sudo uhd_images_downloader

Usamos uma placa de 10Gb para conectar o USRP X310 ao PC; consulte o Manual do UHD [1], [2] para configurar o USRP X310 e a interface da placa de 10Gb. Para o USRP B210, ele deve ser conectado ao PC por meio de uma porta USB 3.0.

Teste a conexão e o firmware (somente para 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
  • Dependências do srsRAN:
root@kitploit:~
sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
  • Dependências do LTESniffer:
root@kitploit:~
sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev

Compile o LTESniffer a partir do código-fonte:

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

Uso

O LTESniffer tem 3 funções principais:

  • Sniffing de tráfego de downlink LTE da estação base
  • Sniffing de tráfego de uplink LTE dos smartphones
  • API de Segurança

Depois de compilar a partir do código-fonte, o LTESniffer está localizado em <build-dir>/src/LTESniffer

Observe que, antes de usar o LTESniffer em redes comerciais, é necessário verificar as regulamentações locais sobre sniffing de tráfego LTE, como explicamos na Consideração Ética.

Para descobrir a estação base e a banda Uplink-Downlink à qual o smartphone de teste está conectado, instale o aplicativo Cellular-Z no smartphone de teste (o aplicativo só suporta Android). Ele mostrará o ID da célula e a banda/frequência Uplink-Downlink à qual o smartphone de teste está conectado. Certifique-se de que o LTESniffer também se conecte à mesma célula e frequência.

Sniffing genérico de downlink

Modo Downlink do LTESniffer

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: para executar o LTESniffer com USRP B210 no modo downlink, adicione a opção -a "num_recv_frames=512" à linha de comando. Essa opção estende o buffer de recepção do USRP B210 para obter melhor sincronização.

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"

Sniffing genérico de uplink

Nota: No modo de sniffing de uplink, os smartphones de teste devem estar localizados próximos ao sniffer, porque a potência do sinal de uplink do UE é significativamente mais fraca em comparação ao sinal de downlink da estação base.

Modo Uplink do LTESniffer

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 de Segurança

Modo API do LTESniffer

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

Especificar uma estação base

O LTESniffer pode snifar uma estação base específica usando as opções -I <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)>. Nesse caso, o LTESniffer não faz a busca de célula, mas se conecta diretamente à célula especificada.

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

O modo de depuração pode ser habilitado usando a opção -d. Nesse caso, as mensagens de depuração serão impressas no terminal.

Saída do LTESniffer

O LTESniffer fornece arquivos pcap na saída. O arquivo pcap pode ser aberto no WireShark para análise adicional e rastreamento de pacotes. O nome do arquivo pcap de downlink: sniffer_dl_mode.pcap, arquivo pcap de uplink: sniffer_ul_mode.pcap e arquivo pcap da API: api_collector.pcap. Os arquivos pcap estão localizados no mesmo diretório em que o LTESniffer foi executado. Para habilitar o WireShark a analisar corretamente os pacotes decodificados, consulte o guia de configuração do WireShark aqui. Há também alguns exemplos de arquivos pcap no link.
Nota: O arquivo pcap de uplink contém mensagens de uplink e downlink. No WireShark, use este filtro para monitorar apenas mensagens de uplink: mac-lte.direction == 0; ou este filtro para monitorar apenas mensagens de downlink: mac-lte.direction == 1.

Nota de Aplicação

Distância para o sniffing de uplink

O alcance efetivo para o sniffing de uplink é limitado no LTESniffer devido à capacidade do front-end de RF do hardware (ou seja, SDR). A potência do sinal de uplink do UE é significativamente mais fraca em comparação ao sinal de downlink, porque o UE é um dispositivo portátil que otimiza o uso da bateria, enquanto o eNB usa potência suficiente para cobrir uma grande área. Para capturar com sucesso o tráfego de uplink, o LTESniffer pode aumentar a intensidade do sinal i) estando fisicamente próximo ao UE, ou ii) melhorando a capacidade de recepção do sinal com hardware especializado, como uma antena direcional, front-end de RF dedicado e amplificador de sinal.

As informações exibidas no terminal

Modo de Sniffing de Downlink

Processed 1000/1000 subframes: Número de subtramas processadas pelo LTESniffer no último 1 segundo. Existem 1000 subtramas LTE por segundo por projeto.
RNTI: Radio Network Temporary Identifier dos UEs.
Table: O esquema máximo de modulação usado pelos smartphones no downlink. O LTESniffer suporta até 256QAM no downlink. Consulte nosso artigo para mais detalhes.
Active: Número de mensagens detectadas de RNTIs.
Success: Número de mensagens decodificadas com sucesso em relação ao número de mensagens detectadas (Active).
New TX, ReTX, HARQ, Normal: Estatísticas de novas mensagens e mensagens retransmitidas. Esta função está em desenvolvimento.
W_MIMO, W_pinfor, Other: Número de mensagens com configuração de rádio incorreta, apenas para depuração.

Modo de Sniffing de Uplink

Max Mod: O esquema máximo de modulação usado pelos smartphones no uplink. Pode ser 16/64/256QAM dependendo do suporte dos smartphones e da configuração da rede. Consulte nosso artigo para mais detalhes.
SNR: Relação sinal-ruído (dB). SNR baixo significa que a qualidade do sinal de uplink do smartphone está ruim. Uma possível razão é o smartphone estar longe do sniffer.
DL-UL_delay: A média do atraso de tempo entre o sinal de downlink da estação base e o sinal de uplink do smartphone.
Other Info: Informação apenas para depuração.

Modo API

Detected Identity: O nome da identidade detectada.
Value: O valor da identidade detectada.
From Message: O nome da mensagem que contém a identidade detectada.

Créditos

Expressamos nosso sincero agradecimento ao FALCON e à equipe SRS por disponibilizarem seus excelentes softwares.

Contribuidores

Agradecimentos especiais a todos os colaboradores que nos ajudaram a corrigir bugs e melhorar o LTESniffer

  1. cellular777
  2. Cemaxecuter
  3. Ksk190809

BibTex

Consulte nosso artigo para mais detalhes.

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}
}

Histórico de Estrelas

Star History Chart

FAQ

P: É obrigatório usar GPSDO com o USRP para executar o LTESniffer?
R: O GPSDO é útil para uma sincronização mais estável. No entanto, para o modo de sniffing de downlink, o LTESniffer ainda consegue sincronizar com o sinal LTE para decodificar os pacotes sem GPSDO. Para o modo de sniffing de uplink, o GPSDO é obrigatório apenas ao usar 2 USRPs da série B, pois é a fonte de referência de tempo e clock para a sincronização entre os canais de uplink e downlink. A outra opção de SDR para uplink, usando um único USRP X310, não exige GPSDO.

P: Para tráfego de downlink, posso usar um SDR mais barato?
R: Tecnicamente, qualquer SDR suportado pela biblioteca srsRAN, como Blade RF, pode ser usado para executar o LTESniffer no modo de sniffing de downlink. No entanto, testamos a função de sniffing de downlink do LTESniffer apenas com USRP B210 e X310.

P: É ilegal usar o LTESniffer para snifar o tráfego LTE?
R: Você deve verificar as regulamentações locais sobre sniffing de tráfego LTE (não criptografado). Outra forma de testar o LTESniffer é montar uma rede LTE pessoal usando srsRAN - uma implementação LTE de código aberto em uma gaiola de Faraday.

P: O LTESniffer pode ser usado para visualizar o conteúdo das mensagens entre dois usuários?
R: Pode-se ver apenas a parte "não criptografada" das mensagens. Observe que o tráfego aéreo entre a estação base e os usuários é majoritariamente criptografado.

P: Existe alguma identidade de dispositivo exposta em texto puro na rede LTE?
R: Sim, a literatura mostra que múltiplas identidades são expostas, como TMSI, GUTI, IMSI e RNTI. Consulte a literatura acadêmica para mais detalhes, por exemplo, Watching the Watchers: Practical Video Identification Attack in LTE Networks.

Baixar ferramenta