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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/wh02m1/cve-2026-78306
أمان الأنظمة المدمجةأمن البلوتوثأمان إنترنت الأشياءتوليد الحمولةتحليل الثغرات الأمنيةالاستغلالأمن الشبكات اللاسلكيةاختبار الاختراقأمان الأجهزة وإنترنت الأشياء
GitHubwh02m1/cve-2026-78306

CVE-2026-78306

إثبات مفهوم يستغل حقن أوامر DUML عبر البلوتوث في طائرات DJI بدون طيار، حيث يرسل أوامر غير موثّقة لقراءة بيانات الاعتماد، وتعديل إعدادات Wi-Fi، والتحكم في أنظمة الطائرة.

217113منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

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

الوصف

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

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

  • الحصول على SSID الخاص بـ Wi-Fi
  • الحصول على كلمة مرور Wi-Fi
  • الحصول على عنوان MAC الخاص بـ Wi-Fi

أما الأوامر المتبقية فلا تتطلب نفس فحص المصادقة. ونتيجةً لذلك، قد يتمكن مهاجم بعيد ضمن نطاق Bluetooth من إرسال أوامر 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

عرض توضيحي

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]يسترجع SSID الخاص بشبكة Wi-Fi المُهيّأة. يتطلب UUID موثوقًا.
GET WiFi Password [AUTH]يسترجع مفتاح WPA2 المسبق المشاركة الخاص بشبكة Wi-Fi. يتطلب UUID موثوقًا.
GET WiFi MAC address [AUTH]يسترجع عنوان MAC لنقطة الوصول Wi-Fi. يتطلب UUID موثوقًا.
GET Country Codeيسترجع رمز الدولة التنظيمي المكوّن من حرفين.
GET Channelيسترجع قناة Wi-Fi النشطة حاليًا.
GET Bandيسترجع اختيار النطاق 2.4/5 GHz المُهيّأ.
GET RSSI [stub]يستعلم من معالج RSSI؛ هذا الإصدار يعيد قيمة وهمية (stub).
GET WiFi/BT statusيسترجع حالة راديو Wi-Fi وBluetooth.
GET Versionيسترجع سلسلة إصدار البرنامج الثابت.

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

الأمرما الذي يفعله
SET NEW WiFi SSIDيغيّر SSID الخاص بشبكة Wi-Fi المُهيّأ.
SET NEW WiFi Passwordيغيّر كلمة مرور Wi-Fi المُهيّأة.
SET NEW WiFi MAC Addressيغيّر إعداد BSSID الخاص بشبكة Wi-Fi أثناء التشغيل.
SET NEW Country Codeيغيّر رمز الدولة التنظيمي المُهيّأ.
SET NEW Country Code Extيتعامل مع إعداد رمز الدولة الموسّع.
SET NEW Channelيغيّر قناة Wi-Fi ويؤدي إلى إعادة تشغيل نقطة الوصول.

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

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

الأمرما الذي يفعله
Start WiFiيبدأ واجهة Wi-Fi.
Stop WiFiيوقف واجهة Wi-Fi.
Restart WiFi + Bluetoothيعيد تشغيل راديوهات Wi-Fi وBluetooth.
Start Bluetoothيبدأ راديو Bluetooth.
Stop Bluetoothيوقف راديو Bluetooth وينهي الجلسة الحالية.
Sysmode power controlيتحكم في حالة تشغيل راديو Wi-Fi/Bluetooth.

أوامر إعادة الضبط

الأمرما الذي يفعله
Factory Reset WIFIيعيد إعدادات Wi-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 parameterيغيّر معامل إعداد في الطائرة باستخدام تجزئة اسمه ذات 32 بت.
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 Wifiيوقف Wi-Fi ثم يعيد تشغيله (0x42 متبوعًا بـ 0x41).
SET NEW PSK + Restart wifiيغيّر PSK ثم يعيد تشغيل Wi-Fi.
Probe read commandsيرسل أوامر القراءة المسجّلة ويبلّغ عن الأوامر التي تستجيب.

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


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

⚠️ تحذير: هذا الدليل العملي (POC) مخصص حصريًا لأغراض تعليمية وبحث أمني واختبار اختراق مصرّح به.

تنزيل الأداة