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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
u3000py — عميل Python لبروتوكول التحكم عبر WiFi المحلي لكاميرا لوحة القيادة Thinkware U3000، تم هندسته عكسيًا من تطبيق Android الرسمي. أدوات إثبات المفهوم وراء CVE-2026-101053 وCVE-2026-101054 وCVE-2026-101055. | Kitploit
أدوات/GitHubGitHub/turretsec/u3000py
أمان الأنظمة المدمجةأمان إنترنت الأشياءتحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةجمع المعلوماتأمن الشبكاتالأدوات والمكوناتأمان الأجهزة وإنترنت الأشياءالأوراق والأبحاث
GitHub
منذ 5 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

u3000py

عميل Python لبروتوكول التحكم عبر WiFi المحلي لكاميرا لوحة القيادة Thinkware U3000، تم هندسته عكسيًا من تطبيق Android الرسمي. أدوات إثبات المفهوم وراء CVE-2026-101053 وCVE-2026-101054 وCVE-2026-101055.

عرض المستودع

u3000py

عميل Python لبروتوكول التحكم عبر WiFi المحلي لكاميرا القيادة Thinkware U3000، تمت هندسته عكسيًا من تطبيق Android الرسمي، ومؤكد مقابل أجهزة حقيقية، وليس من أي مواصفات عامة (لا توجد مواصفات أصلاً).

هذا المشروع له غرضان: مكتبة قابلة للاستخدام لسحب التسجيلات من كاميرا القيادة الخاصة بك، ومواد داعمة لإفصاح CVE مكتمل (انظر الأمان أدناه).

قبل أن تستخدم هذا

  • بروتوكول التحكم في الكاميرا لا يحتوي على مصادقة ولا تشفير. أي شخص على نفس الشبكة التي تتصل بها الكاميرا يمكنه إصدار أي أمر تستطيع هذه المكتبة إصداره.
  • كل سلوك في هذه المكتبة إما مؤكد مقابل أجهزة حقيقية أو مُعلَّم صراحةً كغير مُتحقق منه في docstring الخاص به. راجع docs/protocol-reference.md للحصول على التفصيل الكامل لما هو مؤكد وما هو تخميني.
  • هناك مجموعة من الطرق محجوبة خلف confirm=True لأنها مدمّرة (تهيئة بطاقة SD) أو لأنها قد تفصل الكاميرا عن الشبكة التي تستخدمها للوصول إليها (set_wifi_mode، connect_to_ap، إلخ). اقرأ docstring قبل تمرير confirm=True على أي منها.

التثبيت

لا يوجد إصدار على PyPI. ثبّت مباشرة من GitHub:

pip install "u3000py[cli] @ git+https://github.com/turretsec/u3000py.git"

أو بدون CLI، المكتبة فقط:

pip install git+https://github.com/turretsec/u3000py.git

أو ثبّت على إصدار موسوم:

pip install git+https://github.com/turretsec/[email protected]

البدء السريع

from u3000py import ThinkLinkClient, VideoCategory

with ThinkLinkClient("192.168.1.100") as cam:  # your camera's actual IP
    print(cam.get_device_info())
    print(cam.get_system_status())

    files = cam.list_files(VideoCategory.CONTINUOUS)
    latest = files[-1]

    def show_progress(received, total):
        print(f"\r{received / total:.0%}", end="")

    cam.download(latest.path, dest="latest_clip.mp4", progress=show_progress)

أو من سطر الأوامر، بعد التثبيت مع إضافة [cli]:

u3000py --host 192.168.1.100 info device
u3000py --host 192.168.1.100 files download --latest --category cont_rec

--host مطلوب في كل استدعاء، إما كالعلم الموضح أعلاه أو عبر متغير البيئة U3000PY_HOST إذا كنت تفضل عدم تكراره.

ما يمكنه فعله

  • الحالة: معلومات الجهاز، حالة النظام، المساحة الحرة، GPS، بيانات اعتماد WiFi (نعم، الكاميرا ستعيد هذه لأي شخص يطلبها، انظر الأمان)، القياس الحي، عدد نقاط الاتصال
  • الملفات: تصفح أي دليل، سرد/تصنيف التسجيلات، التنزيل مع التقدم، إنشاء الصور المصغرة
  • إعدادات الكاميرا: تبديل قناة المعاينة، تشغيل/إيقاف تسجيل الصوت، إعادة ضبط GPS/ADAS، إعادة ضبط المصنع، تهيئة بطاقة SD
  • إدارة WiFi/نقطة الاتصال: الاتصال بالشبكات، إدارة نقاط الوصول المحفوظة، إدارة نقطة اتصال الكاميرا الخاصة، تبديل وضع WiFi
  • التشخيص: بيانات أحداث الركن، سجل الحالة، معلومات المودم (يبدو أن هذه الوحدة لا تحتوي على أي منها)

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

ما هو غير موجود هنا عن قصد

  • PUT_FILE: مؤكد أنه يسمح بكتابة ملفات عشوائية غير مصادق عليها إلى أي مسار مطلق على نظام ملفات الكاميرا. هذه واحدة من ثلاث نتائج CVE؛ إصدار طريقة عامة للكتابة في أي مكان في مكتبة عامة سيكون بمثابة توزيع أداة هجوم جاهزة للاستخدام. التفاصيل الكاملة في disclosure-thinkware-u3000.
  • تفليش البرنامج الثابت: ليس قرارًا أمنيًا، بل قرار "من فضلك لا تحوّل كاميرا القيادة الخاصة بك إلى قطعة طوب". لا يحدث أي تحقق من التوقيع أو تحقق من البائع في هذه الطبقة.
  • خادم keepalive/auto-sync: يبدو أن اتصال WiFi بالكاميرا يحتاج إما إلى فتح التطبيق الرسمي أو نبضة دورية للبقاء قابلاً للوصول. ميزة حقيقية ومفيدة، خارج نطاق هذا المستودع عن قصد، ومخطط لها كمشروع منفصل.
  • أي شيء يتصرف مثل صدفة بعيدة عامة: كل طريقة هنا تُقابل عملية كاميرا واحدة محددة ومُسمّاة. لا يوجد هنا أي عنصر أساسي "تشغيل أمر عشوائي" قابل للتمرير.

الاختبار

pip install -e ".[dev]"
pytest -v                                  # unit tests, no camera needed
pytest -m hardware --host 192.168.1.100    # real-camera tests, opt-in only

يوجد سكربت اختبار دخان مستقل لـ CLI نفسه في scripts/smoke_test_cli.py. ليس جزءًا من مجموعة pytest (فهو يستدعي أمر u3000py المثبت الحقيقي مقابل كاميرا حقيقية) لإجراء فحوصات السلامة بعد التغييرات.

التوثيق

  • docs/protocol-reference.md: البروتوكول الكامل المهندس عكسيًا؛ تنسيق الإرسال، كل أمر مؤكد، ما لا يزال غير مُتحقق منه، والألغاز المفتوحة المعروفة (هناك أمران لا يتصرفان حقًا بالطريقة التي تتوقعها اصطلاحات البروتوكول نفسه).

الأمان

هذا البروتوكول لا يحتوي على مصادقة. نتجت ثلاث نتائج عن هذا البحث، موثقة بالكامل ومفصح عنها في مستودع منفصل: disclosure-thinkware-u3000.

  1. كتابة ملفات عشوائية غير مصادق عليها عبر PUT_FILE (CVE-2026-101053 (VulDB #410915))، مؤكد بالكتابة في دليل /tmp الحقيقي للكاميرا. غير مكشوف عن قصد بواسطة هذه المكتبة (انظر ما هو غير موجود هنا عن قصد أعلاه).
  2. قراءة ملفات عشوائية غير مصادق عليها عبر LS/GET_FILE (CVE-2026-101054 (VulDB #410916))، بدون أي قيود على المسار على الإطلاق. طريقة download() في هذه المكتبة توضح العنصر الأساسي مباشرة، على سبيل المثال cam.download("/tmp/wpa_supplicant.conf") يقرأ ملف إعدادات WiFi الحي للجهاز.
  3. كشف بيانات اعتماد WiFi بنص صريح عبر GET_STATUS "wifi_info" (CVE-2026-101055 (VulDB #410917)). طريقة get_wifi_info() في هذه المكتبة توضح العنصر الأساسي مباشرة (مع حجب كلمة المرور افتراضيًا في أي مخرجات مطبوعة، انظر repr() الخاص بـ WifiInfo).

تم إخطار Thinkware في 2026-06-21. أُغلقت نافذة الإفصاح البالغة 30 يومًا في 2026-07-21 مع إقرار غير تقني بالاستلام فقط وبدون تأكيد إصلاح. لا تزال النتائج الثلاث قابلة لإعادة الإنتاج على البرنامج الثابت الإنتاجي الحالي. يُشار إلى بحث سابق ذي صلة على طراز Thinkware مختلف (F800 Pro) بواسطة geo-chen في مستودع الإفصاح للسياق.

الترخيص

MIT، انظر LICENSE.

تنزيل الأداة