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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/turretsec/disclosure-thinkware-u3000
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالهندسة العكسيةأمن الشبكات اللاسلكيةالتشفيرأمان الأجهزة وإنترنت الأشياءالأوراق والأبحاث

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
turretsec/disclosure-thinkware-u3000

disclosure-thinkware-u3000

ثلاث ثغرات غير مُصادَق عليها في بروتوكول التحكم عبر WiFi المحلي لكاميرا القيادة Thinkware U3000: كتابة ملفات عشوائية، وقراءة ملفات عشوائية، والكشف عن بيانات اعتماد WiFi بنص صريح. CVE-2026-101053، CVE-2026-101054، CVE-2026-101055.

عرض المستودع
منذ 5 أياملم تتم المراجعة بعد

ثغرات أمنية في كاميرا Thinkware U3000 Dashcam

ثلاث ثغرات أمنية في بروتوكول التحكم عبر شبكة WiFi المحلية لكاميرا Thinkware U3000 Dashcam، تم اكتشافها من خلال الهندسة العكسية لتطبيق Android الرسمي وتأكيدها على أجهزة حقيقية. تتطلب الثغرات الثلاث فقط الوصول إلى الشبكة المحلية: لا حاجة للوصول الفيزيائي إلى الجهاز، ولا مصادقة مسبقة، ولا تعاون من مالك الجهاز.

تم الإفصاح لشركة Thinkware في 2026-06-21. انتهت نافذة الإفصاح البالغة 30 يومًا دون سوى إقرار غير تقني باستلام التقرير.

لماذا هذا مهم

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

كما أن هذه ليست المرة الأولى التي تظهر فيها ثغرة بهذا الشكل في كاميرا لوحة قيادة من Thinkware. كان الباحث المستقل geo-chen قد أفصح سابقًا عن عدة مشكلات في طراز F800 Pro ذي الصلة؛ انظر geo-chen/Thinkware-Dashcam. تلك المشكلات كانت تتطلب عمومًا وصولًا فيزيائيًا أو وصولًا محليًا إلى نظام الملفات لاستغلالها. أما النتائج أدناه فلا تتطلب أيًا منهما: الوصول إلى الشبكة وحده كافٍ، ونتيجة كتابة الملفات تمثل قدرة أقوى من أي شيء في تلك المجموعة السابقة.

ملاحظة حول الطراز المتأثر: تم تأكيد جميع النتائج أدناه على طراز Thinkware U3000 الأساسي. تبيع Thinkware أيضًا طرازًا منفصلًا هو "U3000 Pro"؛ لم يتم اختبار ما إذا كان يشترك في نفس تنفيذ البروتوكول.


النتيجة 1: كتابة تعسفية للملفات دون مصادقة

CVE: CVE-2026-101053 (VulDB #410915)

التقرير الكامل: findings/01-arbitrary-file-write.md

المنتج: Thinkware U3000 Dashcam

المكوّن المتأثر: بروتوكول التحكم TCP (أمر المنفذ 7878 / بيانات المنفذ 8787)، دون مصادقة

ناقل الهجوم: يمكن لأي جهاز على نفس الشبكة المحلية كتابة محتوى يتحكم به المهاجم إلى أي مسار مطلق على نظام ملفات الجهاز.

الوصف

يكشف بروتوكول التحكم في الجهاز عن أمر PUT_FILE يكتب بايتات يقدمها المهاجم إلى مسار مطلق يقدمه المهاجم، دون أي تحقق من المسار أو عزله على الإطلاق. تم التأكيد بكتابة ملف مباشرة في دليل /tmp الخاص بالجهاز، وهو نفس الدليل الذي يحتوي على إعدادات WiFi الخاصة به (wpa_supplicant.conf) وعلى الأقل سكربت shell واحد (hidraw0.sh)، ثم قراءته مرة أخرى بايتًا ببايت للتأكد من موضعه الدقيق.

إثبات كتابة الملف

خطوات إعادة الإنتاج

  1. أكمل مصافحة الجلسة: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.
  2. أرسل PUT_FILE مع تعيين param إلى مسار خارج أي مكان قد يكتب فيه التطبيق الرسمي بشكل مشروع.
  3. اكتب بايتات الملف إلى مقبس البيانات.
  4. تستجيب الكاميرا بـ {"rval": 0, "msg_id": 1286} فورًا، ثم تدفع لاحقًا NOTIFICATION غير متزامن (msg_id 7) يؤكد الإكمال.
  5. يؤكد LS على الدليل الأب وجود الملف بالاسم المطلوب بالضبط، إلى جانب ملفات النظام.
  6. يقرأ GET_FILE على نفس المسار المحتوى مرة أخرى لمقارنته بايتًا ببايت مع ما تم إرساله.

النتيجة 2: قراءة تعسفية للملفات دون مصادقة

CVE: CVE-2026-101054 (VulDB #410916)

التقرير الكامل: findings/02-arbitrary-file-read.md

المنتج: Thinkware U3000 Dashcam

المكوّن المتأثر: بروتوكول التحكم TCP (أمر المنفذ 7878 / بيانات المنفذ 8787)، دون مصادقة

ناقل الهجوم: يمكن لأي جهاز على نفس الشبكة المحلية سرد وقراءة أي مسار مطلق على نظام ملفات الجهاز، وليس الفيديو المسجل فقط.

الوصف

تقوم أوامر LS وGET_FILE في نفس البروتوكول بسرد وقراءة أي مسار مطلق دون أي قيود. تم التأكيد بقراءة ملف wpa_supplicant.conf الحي الخاص بالجهاز مباشرة، والذي يحتوي على SSID شبكة WiFi الحقيقي وكلمة المرور بنص صريح. هذا هو الجانب المقابل للقراءة من النتيجة 1: نفس السبب الجذري، في الاتجاه المعاكس، ومسار مختلف ميكانيكيًا لنفس بيانات الاعتماد المكشوفة في النتيجة 3.

خطوات إعادة الإنتاج

  1. أكمل مصافحة الجلسة: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.
  2. يؤكد LS على /tmp وجود wpa_supplicant.conf، إلى جانب ملفات نظام أخرى (hidraw0.sh، aws.dat، resolv.conf، إلخ).
  3. يعيد GET_FILE مع param: "/tmp/wpa_supplicant.conf" حجم الملف، ثم يُبث المحتوى الكامل عبر مقبس البيانات تمامًا كما يفعل مع ملف فيديو.
  4. يحتوي المحتوى المُعاد على أسطر ssid=/psk= مطابقة للشبكة المُعدّة فعليًا في الكاميرا.

النتيجة 3: كشف بيانات اعتماد WiFi بنص صريح عبر استعلام الحالة

CVE: CVE-2026-101055 (VulDB #410917)

التقرير الكامل: findings/03-wifi-credential-disclosure.md

المنتج: Thinkware U3000 Dashcam

المكوّن المتأثر: بروتوكول التحكم TCP (المنفذ 7878)، دون مصادقة

ناقل الهجوم: يمكن لأي جهاز على نفس الشبكة المحلية استرداد كلمة مرور WiFi الخاصة بالكاميرا مباشرة، دون مصادقة ودون الحاجة إلى وصول مسبق.

الوصف

يعيد استعلام حالة مخصص، GET_STATUS "wifi_info"، SSID شبكة WiFi الخاصة بالجهاز وكلمة المرور بنص صريح مباشرة. هذه آلية مختلفة عن النتيجة 2، إذ لا تتطلب أي وصول إلى نظام الملفات على الإطلاق، بل مجرد قراءة حالة بروتوكول عادية.

خطوات إعادة الإنتاج

  1. أكمل مصافحة الجلسة: START_SESSION -> SET_CLNT_INFO -> APP_CONNECT.
  2. أرسل GET_STATUS مع param: "wifi_info".
  3. الاستجابة: {"rval": 0, "msg_id": 2050, "type": "wifi_info", "param": [{"ssid": "<real SSID>"}, {"password": "<real plaintext password>"}, {"mac": "<real MAC>"}]}.

الجدول الزمني للإفصاح

التاريخالحدث
2026-06-19تأكيد النتائج على البرنامج الثابت v1.02.00
2026-06-21ترقية البرنامج الثابت إلى v1.02.04 (إصدار الإنتاج الحالي)؛ إعادة تأكيد النتائج الثلاث، دون تغيير في السلوك
2026-06-21إخطار المورّد عبر البريد الإلكتروني إلى [email protected]
2026-06-22 (تقريبًا)أقر دعم عملاء Thinkware باستلام التقرير، وأكد تحويله إلى فريق التطوير. لم يُقدَّم أي رد تقني أو جدول زمني أو تأكيد لإصلاح.
2026-07-21انتهت نافذة الإفصاح البالغة 30 يومًا. لم يُستلم أي تواصل إضافي من المورّد.
2026-08-13الإفصاح العام
2026-9-27تعيين معرّفات CVE، ونشر إدخالات VulDB

ما لم يُدرج هنا عن قصد

تماشيًا مع ممارسات الإفصاح المسؤول، توثّق هذا المستودع وجود وتأثير كل قدرة دون تقديم أداة استغلال جاهزة للاستخدام:

  • لم يُنشر أي سكربت إثبات مفهوم عامل لـ PUT_FILE. خطوات إعادة الإنتاج أعلاه كافية لتأكيد النتيجة؛ فالأداة المعمّمة الجاهزة للتشغيل للكتابة في أي مكان لن تقدّم قيمة إضافية للتحقق المشروع بينما تقدّم قيمة حقيقية لإساءة الاستخدام.
  • لم يُجرَ أي تحقيق حول ما إذا كان يمكن تنفيذ الملفات الموضوعة عبر PUT_FILE، أو حول سلاسل استغلال إضافية.

الأدوات

تم تأكيد هذه النتائج باستخدام u3000py، وهو عميل Python مفتوح المصدر لبروتوكول التحكم في U3000، بُني كجزء من هذا البحث.

  • طريقة ThinkLinkClient.download() في u3000py هي إعادة إنتاج مباشرة وقابلة للتشغيل للنتيجة 2: cam.download("/tmp/wpa_supplicant.conf") يقرأ إعدادات WiFi الحية للجهاز دون أي قيود.
  • ThinkLinkClient.get_wifi_info() هي إعادة إنتاج مباشرة وقابلة للتشغيل للنتيجة 3 (كلمة المرور الحقيقية محجوبة افتراضيًا في أي مخرجات مطبوعة؛ لكن القيمة الحقيقية لا تزال متاحة على الكائن المُعاد، بما يطابق كيفية عمل النتيجة نفسها).
  • لا يكشف u3000py عن قصد عن قدرة PUT_FILE عامة الأغراض (النتيجة 1)، للأسباب المذكورة في تقرير تلك النتيجة.

الشكر

اكتشفها وأفصح عنها Ryan Moore (turretsec).

تنزيل الأداة