Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-78306 — DJI ड्रोन ब्लूटूथ DUML कमांड इंजेक्शन का शोषण करने वाला प्रूफ-ऑफ-कॉन्सेप्ट, जो क्रेडेंशियल पढ़ने, Wi-Fi कॉन्फ़िगरेशन बदलने और विमान प्रणालियों को नियंत्रित करने के लिए अनधिकृत कमांड भेजता है। | Kitploit
उपकरण/GitHubGitHub/wh02m1/cve-2026-78306
एम्बेडेड सिस्टम सुरक्षाब्लूटूथ सुरक्षाIoT सुरक्षापेलोड जनरेशनभेद्यता विश्लेषणशोषणवायरलेस सुरक्षापेनिट्रेशन टेस्टिंगहार्डवेयर और IoT सुरक्षा
GitHubwh02m1/cve-2026-78306

CVE-2026-78306

DJI ड्रोन ब्लूटूथ DUML कमांड इंजेक्शन का शोषण करने वाला प्रूफ-ऑफ-कॉन्सेप्ट, जो क्रेडेंशियल पढ़ने, Wi-Fi कॉन्फ़िगरेशन बदलने और विमान प्रणालियों को नियंत्रित करने के लिए अनधिकृत कमांड भेजता है।

2घं 45मि पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

CVE-2026-78306 — DJI DUML कमांड इंजेक्शन ब्लूटूथ के माध्यम से POC

विवरण

DJI ड्रोन एक ब्लूटूथ इंटरफ़ेस प्रदान करते हैं जिसका उपयोग ड्रोन के Wi-Fi इंटरफ़ेस से कनेक्शन स्थापित करने और Wi-Fi क्रेडेंशियल्स का आदान-प्रदान करने के लिए किया जाता है।

ब्लूटूथ इंटरफ़ेस तीन कमांड्स के लिए डिवाइस के विश्वसनीय UUID की जाँच करता है:

  • Get SSID
  • Get PSK
  • Get MAC address

शेष कमांड्स के लिए समान प्रमाणीकरण जाँच की आवश्यकता नहीं होती है। परिणामस्वरूप, ब्लूटूथ रेंज के भीतर एक रिमोट हमलावर ड्रोन को अनधिकृत DUML कमांड्स भेजने में सक्षम हो सकता है।

कमांड के आधार पर, एक हमलावर ड्रोन के कॉन्फ़िगरेशन को संशोधित करने में सक्षम हो सकता है, जिसमें Wi-Fi पासवर्ड बदलना और संभावित रूप से ड्रोन के आंतरिक नेटवर्क तक पहुँच प्राप्त करना, रेडियो इंटरफ़ेस को सक्षम या अक्षम करना, एयरक्राफ्ट को रीस्टार्ट या पावर ऑफ करना, कॉन्फ़िगरेशन रीसेट करना, और अन्य क्रियाएँ करना शामिल है।

POC एक कमांड रजिस्ट्री प्रदान करता है जो Python स्रोत कोड को संशोधित किए बिना उपलब्ध कमांड्स का परीक्षण करने की अनुमति देता है। कमांड रजिस्ट्री, जिसमें कमांड, रिसीवर, प्रमाणीकरण आवश्यकताएँ, और प्रत्येक कमांड का विवरण शामिल है, commands.json में परिभाषित है।

प्रभावित उत्पाद

उत्पादप्रभावित संस्करण
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 इंस्टॉल करें

root@kitploit:~
# Clone the repository
git clone https://github.com/Wh02m1/CVE-2026-78306-POC.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 चलाएँ

root@kitploit:~
python3 ble_console.py

4. स्कैन के बाद ड्रोन SSID चुनें

image

कमांड संदर्भ

निम्नलिखित कमांड्स commands.json में पंजीकृत हैं। POC कमांड्स को read, configuration, radio-control, reset, system, और parameter ऑपरेशन्स में विभाजित करता है।

Read कमांड्स

Write Configuration कमांड्स

इन ऑपरेशन्स को POC में danger के रूप में वर्गीकृत किया गया है और इसलिए भेजे जाने से पहले स्पष्ट पुष्टि की आवश्यकता होती है।

Radio Control कमांड्स

Radio-control कमांड्स को संबंधित dji_network हैंडलर्स के माध्यम से लागू किया गया है।

Reset कमांड्स

कमांडयह क्या करता है
Factory Reset WIFIWi-Fi कॉन्फ़िगरेशन को उसकी डिफ़ॉल्ट स्थिति में पुनर्स्थापित करता है।
Factory Restore Paramsनेटवर्क कॉन्फ़िगरेशन पैरामीटर तालिका को फैक्ट्री डिफ़ॉल्ट में पुनर्स्थापित करता है।

POC दोनों ऑपरेशन्स को खतरनाक के रूप में चिह्नित करता है क्योंकि वे स्थायी कॉन्फ़िगरेशन को संशोधित करते हैं।

System कमांड्स

Parameter कमांड्स

कमांडयह क्या करता है
Change a parameterइसके 32-बिट नाम हैश का उपयोग करके ड्रोन कॉन्फ़िगरेशन पैरामीटर को बदलता है।
Reset a parameterकॉन्फ़िगरेशन पैरामीटर को उसके फर्मवेयर डिफ़ॉल्ट में रीसेट करता है।

POC flyc_parameters.txt से पैरामीटर नाम प्राप्त करता है और इंटरैक्टिव पैरामीटर चयन प्रदान करता है। एक ज्ञात पैरामीटर जोड़ने के लिए जिसे आप संशोधित या रीसेट करना चाहते हैं, उसका नाम flyc_parameters.txt में जोड़ें। POC शुरू होने पर पैरामीटर चयन के लिए उपलब्ध होगा।

कमांड जोड़ना: कोड नहीं, commands.json संपादित करें

मेनू स्टार्टअप पर commands.json से उत्पन्न होता है। एक कमांड जोड़ने के लिए, किसी सेक्शन की commands सूची में एक नया ऑब्जेक्ट जोड़ें। अगली बार POC शुरू होने पर कमांड दिखाई देगा।

उदाहरण:

root@kitploit:~
{
  "label": "GET Channel",
  "cmd_set": "0x07",
  "cmd_id": "0x2c",
  "receiver": "0x07",
  "payload": "",
  "tier": "read",
  "bt_reply": true,
  "note": "wms_evt_get_chan -> wifi_mgmt_get_chan."
}

कमांड फ़ील्ड्स

डिफ़ॉल्ट रिसीवर 0x07 (network:0) है और डिफ़ॉल्ट सेंडर 0x02 (mobile:0) है।


पेलोड बिल्डर्स

इंटरैक्टिव पेलोड बिल्डर्स payload_builders.py में परिभाषित हैं।

उपलब्ध बिल्डर्स में शामिल हैं:

  • ssid
  • psk
  • country
  • mac
  • channel
  • bss_type
  • power_level
  • raw

एक नया बिल्डर जोड़ने के लिए, फ़ंक्शन को लागू करें, इसे BUILDERS में पंजीकृत करें, और commands.json से इसका नाम संदर्भित करें।


पुष्टि स्क्रीन

danger के रूप में वर्गीकृत कमांड्स को प्रसारण से पहले स्पष्ट पुष्टि की आवश्यकता होती है।

पुष्टि स्क्रीन निम्नलिखित जैसी जानकारी प्रदर्शित करती है:

root@kitploit:~
──────────────────────────────────────────────────────────────────────
  !!!  DANGEROUS COMMAND  !!!
──────────────────────────────────────────────────────────────────────
 COMMAND    device_reset L1 config
 ROUTE      00/de -> ve_air:1
 PAYLOAD    11 01 00 00 00 00
 DOES       system / FC / gimbal / camera / wifi / sdr config reset
 WARNING    The FC configuration reset can restart the motors.
──────────────────────────────────────────────────────────────────────
 Type YES to send:

DOES जानकारी कमांड के note से ली जाती है, जबकि अतिरिक्त चेतावनियाँ commands.json में warn फ़ील्ड से ली जाती हैं।


पैरामीटर्स

Change a parameter फ़ंक्शन flyc_parameters.txt में सूचीबद्ध ज्ञात कॉन्फ़िगरेशन पैरामीटर्स तक पहुँच प्रदान करता है।

एक पैरामीटर को नाम से चुना जा सकता है, एक मान के साथ आपूर्ति की जा सकती है, चयनित लिटिल-एंडियन चौड़ाई में परिवर्तित किया जा सकता है, और set_cfg_item (0x03/0xf9) का उपयोग करके भेजा जा सकता है।

Reset a parameter चयनित पैरामीटर को उसके फर्मवेयर डिफ़ॉल्ट में पुनर्स्थापित करने के लिए reset_cfg_item (0x03/0xfa) का उपयोग करता है।


मैक्रोज़

POC कई पूर्वनिर्धारित मैक्रोज़ भी प्रदान करता है:

मैक्रोविवरण
Restart WifiWi-Fi को बंद और शुरू करता है (0x42 के बाद 0x41)।
SET NEW PSK + Restart wifiPSK को बदलता है और फिर Wi-Fi को रीस्टार्ट करता है।
Probe read commandsपंजीकृत read कमांड्स भेजता है और रिपोर्ट करता है कि कौन से कमांड्स प्रतिक्रिया देते हैं।

मैक्रोज़ व्यक्तिगत कमांड प्रविष्टियों से अलग परिभाषित हैं।


फ़ाइलें


⚠️ अस्वीकरण

⚠️ चेतावनी: यह प्रूफ ऑफ कॉन्सेप्ट पूरी तरह से शैक्षिक, सुरक्षा-अनुसंधान, और अधिकृत पेनेट्रेशन-टेस्टिंग उद्देश्यों के लिए है।

यह POC DJI ब्लूटूथ/DUML कमांड-हैंडलिंग इंटरफ़ेस में सुरक्षा समस्याओं को प्रदर्शित करता है। कुछ कमांड्स डिवाइस कॉन्फ़िगरेशन को संशोधित कर सकते हैं, रेडियो इंटरफ़ेस को अक्षम कर सकते हैं, कनेक्टिविटी को बाधित कर सकते हैं, एयरक्राफ्ट को रीबूट या पावर ऑफ कर सकते हैं, कॉन्फ़िगरेशन रीसेट कर सकते हैं, या संग्रहीत डेटा को हटा सकते हैं।

⚠️ इस POC का उपयोग किसी भी एयरक्राफ्ट, डिवाइस, नेटवर्क, या सिस्टम के विरुद्ध न करें जो आपके स्वामित्व में नहीं है या जिसका परीक्षण करने के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।

कुछ कमांड्स डेटा हानि, कॉन्फ़िगरेशन परिवर्तन, कनेक्टिविटी की हानि, डिवाइस व्यवधान, या अन्य अनपेक्षित परिणाम का कारण बन सकते हैं। परीक्षण केवल एक नियंत्रित वातावरण में किया जाना चाहिए जहाँ एयरक्राफ्ट और आसपास के लोग और संपत्ति जोखिम में न हों।

लेखक किसी भी नुकसान, डेटा हानि, सेवा व्यवधान, एयरक्राफ्ट संचालन, या इस POC के उपयोग या दुरुपयोग से उत्पन्न होने वाले अन्य परिणामों के लिए ज़िम्मेदार नहीं हैं।

⚠️ इस POC का उपयोग करके, आप यह सुनिश्चित करने की ज़िम्मेदारी स्वीकार करते हैं कि आपका परीक्षण अधिकृत है और सभी लागू कानूनों, विनियमों, और जिम्मेदार-प्रकटीकरण आवश्यकताओं का अनुपालन करता है।

टूल डाउनलोड करें
कमांडयह क्या करता है
GET SSIDकॉन्फ़िगर किए गए Wi-Fi SSID को प्राप्त करता है।
GET PSKWi-Fi WPA2 प्री-शेयर्ड की को प्राप्त करता है।
GET MACWi-Fi AP MAC एड्रेस को प्राप्त करता है।
GET Country Codeदो-अक्षर वाले नियामक देश कोड को प्राप्त करता है।
GET Channelवर्तमान में सक्रिय Wi-Fi चैनल को प्राप्त करता है।
GET Bandकॉन्फ़िगर किए गए 2.4/5 GHz बैंड चयन को प्राप्त करता है।
GET RSSIRSSI हैंडलर को क्वेरी करता है; इस फर्मवेयर बिल्ड में एक स्टब इम्प्लीमेंटेशन शामिल है।
GET WiFi/BT statusWi-Fi और ब्लूटूथ रेडियो स्थिति को प्राप्त करता है।
GET Device Info/Modelडिवाइस और मॉडल जानकारी प्राप्त करता है।
GET Versionडेमन संस्करण प्राप्त करता है।
GET Bluetooth Nameब्लूटूथ डिवाइस नाम प्राप्त करता है।
कमांडयह क्या करता है
SET SSIDकॉन्फ़िगर किए गए Wi-Fi SSID को बदलता है।
SET PSKकॉन्फ़िगर किए गए Wi-Fi पासवर्ड को बदलता है।
SET MAC Addressरनटाइम Wi-Fi BSSID कॉन्फ़िगरेशन को बदलता है।
SET Country Codeकॉन्फ़िगर किए गए नियामक देश कोड को बदलता है।
SET Country Code Extविस्तारित देश-कोड कॉन्फ़िगरेशन को संभालता है।
SET ChannelWi-Fi चैनल को बदलता है और AP को रीस्टार्ट करने का कारण बनता है।
कमांडयह क्या करता है
Start WIFIWi-Fi इंटरफ़ेस और संबंधित सेवाओं को शुरू करता है।
Stop WIFIWi-Fi इंटरफ़ेस को बंद करता है।
Restart WIFI + BTWi-Fi और ब्लूटूथ सबसिस्टम को रीस्टार्ट करता है।
Start Bluetoothब्लूटूथ सबसिस्टम को शुरू करता है।
Stop Bluetoothब्लूटूथ सबसिस्टम को बंद करता है और वर्तमान सत्र को समाप्त करता है।
Sysmode power controlWi-Fi/ब्लूटूथ पावर स्थिति को नियंत्रित करता है।
कमांडयह क्या करता है
ftpd_startdji_ftpd सेवा को शुरू करता है।
storage_export_enableस्टोरेज-एक्सपोर्ट कॉन्फ़िगरेशन को सक्षम करता है।
storage_export_disableस्टोरेज-एक्सपोर्ट कॉन्फ़िगरेशन को अक्षम करता है।
play_soundएयरक्राफ्ट ध्वनि को ट्रिगर करता है।
muteएयरक्राफ्ट स्पीकर को म्यूट करता है।
unmuteएयरक्राफ्ट स्पीकर को अनम्यूट करता है।
reboot_plainएयरक्राफ्ट को रीबूट करता है।
reboot_poweroffएयरक्राफ्ट को पावर ऑफ करता है।
reboot_powersaveएयरक्राफ्ट को पावर-सेव मोड में डालता है।
device_reset L1 configसिस्टम, फ्लाइट-कंट्रोलर, गिम्बल, कैमरा, Wi-Fi, और SDR कॉन्फ़िगरेशन को रीसेट करता है।
device_reset L2 +MEDIAL1 रीसेट करता है और मीडिया/स्टोरेज को फॉर्मेट करता है।
device_reset L3 +logL2 रीसेट करता है और अतिरिक्त रूप से सिस्टम लॉग को साफ़ करता है।
फ़ील्डआवश्यकअर्थ
labelहाँमेनू में प्रदर्शित टेक्स्ट।
cmd_setहाँDUML कमांड-सेट पहचानकर्ता।
cmd_idहाँDUML कमांड पहचानकर्ता।
receiverहाँवायर रिसीवर बाइट, (index << 5) | type।
payloadनहींहेक्स पेलोड।
tierनहींread, write, या danger।
builderनहींइंटरैक्टिव पेलोड बिल्डर।
authनहींइंगित करता है कि विश्वसनीय UUID आवश्यक है।
bt_replyनहींनियंत्रित करता है कि POC ब्लूटूथ प्रतिक्रिया की प्रतीक्षा करता है या नहीं।
senderनहींसेंडर बाइट; डिफ़ॉल्ट 0x02 है।
afterनहींवैकल्पिक फॉलो-अप क्रिया।
noteनहींPOC द्वारा दिखाया गया रिवर्स-इंजीनियरिंग विवरण।
warnनहींखतरनाक कमांड्स के लिए प्रदर्शित अतिरिक्त चेतावनी टेक्स्ट।
फ़ाइलभूमिका
ble_console.pyमुख्य प्रवेश बिंदु, मेनू और कमांड निष्पादन।
commands.jsonकमांड रजिस्ट्री और कमांड विवरण।
ble_transport.pyब्लूटूथ GATT स्कैनिंग, कनेक्शन और प्रतिक्रिया प्रबंधन।
duml_protocol.pyDUML v1 पैकेट निर्माण और CRC प्रबंधन।
duml_decoders.pyप्रतिक्रिया डिकोडिंग और रिटर्न-कोड प्रबंधन।
payload_builders.pyइंटरैक्टिव पेलोड जनरेशन।
parameters.pyकॉन्फ़िगरेशन पैरामीटर हैशिंग और ऑपरेशन्स।
terminal.pyटर्मिनल UI, प्रॉम्प्ट और आउटपुट प्रबंधन।
flyc_parameters.txtज्ञात कॉन्फ़िगरेशन पैरामीटर नाम।
requirements.txtPython निर्भरताएँ।