부인 성명
도구는 여전히 적극적으로 건설 중입니다. 스나이퍼 유틸리티는 125kHz 대역폭으로 잘 작동해야하므로 자유롭게 테스트하십시오. 현재 Lorawan Gateway를 소유하고 있지 않으므로 전송 기능은 더 많은 테스트가 필요합니다.
문제가 발생하면 자유롭게 문제를 제기하십시오.
로라 택
이 저장소는 Lorawan 네트워크 보안을 평가하기위한 툴킷을 제공합니다. 제공하는 내용은 다음과 같습니다.
- 다 채널 스니핑 : SDR (소프트웨어 정의 라디오)을 사용하여 여러 채널에서 Lorawan 트래픽을 캡처합니다.
- 세션 기반 캡처 : 세션 생성 및 관리. 세션 내에서 캡처 된 핸드 셰이크는 추가 분석을 위해 자동으로 저장됩니다.
- 키 파생 : 세션에 맞는 캡처 된 핸드 셰이크 데이터에서 암호화 키를 도출하여 해당 세션에 속하는 패킷의 암호 해독을 가능하게합니다.
- Wireshark 호환성 : DLT 번호가 수정 된 PCAP 파일에서 트래픽을 캡처하여 Wireshark를 사용한 완벽한 분석을 보장합니다.
- 취약성 테스트 : 보안 평가 중에 알려진 Lorawan 취약점에 대한 특정 페이로드를 프로브로 재생합니다.
- 공격 안내 : 테스트 프로세스를 간소화하기 위해 공격 및 단계별 안내서에 대한 자세한 설명에 액세스하십시오.

목차
설치
요구 사항 :
- Linux 시스템 (Ubuntu, Debian으로 테스트)
- ETTUS Research의 USRP 소프트웨어 정의 라디오 (B200, B205MINI로 테스트)
1. GNU 라디오 및 종속성 설치 :
Linux 배포에 대한 GNU 라디오 위키에 대한 지침을 따르십시오 : https://wiki.gnuradio.org/index.php/installinggr
2. USRP 하드웨어 드라이버 설치 :
Ettus Research USRP 저장소 추가 :
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-host
3. LORA 공격 툴킷 리포지토리 복제 :
git clone https://github.com/konicst1/lorattack.git
4. 종속성 설치 :
툴킷 디렉토리로 이동하여 종속성을 설치하십시오.
cd lorattack
source venv/bin/activate
pip install -r requirements.txt
sudo apt-get update
sudo apt-get install bittwist
Gr-Lora 라이브러리를 설치하십시오.
- https://github.com/rpp0/gr-lora
- https://github.com/tapparelj/gr-lora_sdr
5. 파이썬 경로 업데이트 (가상 환경을 사용하는 경우) :
이 단계는 가상 환경이 환경 외부에 설치된 gnuradio에 액세스 할 수 있도록합니다.
export PYTHONPATH=/usr/local/lib/python3.10/dist-packages:/usr/lib/python3.10/site-packages: $PYTHONPATH
export PYTHONPATH= " /usr/lib/python3/dist-packages: $PYTHONPATH "
# Update library path (if necessary)
export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH
참고 : /usr/local/lib/python3.10 Python 3 설치 디렉토리의 실제 경로로 바꾸십시오. 라이브러리 경로 업데이트 ( export LD_LIBRARY_PATH... ) 조정 라이브러리와 관련된 문제가 발생하는 경우에만 조정하십시오.
6. LORA 공격 툴킷 실행 :
참고 : 자세한 사용 지침은 툴킷의 문서 (사용 가능한 경우)를 참조하십시오.
용법
세션
- 새 세션 : Lorawan 트래픽을 스니핑 할 때마다 설명 이름을 가진 새 세션을 만듭니다. 이를 통해 각 캡처에는 나중에 암호 해독을위한 자체 키 세트가 있는지 확인합니다.
- 세션 선택 : 추가 분석 또는 재생 공격을 위해 기존 세션을 선택하여 활성화하십시오. Lorattack은 선택한 세션의 핸드 셰이크 데이터를 사용하여 해당 캡처에 특정한 암호 해독 키를 도출합니다.
별도의 세션은 암호 해독에 중요합니다. Lorattack의 각 세션은 데이터 핸드 셰이크를 추출하여 해당 세션 내에서 캡처 된 패킷을위한 고유 키를 도출하여 자세한 분석을 가능하게합니다.
세션 데이터를 편집하려면 세션/data/<session_name> /data.json 파일을 편집하십시오.
손수건
Lorattack의 Sniffer는 지정된 중심 주파수 주변의 여러 채널에서 Lorawan 트래픽을 캡처하여 실시간 디코딩 및 암호 해독을 가능하게합니다 (키를 사용할 수있는 경우).

- Sniff : 이 하위 메뉴는 Lorawan 트래픽을 포착 할 수 있습니다.
- Sniff Up/Down Link (Bidirectional) : 업 링크 (네트워크로의 장치) 및 다운 링크 (네트워크 대 장치) 트래픽을 모두 캡처합니다. 참고 : 동일한 데이터가 양방향으로 전송되면 양방향 캡처가 중복 패킷을 초래할 수 있습니다.
- Sniff Uplink : 업 링크 트래픽 만 캡처하기 시작합니다.
- Sniff Downlink : 다운 링크 트래픽 만 캡처를 시작합니다.
- 구성 : 이 하위 메뉴는 캡처 설정을 정의하는 스나이퍼 구성 파일 (
config/sniffer.config )을 편집 할 수 있습니다.- 주파수 (중심 주파수) : 스니핑을 위해 중심 주파수 (예 : "868.6e6")를 지정하십시오. Lorattack은 선택한 대역폭을 기반 으로이 중심 주파수 주변의 채널을 캡처합니다.
- 대역폭 : 중심 주파수 주변에서 캡처 된 주파수 범위를 정의하기 위해 채널 대역폭 (예 : "125000")을 설정하십시오.
- 샘플 속도 : SDR 하드웨어의 샘플링 속도 (예 : "1000000")를 정의합니다.
- 확산 계수 : Lorawan 네트워크가 사용하는 스프레딩 팩터 (7-12)를 지정합니다 (데이터 속도 및 범위에 영향).
- 게인 (DB) : 신호 강도를 조정하도록 SDR 안테나의 게인 (예 : "10dB")을 설정하십시오.
디코딩 및 암호 해독 :
- 캡처 된 패킷은 실시간으로 디코딩되어 Lorawan 커뮤니케이션 구조에 대한 통찰력을 제공합니다.
- 세션 구성 파일에 암호화 키가있는 경우 암호 해독이 가능하고 자동으로 수행됩니다.
- 키는 수동으로 지정할 수 있습니다.
- 조인 요청 및 가입 허락 메시지가 캡처되면 키를 자동으로 파생 할 수 있습니다 (Appkey는 수동으로 구성해야합니다)

패킷 저장 :
- 스니핑 된 모든 패킷은 현재 세션 디렉토리 내에서 PCAP 형식으로 저장됩니다.
- Wireshark Prefix가있는 PCAP에는 UDP 헤더가 제거되었으며 DLT는 Wireshark를 사용하여 쉽게 분석 할 수 있도록 Lorawan (147) 으로 설정됩니다.
분석기
분석기 하위 메뉴에는 활성 세션과 관련된 PCAP 파일 목록이 표시됩니다. PCAP 파일을 선택하면 분석 프로세스가 시작됩니다.

- 트래픽 분석 : 분석기는 패킷 구조를 검사하고 조인 요청/수락 메시지가있는 경우 로라완 통신 및 세션 값을 디코딩합니다.
- 암호 해독 (해당되는 경우) : 세션 구성에 필요한 암호화 키 (NWKSKEY 및 APPSKEY)가 포함 된 경우 분석기는 패킷 페이로드를 해독하려고 시도합니다.
공격

시뮬레이션 가이드 라인을 공격하십시오
TBD