taibeihacker
Moderator
LTESniffer是一个开源LTE下行链路/上行链路窃听器
它首先解码了所有活动用户的下行链路控制频道(PDCCH),以获取下行链路控制信息(DCIS)和无线网络临时标识符(RNTI)。 LTESNIFFER使用解码的DCI和RNTIS进一步解码物理下行链路共享通道(PDSCH)和物理上行链路共享通道(PUSCH),以检索上行链路和下行链路数据流量。
LTESNIFFER支持API,具有三个用于安全应用程序和研究的功能。许多LTE安全研究都假设了一个被动的嗅探器,可以捕获与隐私相关的数据包。但是,当前的开源嗅探器中的不满足他们的要求,因为它们无法在PDSCH和PUSCH中解码协议数据包。我们开发了概念验证的安全性API,该API支持以前的Works :提出的三个任务: 1)身份映射,2)IMSI收集和3)功能分析。
请参阅我们的论文以获取更多详细信息。
LTESniffer in layman's terms
ltesniffer是一种工具,可以捕获在连接到它的电池塔和智能手机之间发送的LTE无线消息。 LTESNIFFER支持从塔楼到智能手机,再到智能手机到电池塔的两个方向捕获这些消息。ltesnifferCANNOT DECRYPT在电池塔和智能手机之间加密消息。它可用于分析电池塔和智能手机之间的通信的未加密部分。例如,对于加密消息,它可以允许用户分析未加密的零件,例如Mac和物理层中的标题。但是,可以完全分析以明文发送的那些消息。例如,电池塔发送的广播消息或连接开始时的消息是完全可见的。
Ethical Consideration
LTESNIFFER的主要目的是支持细胞网络上的安全性和分析研究。由于收集了Uplink-Downlink用户数据,因此,LTESNIFFER的任何使用都必须遵循本地法规,以嗅探LTE流量。对于任何非法目的,我们不承担任何责任,例如有意收集与用户隐私相关的信息。Features
New Update
为上行链路嗅探模式支持两个USRP B系列。有关更多详细信息,请参阅Ltesniffer-Multi-USRP分支机构及其REDME。改进了在上行链路中检测到的DCI 0。修复了一些错误。 ltesniffer在SRSRAN库的帮助下在Falcon的顶部实施。 ltesniffer支持:Real-time decoding LTE uplink-downlink control-data channels: PDCCH, PDSCH, PUSCH LTE Advanced and LTE Advanced Pro, up to 256QAM in both uplink and downlink DCI formats: 0, 1A, 1, 1B, 1C, 2, 2A, 2B Transmission modes: 1, 2, 3, 4 FDD only Maximum 20 MHz base station.自动检测智能手机的最大UL/DL模块方案(DL上的64QAM/256QAM和UL上的16QAM/64QAM/256QAM)自动检测每个UE的物理层配置。 LTE安全性API: RNTI-TMSI映射,IMSI收集,可容纳性分析。
Hardware and Software Requirement
OS Requirement
目前,Ltesniffer在Ubuntu 18.04/20.04/22.04上稳定工作。Hardware Requirement
实现LTE流量实时解码需要具有多个物理内核的高性能CPU。尤其是当基站在高峰时段有许多活跃用户时。 Ltesniffer在Intel I7-9700K PC上运行时能够实现实时解码,以在具有150个活跃用户的基站上解码流量。The following hardware is recommendedIntel I7 CPU至少8个物理内核至少16GB RAM 256 GB SSD存储
SDR
LTESNIFFER需要不同的SDR才能进行上行链路和下行链路嗅探模式。要嗅探仅来自基站的下行链路流量,ltesniffer与SRSRAN库支持的大多数SDR兼容(例如,USRP或Bladerf)。 SDR应通过USB 3.0端口连接到PC。此外,它应该配备GPSDO和两个RX天线,以在传输模式3和4中解码下行链路消息。
另一方面,要嗅探从智能手机到基站的上行链路流量,Ltesniffer需要同时收听两个不同的频率(上行链路和下行链路)。为了解决此问题,ltesniffer支持两个选项:
使用单个USRP X310。 USRP X310具有两个用于2个RX通道的本地振荡器(LOS),可以将每个RX通道转换为一个不同的上行链路/下链路频率。要使用此选项,请参阅Ltesniffer的主要分支。使用2个USRP B系列。 Ltesniffer使用2个USRP B系列(B210/B200)进行上行链路和下行链路。它通过使用GPSDO进行时钟源和时间参考来实现2个USRP之间的同步。要使用此选项,请参考Ltesniffer及其读数的Ltesniffer-Multi-USRP分支。
Installation
Important note: To avoid unexpected errors, please follow the following steps on Ubuntu 18.04/20.04/22.04.DependenciesImportant dependency: UHD库版本=4.0必须提前安装(建议从源头构建)。可以在Ubuntu 18.04上使用以下步骤。请参阅UHD手册以获取完整的安装指南。 UHD依赖项:sudo apt更新
sudo apt-get安装autoconf autoconf build-exental ccache cmake cpufrequtils doxygen ethtool \
g ++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-0-0-0-dev \
libusb-dev python3-dev python3-mako python3-numpy python3-重新Quects python3-scipy python3-stetuptools \
python3-ruamel.yaml克隆并从源构建UHD(确保当前分支高于4.0)
git克隆https://github.com/ettusresearch/uhd.git
CD UHD-REPO PATH/主机
mkdir构建
CD构建
cmake ./
制作-j 4
进行测试
Sudo进行安装
sudo ldconfig下载usrps:的firmwares
sudo uhd_images_downloader我们使用10GB卡将USRP X310连接到PC,请参阅UHD手册[1],[2]以配置USRP X310和10GB卡接口。对于USRP B210,应通过USB 3.0端口连接到PC。
测试连接和固件(仅适用于USRP X310):
sudo sysctl -w net.core.rmem_max=33554432
sudo sysctl -w net.core.wmem_max=33554432
sudo ifconfig 10GB卡接口mtu 9000
sudo uhd_usrp_probe srsRAN dependencies: sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev LTESniffer dependencies: sudo apt-get install libglib2.0-dev libdev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-devBuild LTESniffer from source:git克隆https://github.com/syssec-kaist/ltesniffer.git.git.git.git.git.git.git.git.git.git.git
CD ltesniffer
mkdir构建
CD构建
cmake ./
Make -J 4(使用4个线程)
Usage
ltesniffer具有3个主要功能:从源代码构建后,LTESNIFFER嗅探LTE下行链路流量从智能手机安全API嗅探LTE上行链路流量,位于build-dir/src/ltesniffer中
请注意,在商业上使用Ltesniffer之前,正如我们在Ethical Consideration中解释的那样,必须检查有关嗅探LTE流量的当地法规。
为了找出基站和上行链路链条频段测试智能手机已连接到测试智能手机上的Cellular-Z应用程序(该应用仅支持Android)。它将显示连接测试智能手机的单元格ID和上行链路- 下链接频段/频率。确保ltesniffer还连接到相同的单元格和频率。
General downlink sniffing
sudo ./build-dir/src/ltesniffer -a 2 -W线程数-f DL FREQ -C -M 0
example: sudo ./src/ltesniffer -a 2 -W 4 -f 1840E6 -C -M 0
-A:天线数
-W:线程数
-F:下行链路频率
-C:打开单元搜索
-m:嗅探器模式,0用于下行链路嗅探,上行链路嗅探Note:在下链接模式下使用usrp b210运行ltesniffer,添加选项-a'num_recv_frames=512'到命令行中。此选项扩展了USRP B210的接收缓冲区,以实现更好的同步。
sudo ./build-dir/src/ltesniffer -a 2 -W线程数-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'
General uplink sniffing
Note: In the uplink sniffing mode, the test smartphones should be located nearby the sniffer, because the uplink signal power from UE is significantly weaker compared to the downlink signal from the基站。sudo ./build -dir/src/ltesniffer -a 2 -W线程数-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:上行链路频率