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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-78306 — DJI 드론 Bluetooth DUML 명령 주입을 악용하여 인증되지 않은 명령을 전송해 자격 증명을 읽고, Wi-Fi 구성을 변경하며, 항공기 시스템을 제어하는 개념 증명. | Kitploit
도구/GitHubGitHub/wh02m1/cve-2026-78306
Embedded Systems SecurityBluetooth SecurityIoT SecurityPayload GenerationVulnerability AnalysisExploitationWireless SecurityPenetration TestingHardware & IoT Security
GitHubwh02m1/cve-2026-78306

CVE-2026-78306

DJI 드론 Bluetooth DUML 명령 주입을 악용하여 인증되지 않은 명령을 전송해 자격 증명을 읽고, Wi-Fi 구성을 변경하며, 항공기 시스템을 제어하는 개념 증명.

2171151개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2026-78306 — 블루투스를 통한 DJI 드론 DUML 명령 주입 POC

CVE-2026-78306

CVE 레코드: https://www.cve.org/CVERecord?id=CVE-2026-78306

NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-78306

image

설명

DJI 드론은 드론의 Wi-Fi 인터페이스에 연결을 설정하고 Wi-Fi 자격 증명을 교환하는 데 사용되는 블루투스 인터페이스를 노출합니다

블루투스 인터페이스는 세 가지 명령에 대해 장치의 신뢰할 수 있는 UUID를 확인합니다:

  • Wi-Fi SSID 가져오기
  • Wi-Fi 비밀번호 가져오기
  • Wi-Fi MAC 주소 가져오기

나머지 명령에는 동일한 인증 확인이 필요하지 않습니다. 그 결과, 블루투스 범위 내에 있는 원격 공격자가 드론에 무단 DUML 명령을 전송할 수 있을 수 있습니다.

명령에 따라 공격자는 Wi-Fi 비밀번호 변경 및 잠재적으로 드론의 내부 네트워크에 대한 접근 권한 획득을 포함하여 드론의 구성을 수정할 수 있으며, 무선 인터페이스를 활성화 또는 비활성화하고, 항공기를 재시작하거나 전원을 끄고, 드론이 촬영한 모든 비디오와 사진을 지우는 구성 초기화를 수행하고, 기타 다른 작업을 수행할 수 있습니다.

참고: 이 취약점 공격은 현재 Wi-Fi를 통해 드론을 제어할 때는 비행 중에 작동하며, 무선을 통해 드론을 제어할 때는 지상에서/드론이 착륙했을 때 작동합니다.

영향을 받는 제품

제품영향을 받는 버전
DJI Neo0 – 01.00.0400
DJI Neo 20 – 01.00.0500
DJI Flip0 – 01.00.1200
DJI Air 30 – 01.00.1600
DJI Air 3S0 – 01.00.1400
DJI Avata 20 – 01.00.0400
DJI Avata 3600 – 01.00.0300
DJI Mavic 30 – 01.00.1400
DJI Mavic 3 Classic0 – 01.00.0800
DJI Mavic 3 Pro0 – 01.01.0700
DJI Mavic 4 Pro0 – 01.00.0500
DJI Mini 20 – 01.07.0200
DJI Mini 30 – 01.00.0500
DJI Mini 3 Pro0 – 01.00.0900
DJI Mini 4 Pro0 – 01.00.1100
DJI Mini 5 Pro0 – 01.00.0600

DEMO

https://github.com/user-attachments/assets/57f51df2-5160-404c-9fd3-2a3a8b700008

설치

1. POC 설치

# Clone the repository
git clone https://github.com/Wh02m1/CVE-2026-78306.git
cd CVE-2026-78306-POC

# Create and activate a Python virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

2. 드론 전원 켜기

3. POC 실행

python3 ble_console.py

4. 스캔 후 Drone SSID 선택

명령 참조

다음 명령들은 commands.json에 등록되어 있으며, 해당 파일에서 직접 생성됩니다. danger로 표시된 명령은 전송 전에 명시적인 확인이 필요합니다.

읽기 명령

명령수행 기능
GET WiFi SSID [AUTH]구성된 Wi-Fi SSID를 조회합니다. 신뢰할 수 있는 UUID가 필요합니다.
GET WiFi Password [AUTH]Wi-Fi WPA2 사전 공유 키를 조회합니다. 신뢰할 수 있는 UUID가 필요합니다.
GET WiFi MAC address [AUTH]Wi-Fi AP MAC 주소를 조회합니다. 신뢰할 수 있는 UUID가 필요합니다.
GET Country Code두 글자 규제 국가 코드를 조회합니다.
GET Channel현재 활성화된 Wi-Fi 채널을 조회합니다.
GET Band구성된 2.4/5 GHz 대역 선택을 조회합니다.
GET RSSI [stub]RSSI 핸들러를 쿼리합니다. 이 빌드는 스텁 값을 반환합니다.
GET WiFi/BT statusWi-Fi 및 Bluetooth 무선 상태를 조회합니다.
GET Version펌웨어 버전 문자열을 조회합니다.

쓰기 구성 명령

명령수행 기능
SET NEW WiFi SSID구성된 Wi-Fi SSID를 변경합니다.
SET NEW WiFi Password구성된 Wi-Fi 비밀번호를 변경합니다.
SET NEW WiFi MAC Address런타임 Wi-Fi BSSID 구성을 변경합니다.
SET NEW Country Code구성된 규제 국가 코드를 변경합니다.
SET NEW Country Code Ext확장 국가 코드 구성을 처리합니다.
SET NEW ChannelWi-Fi 채널을 변경하고 AP를 재시작합니다.

이러한 작업은 POC에서 danger로 분류되므로 전송 전에 명시적인 확인이 필요합니다.

무선 제어 명령

명령수행 기능
Start WiFiWi-Fi 인터페이스를 시작합니다.
Stop WiFiWi-Fi 인터페이스를 중지합니다.
Restart WiFi + BluetoothWi-Fi 및 Bluetooth 무선을 재시작합니다.
Start BluetoothBluetooth 무선을 시작합니다.
Stop BluetoothBluetooth 무선을 중지하고 현재 세션을 종료합니다.
Sysmode power controlWi-Fi/Bluetooth 무선 전원 상태를 제어합니다.

초기화 명령

명령수행 기능
Factory Reset WIFIWi-Fi 구성을 기본 상태로 복원합니다.
Factory Restore Params네트워크 구성을 공장 기본값으로 복원합니다.

POC는 두 작업 모두 영구 구성을 수정하므로 위험한 것으로 표시합니다.

시스템 명령

명령수행 기능
Start The Drone FTP server항공기의 FTP 서비스를 시작합니다.
Enable Storage Export스토리지 내보내기를 활성화합니다.
Disable Storage Export스토리지 내보내기를 비활성화합니다.
reboot The Drone항공기를 재부팅합니다.
poweroff The Drone항공기의 전원을 끕니다(다시 켜려면 물리적 접근이 필요합니다).
powersave mode The Drone항공기를 절전 모드로 전환합니다.

원격 컨트롤러 DoS 명령

명령수행 기능
Start Remote Controller DoS원격 컨트롤러 서비스 거부 시퀀스의 첫 단계로, 연결 해제 단계에 필요한 상태로 항공기를 전환합니다.
Stop Remote Controller DoS시퀀스를 완료합니다. 항공기가 컨트롤러 링크 서비스를 중단하여 원격 컨트롤러가 항공기를 잃게 됩니다. 먼저 첫 단계를 실행하십시오.
Remote Controller Recover항공기를 정상 작동 상태로 되돌리려고 시도합니다.

매개변수 명령

명령수행 기능
Change a parameter32비트 이름 해시를 사용하여 드론 구성 매개변수를 변경합니다.
Reset a parameter구성 매개변수를 펌웨어 기본값으로 초기화합니다.

POC는 flyc_parameters.txt에서 매개변수 이름을 가져오며 대화형 매개변수 선택을 제공합니다. 수정하거나 초기화하려는 알려진 매개변수를 추가하려면 해당 이름을 flyc_parameters.txt에 추가하십시오. 그러면 POC를 시작할 때 해당 매개변수를 선택할 수 있습니다.

확인 화면

danger로 분류된 명령은 전송 전에 명시적인 확인이 필요합니다.

확인 화면에는 다음과 같은 정보가 표시됩니다:

──────────────────────────────────────────────────────────────────────
  !!!  DANGEROUS COMMAND  !!!
──────────────────────────────────────────────────────────────────────
 COMMAND    Factory Reset WIFI
 ROUTE      07/0f → 0x07
 PAYLOAD    (none)
 DOES       resets the Wi-Fi config and regenerates the PSK
 WARNING    Disconnects every device currently on the drone's Wi-Fi.
──────────────────────────────────────────────────────────────────────
 Type YES to send:

매개변수

Change a parameter 함수는 flyc_parameters.txt에 나열된 알려진 구성 매개변수에 대한 접근을 제공합니다.

Reset a parameter는 reset_cfg_item을 사용하여 선택한 매개변수를 펌웨어 기본값으로 복원합니다.

추출된 매개변수의 전체 목록과 자세한 내용은 FLYC Parameters 위키 페이지를 참조하십시오.


매크로

POC는 또한 몇 가지 사전 정의된 매크로를 제공합니다:

명령설명
Restart WifiWi-Fi를 중지하고 시작합니다 (0x42 다음에 0x41).
SET NEW PSK + Restart wifiPSK를 변경한 다음 Wi-Fi를 재시작합니다.
Probe read commands등록된 읽기 명령을 전송하고 어떤 명령이 응답하는지 보고합니다.

매크로는 개별 명령 항목과 별도로 정의됩니다.


⚠️ 면책 조항

⚠️ 경고: 이 개념 증명(proof of concept)은 오직 교육, 보안 연구, 그리고 승인된 침투 테스트 목적으로만 사용해야 합니다.

이 POC는 DJI Bluetooth/DUML 명령 처리 인터페이스의 보안 문제를 보여줍니다. 일부 명령은 기기 구성을 변경하거나, 무선 인터페이스를 비활성화하거나, 연결을 중단시키거나, 항공기를 재부팅 또는 전원 끄기하거나, 구성을 초기화하거나, 저장된 데이터를 삭제할 수 있습니다.

⚠️ 소유하지 않았거나 테스트에 대한 명시적 승인이 없는 항공기, 기기, 네트워크 또는 시스템에 대해 이 POC를 사용하지 마십시오.

일부 명령은 데이터 손실, 구성 변경, 연결 손실, 기기 중단 또는 기타 의도하지 않은 결과를 초래할 수 있습니다. 테스트는 항공기와 주변 사람 및 재산이 위험에 노출되지 않는 통제된 환경에서만 수행해야 합니다.

저자는 이 POC의 사용 또는 오용으로 인해 발생하는 어떠한 손해, 데이터 손실, 서비스 중단, 항공기 운용 또는 기타 결과에 대해서도 책임지지 않습니다.

⚠️ 이 POC를 사용함으로써 귀하는 테스트가 승인되었으며 모든 관련 법률, 규정 및 책임 있는 공개 요건을 준수하도록 보장할 책임을 수락합니다.

도구 다운로드