Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
LTESniffer — 오픈소스 LTE 하향링크/상향링크 도청기 | Kitploit
도구/GitHubGitHub/syssec-kaist/ltesniffer
OSINT (Open Source Intelligence)Packet Sniffing & AnalysisReconnaissanceInformation GatheringNetwork SecurityWireless SecurityPapers & ResearchLearning & Education
GitHubsyssec-kaist/ltesniffer

LTESniffer

오픈소스 LTE 하향링크/상향링크 도청기

저장소 보기
2.2k232771년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

LTESniffer - 오픈소스 LTE 하향링크/상향링크 도청기

LTESniffer는 오픈소스 LTE 하향링크/상향링크 도청기입니다.

먼저 물리 하향링크 제어 채널(PDCCH)을 디코딩하여 모든 활성 사용자의 하향링크 제어 정보(DCI)와 무선 네트워크 임시 식별자(RNTI)를 획득합니다. 디코딩된 DCI와 RNTI를 사용하여 LTESniffer는 물리 하향링크 공유 채널(PDSCH)과 물리 상향링크 공유 채널(PUSCH)을 추가로 디코딩하여 상향링크 및 하향링크 데이터 트래픽을 검색합니다.

LTESniffer는 보안 애플리케이션과 연구를 위한 세 가지 기능을 제공하는 API를 지원합니다. 많은 LTE 보안 연구는 무선상에서 개인정보 관련 패킷을 캡처할 수 있는 수동적 스니퍼를 가정합니다. 그러나 현재 오픈소스 스니퍼 중 PDSCH와 PUSCH의 프로토콜 패킷을 디코딩할 수 없어 그 요구 사항을 충족하는 것은 없습니다. 우리는 이전 연구에서 제안된 세 가지 작업, 즉 1) 신원 매핑(Identity mapping), 2) IMSI 수집(IMSI collecting), 3) 능력 프로파일링(Capability profiling)을 지원하는 개념 증명 보안 API를 개발했습니다.

자세한 내용은 [논문][paper]을 참조하십시오.

쉽게 설명하는 LTESniffer

LTESniffer는 기지국과 그에 연결된 스마트폰 사이에 전송되는 LTE 무선 메시지를 캡처할 수 있는 도구입니다. LTESniffer는 기지국에서 스마트폰으로, 그리고 스마트폰에서 기지국으로의 양방향 메시지 캡처를 지원합니다.

LTESniffer는 기지국과 스마트폰 사이의 암호화된 메시지를 복호화할 수 없습니다. 기지국과 스마트폰 간 통신의 암호화되지 않은 부분을 분석하는 데 사용할 수 있습니다. 예를 들어 암호화된 메시지의 경우 MAC 및 물리 계층의 헤더와 같은 암호화되지 않은 부분을 분석할 수 있습니다. 그러나 평문으로 전송되는 메시지는 완전히 분석할 수 있습니다. 예를 들어 기지국이 보내는 브로드캐스트 메시지나 연결 시작 시의 메시지는 완전히 볼 수 있습니다.

윤리적 고려 사항

LTESniffer의 주요 목적은 셀룰러 네트워크에 대한 보안 및 분석 연구를 지원하는 것입니다. 상향링크-하향링크 사용자 데이터를 수집하기 때문에 LTESniffer의 모든 사용은 LTE 트래픽 스니핑에 관한 현지 규정을 준수해야 합니다. 우리는 의도적으로 사용자 개인정보 관련 정보를 수집하는 것과 같은 불법적인 목적에 대해 책임을 지지 않습니다.

기능

새로운 업데이트 v2.1.0

  • 서브프레임의 IQ 원시 데이터를 파일로 기록하는 기능을 지원합니다. 자세한 내용은 LTESniffer-record-subframe 브랜치와 해당 [README][capture-readme]를 참조하십시오.
  • 기록된 파일을 이용한 오프라인 디코딩을 지원합니다 ([README][capture-readme]).
  • 하향링크 모드에서 API를 활성화합니다 (신원 수집 및 매핑 API에만 적용)

새로운 업데이트 v2.0.0

  • 상향링크 스니핑 모드에서 두 대의 USRP B-시리즈를 지원합니다. 자세한 내용은 LTESniffer-multi-usrp 브랜치와 해당 [README][multi-readme]를 참조하십시오.
  • 일부 버그를 수정했습니다.

LTESniffer는 [srsRAN][srsran] 라이브러리의 도움을 받아 [FALCON][falcon]을 기반으로 구현되었습니다. LTESniffer가 지원하는 기능은 다음과 같습니다:

  • LTE 상향링크-하향링크 제어/데이터 채널 실시간 디코딩: PDCCH, PDSCH, PUSCH
  • LTE Advanced 및 LTE Advanced Pro, 상향링크와 하향링크 모두 최대 256QAM
  • DCI 포맷: 0, 1A, 1, 1B, 1C, 2, 2A, 2B
  • 전송 모드: 1, 2, 3, 4
  • FDD 전용
  • 최대 20 MHz 기지국.
  • 스마트폰의 최대 UL/DL 변조 방식을 자동 감지 (DL은 64QAM/256QAM, UL은 16QAM/64QAM/256QAM)
  • UE별 물리 계층 구성을 자동 감지합니다.
  • LTE 보안 API: RNTI-TMSI 매핑, IMSI 수집, UE 능력 프로파일링.

하드웨어 및 소프트웨어 요구 사항

OS 요구 사항

현재 LTESniffer는 Ubuntu 18.04/20.04/22.04에서 안정적으로 작동합니다.

하드웨어 요구 사항

LTE 트래픽의 실시간 디코딩을 달성하려면 여러 물리 코어를 갖춘 고성능 CPU가 필요하며, 특히 기지국에 활성 사용자가 많은 피크 시간대에 필요합니다. LTESniffer는 Intel i7-9700K PC에 배포되었을 때 150명의 활성 사용자가 있는 기지국의 트래픽을 디코딩하여 실시간 디코딩에 성공했습니다.

다음 하드웨어를 권장합니다

  • 최소 8개의 물리 코어를 갖춘 Intel i7 CPU
  • 최소 16GB RAM
  • 256GB SSD 저장 공간

SDR

LTESniffer는 상향링크 및 하향링크 스니핑 모드에 서로 다른 SDR이 필요합니다.

기지국의 하향링크 트래픽만 스니핑하려면 LTESniffer는 srsRAN 라이브러리가 지원하는 대부분의 SDR(예: USRP 또는 BladeRF)과 호환됩니다.

SDR은 USB 3.0 포트를 통해 PC에 연결되어야 합니다. 또한 전송 모드 3과 4의 하향링크 메시지를 디코딩하려면 두 개의 RX 안테나가 장착되어 있어야 합니다.

SDR에 RX 안테나가 하나만 있는 경우 LTESniffer는 전송 모드 1의 하향링크 메시지만 디코딩합니다. GPSDO는 하향링크 스니핑에 선택 사항입니다. 동기화를 개선하는 데 도움이 되지만 필수는 아닙니다.

반면, 스마트폰에서 기지국으로의 상향링크 트래픽을 스니핑하려면 LTESniffer는 두 개의 서로 다른 주파수(상향링크 및 하향링크)를 동시에 청취해야 합니다. 이 문제를 해결하기 위해 LTESniffer는 두 가지 옵션을 지원합니다:

  • 단일 USRP X310 사용. USRP X310에는 2개의 RX 채널을 위한 2개의 로컬 오실레이터(LO)가 있어 각 RX 채널을 서로 다른 상향링크/하향링크 주파수로 동조할 수 있습니다. 하향링크 스니핑과 마찬가지로 이 옵션에서는 GPSDO가 선택 사항입니다. 이 옵션을 사용하려면 LTESniffer의 main 브랜치를 참조하십시오.
  • 2대의 USRP B-시리즈 사용. LTESniffer는 상향링크와 하향링크에 각각 2대의 USRP B-시리즈(B210/B200)를 사용합니다. GPSDO를 클록 소스 및 시간 기준으로 사용하여 2대의 USRP 간 동기화를 달성합니다. 이 옵션에서는 GPSDO가 필수입니다. 이 옵션을 사용하려면 LTESniffer의 LTESniffer-multi-usrp 브랜치와 해당 [README][multi-readme]를 참조하십시오.

설치

중요 참고 사항: 예기치 않은 오류를 방지하려면 Ubuntu 18.04/20.04/22.04에서 다음 단계를 따르십시오.

의존성

  • 중요 의존성: [UHD][uhd] 라이브러리 버전 >= 4.0이 사전에 설치되어 있어야 합니다 (소스에서 빌드할 것을 권장합니다). 다음 단계는 Ubuntu 18.04에서 사용할 수 있습니다. 전체 설치 안내는 UHD 매뉴얼을 참조하십시오.

UHD 의존성:

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

소스에서 UHD를 클론하고 빌드합니다 (현재 브랜치가 4.0보다 높은지 확인하십시오)

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

USRP용 펌웨어를 다운로드합니다:

sudo uhd_images_downloader

USRP X310을 PC에 연결하기 위해 10Gb 카드를 사용합니다. USRP X310 및 10Gb 카드 인터페이스 구성은 UHD 매뉴얼 [1], [2]을 참조하십시오. 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 card interface> mtu 9000
sudo uhd_usrp_probe
  • srsRAN 의존성:
sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
  • LTESniffer 의존성:
sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev

소스에서 LTESniffer 빌드:

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

사용법

LTESniffer에는 3가지 주요 기능이 있습니다:

  • 기지국의 LTE 하향링크 트래픽 스니핑
  • 스마트폰의 LTE 상향링크 트래픽 스니핑
  • 보안 API

소스에서 빌드한 후 LTESniffer는 <build-dir>/src/LTESniffer에 있습니다.

상용 네트워크에서 LTESniffer를 사용하기 전에 윤리적 고려 사항에서 설명한 대로 LTE 트래픽 스니핑에 관한 현지 규정을 확인해야 합니다.

테스트 스마트폰이 연결된 기지국과 상향링크-하향링크 대역을 확인하려면 테스트 스마트폰에 [Cellular-Z][app] 앱을 설치하십시오 (이 앱은 Android만 지원합니다). 테스트 스마트폰이 연결된 셀 ID와 상향링크-하향링크 대역/주파수를 표시합니다. LTESniffer도 동일한 셀과 주파수에 연결되는지 확인하십시오.

일반 하향링크 스니핑

LTESniffer Downlink Mode

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

참고: 하향링크 모드에서 USRP B210으로 LTESniffer를 실행하려면 명령줄에 -a "num_recv_frames=512" 옵션을 추가하십시오. 이 옵션은 USRP B210의 수신 버퍼를 확장하여 더 나은 동기화를 달성합니다.

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"

일반 상향링크 스니핑

참고: 상향링크 스니핑 모드에서는 테스트 스마트폰이 스니퍼 근처에 있어야 합니다. UE의 상향링크 신호 전력은 기지국의 하향링크 신호보다 훨씬 약하기 때문입니다.

LTESniffer Uplink Mode

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

LTESniffer API Mode

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

특정 기지국 지정

LTESniffer는 -I <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)> 옵션을 사용하여 특정 기지국을 스니핑할 수 있습니다. 이 경우 LTESniffer는 셀 검색을 수행하지 않고 지정된 셀에 직접 연결합니다.

도구 다운로드