Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Dji_ble_vuln — حقن أوامر DUML في طائرة DJI Drone عبر Bluetooth — إثبات مفهوم لـ CVE-2026-78306 | Kitploit
أدوات/GitHubGitHub/feedbeef/dji_ble_vuln
أمان الأنظمة المدمجةأمن البلوتوثأمان إنترنت الأشياءتوليد الحمولةتحليل الثغرات الأمنيةالاستغلالأمن الشبكات اللاسلكيةالقيادة والسيطرةأمان الأجهزة وإنترنت الأشياء
GitHubfeedbeef/dji_ble_vuln

Dji_ble_vuln

حقن أوامر DUML في طائرة DJI Drone عبر Bluetooth — إثبات مفهوم لـ CVE-2026-78306

11منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

CVE-2026-78306 — حقن أوامر DUML في طائرة DJI عبر Bluetooth 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 image

الوصف

تكشف طائرات DJI عن واجهة Bluetooth تُستخدم لإنشاء اتصال بواجهة Wi-Fi الخاصة بالطائرة وتبادل بيانات اعتماد Wi-Fi.

تتحقق واجهة Bluetooth من UUID الموثوق للجهاز لثلاثة أوامر:

  • Get SSID
  • Get PSK
  • Get MAC address

الأوامر المتبقية لا تتطلب نفس فحص المصادقة. ونتيجة لذلك، قد يتمكن مهاجم بعيد ضمن نطاق Bluetooth من إرسال أوامر DUML غير مصرح بها إلى الطائرة.

اعتمادًا على الأمر، قد يتمكن المهاجم من تعديل إعدادات الطائرة، بما في ذلك تغيير كلمة مرور Wi-Fi وربما الحصول على وصول إلى الشبكة الداخلية للطائرة؛ تمكين أو تعطيل واجهات الراديو؛ إعادة تشغيل الطائرة أو إيقاف تشغيلها؛ إعادة تعيين الإعدادات، مما يمحو جميع مقاطع الفيديو والصور التي التقطتها الطائرة؛ وتنفيذ إجراءات أخرى.

يوفر POC سجل أوامر يسمح باختبار الأوامر المتاحة دون تعديل كود Python المصدري. يتم تعريف سجل الأوامر، بما في ذلك الأمر والمستقبل ومتطلبات المصادقة ووصف كل أمر، في commands.json.

المنتجات المتأثرة


العرض التوضيحي

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.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 الخاص بالطائرة

مرجع الأوامر

الأوامر التالية مسجلة في commands.json. يفصل POC الأوامر إلى عمليات القراءة والإعدادات والتحكم بالراديو وإعادة التعيين والنظام والمعاملات.

أوامر القراءة

أوامر كتابة الإعدادات

تُصنَّف هذه العمليات على أنها danger في POC، وبالتالي تتطلب تأكيدًا صريحًا قبل إرسالها.

أوامر التحكم بالراديو

أوامر إعادة التعيين

الأمرما الذي يفعله
Factory Reset WIFIيعيد إعدادات Wi-Fi إلى حالتها الافتراضية.
Factory Restore Paramsيعيد جدول معاملات إعدادات الشبكة إلى إعدادات المصنع الافتراضية.

يصنّف POC كلا العمليتين على أنهما خطيرتان لأنهما تعدّلان الإعدادات الدائمة.

أوامر النظام

أوامر المعاملات

الأمرما الذي يفعله
Change a parameterيغيّر معامل إعدادات الطائرة باستخدام تجزئة اسمه 32-بت.
Reset a parameterيعيد معامل إعدادات إلى الوضع الافتراضي للبرنامج الثابت.

يحصل POC على أسماء المعاملات من flyc_parameters.txt ويوفر اختيارًا تفاعليًا للمعاملات. لإضافة معامل معروف تريد تعديله أو إعادة تعيينه، أضف اسمه إلى flyc_parameters.txt. سيصبح المعامل بعد ذلك متاحًا للاختيار عند بدء POC.

شاشة التأكيد

الأوامر المصنّفة على أنها 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:

المعاملات

توفر وظيفة Change a parameter وصولًا إلى معاملات الإعدادات المعروفة المدرجة في flyc_parameters.txt.

تستخدم Reset a parameter الأمر reset_cfg_item لإعادة المعامل المحدد إلى الوضع الافتراضي للبرنامج الثابت.

للحصول على قائمة كاملة بالمعاملات المستخرجة ومزيد من التفاصيل، راجع صفحة wiki الخاصة بمعاملات FLYC.


وحدات الماكرو

يوفر POC أيضًا عدة وحدات ماكرو محددة مسبقًا:

الماكروالوصف
Restart Wifiيوقف ويبدأ Wi-Fi (0x42 متبوعًا بـ 0x41).
SET NEW PSK + Restart wifiيغيّر PSK ثم يعيد تشغيل Wi-Fi.
Probe read commandsيرسل أوامر القراءة المسجلة ويبلّغ عن الأوامر التي تستجيب.

يتم تعريف وحدات الماكرو بشكل منفصل عن إدخالات الأوامر الفردية.


الملفات


⚠️ إخلاء المسؤولية

⚠️ تحذير: هذا الإثبات للمفهوم مخصص بدقة لأغراض تعليمية وبحث أمني واختبار اختراق مصرح به.

يوضح POC هذا مشكلات أمنية في واجهة معالجة أوامر Bluetooth/DUML الخاصة بـ DJI. يمكن لبعض الأوامر تعديل إعدادات الجهاز، أو تعطيل واجهات الراديو، أو مقاطعة الاتصال، أو إعادة تشغيل الطائرة أو إيقاف تشغيلها، أو إعادة تعيين الإعدادات، أو حذف البيانات المخزنة.

⚠️ لا تستخدم POC هذا ضد أي طائرة أو جهاز أو شبكة أو نظام لا تملكه أو لا تملك تفويضًا صريحًا لاختباره.

قد تتسبب بعض الأوامر في فقدان البيانات، أو تغييرات في الإعدادات، أو فقدان الاتصال، أو تعطيل الجهاز، أو غيرها من العواقب غير المقصودة. يجب إجراء الاختبار فقط في بيئة خاضعة للرقابة حيث لا تكون الطائرة والأشخاص والممتلكات المحيطة في خطر.

المؤلفون غير مسؤولين عن أي ضرر أو فقدان بيانات أو انقطاع خدمة أو تشغيل طائرة أو أي عواقب أخرى ناتجة عن استخدام أو إساءة استخدام POC هذا.

⚠️ باستخدامك POC هذا، فإنك تتحمل مسؤولية ضمان أن اختبارك مصرح به ويمتثل لجميع القوانين واللوائح ومتطلبات الإفصاح المسؤول المعمول بها.

تنزيل الأداة
المنتجالإصدار المتأثر
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
الأمرما الذي يفعله
GET SSIDيسترجع SSID الخاص بـ Wi-Fi المُهيأ.
GET PSKيسترجع مفتاح WPA2 المشترك المسبق الخاص بـ Wi-Fi.
GET MACيسترجع عنوان MAC لنقطة الوصول Wi-Fi.
GET Country Codeيسترجع رمز البلد التنظيمي المكوّن من حرفين.
GET Channelيسترجع قناة Wi-Fi النشطة حاليًا.
GET Bandيسترجع اختيار النطاق 2.4/5 GHz المُهيأ.
GET RSSIيستعلم عن معالج RSSI؛ يحتوي بناء البرنامج الثابت هذا على تنفيذ وهمي.
GET WiFi/BT statusيسترجع حالة راديو Wi-Fi وBluetooth.
GET Device Info/Modelيسترجع معلومات الجهاز والطراز.
GET Versionيسترجع إصدار الخدمة الخلفية.
GET Bluetooth Nameيسترجع اسم جهاز Bluetooth.
الأمرما الذي يفعله
SET SSIDيغيّر SSID الخاص بـ Wi-Fi المُهيأ.
SET PSKيغيّر كلمة مرور Wi-Fi المُهيأة.
SET MAC Addressيغيّر إعدادات BSSID الخاصة بـ Wi-Fi أثناء التشغيل.
SET Country Codeيغيّر رمز البلد التنظيمي المُهيأ.
SET Country Code Extيتعامل مع إعدادات رمز البلد الموسّعة.
SET Channelيغيّر قناة Wi-Fi ويؤدي إلى إعادة تشغيل نقطة الوصول.
الأمرما الذي يفعله
Start WIFIيبدأ واجهة Wi-Fi والخدمات المرتبطة بها.
Stop WIFIيوقف واجهة Wi-Fi.
Restart WIFI + BTيعيد تشغيل أنظمة Wi-Fi وBluetooth الفرعية.
Start Bluetoothيبدأ النظام الفرعي لـ Bluetooth.
Stop Bluetoothيوقف النظام الفرعي لـ Bluetooth وينهي الجلسة الحالية.
Sysmode power controlيتحكم في حالة طاقة Wi-Fi/Bluetooth.
الأمرما الذي يفعله
ftpd_startيبدأ خدمة dji_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 +MEDIAينفذ إعادة تعيين L1 ويمحو وسائط التخزين، بما في ذلك الصور ومقاطع الفيديو التي التقطتها الطائرة.
device_reset L3 +logينفذ إعادة تعيين L2 بالإضافة إلى مسح سجلات النظام.
الملفالدور
ble_console.pyنقطة الدخول الرئيسية، القائمة وتنفيذ الأوامر.
commands.jsonسجل الأوامر وأوصاف الأوامر.
ble_transport.pyفحص Bluetooth GATT والاتصال ومعالجة الاستجابات.
duml_protocol.pyبناء حزم DUML v1 ومعالجة CRC.
duml_decoders.pyفك ترميز الاستجابات ومعالجة رموز الإرجاع.
payload_builders.pyتوليد الحمولات التفاعلي.
parameters.pyتجزئة معاملات الإعدادات والعمليات.
terminal.pyواجهة الطرفية والمطالبات ومعالجة المخرجات.
flyc_parameters.txtأسماء معاملات الإعدادات المعروفة.
requirements.txtتبعيات Python.