
إثبات مفهوم بلغة بايثون لحقن أوامر مُصادق عليه في نقاط الوصول اللاسلكية من Hikvision، مما يتيح اختبار تنفيذ الأوامر عن بُعد مع نقاط نهاية وأوامر قابلة للتخصيص.
هذه الأداة هي إثبات مفهوم مكتوب بلغة Python لاختبار نقاط الوصول اللاسلكية من Hikvision بحثًا عن CVE-2026-0709، وهي ثغرة حقن أوامر تتطلب مصادقة ويمكن أن تؤدي إلى تنفيذ تعليمات برمجية عن بُعد على الأجهزة المتأثرة.
للاستخدام في الاختبارات الأمنية والأبحاث على الأنظمة التي تملكها أو التي لديك إذن صريح باختبارها فقط.
CVE-2026-0709 هي ثغرة تتطلب مصادقة: يجب على المهاجم تسجيل الدخول ببيانات اعتماد صالحة، ثم إرسال طلب مُصمم خصيصًا إلى نقطة نهاية ضعيفة على نقطة الوصول اللاسلكية من Hikvision. إذا كان الجهاز ضعيفًا، يتم تمرير المدخلات غير المنقّاة إلى نظام التشغيل الأساسي، مما يسمح بتنفيذ أوامر عشوائية تحت حساب خدمة الجهاز.
يقوم هذا السكربت بما يلي:
السكربت مكتوب كـ قالب: يجب عليك ملء مسار نقطة النهاية الحقيقي، واسم المعامل، ومنطق تسجيل الدخول وفقًا للنشرة الرسمية من البائع أو إثبات مفهوم عام.
requestsتثبيت التبعيات:
pip install requests
افترض أن السكربت محفوظ باسم hikvision_cve_2026_0709.py.
python hikvision_cve_2026_0709.py \
--host 192.168.1.50 \
--port 80 \
--user admin \
--password MyStrongPassword \
--cmd "id"
python hikvision_cve_2026_0709.py \
--host ap.example.local \
--port 443 \
--https \
--user admin \
--password MyStrongPassword \
--cmd "uname -a"
--host (مطلوب): عنوان IP أو اسم مضيف نقطة الوصول المستهدفة.
--port (اختياري): المنفذ المستهدف (الافتراضي: 80).
--https (علامة): استخدام HTTPS بدلاً من HTTP.
-u, --user (مطلوب): اسم المستخدم لتسجيل الدخول.
-p, --password (مطلوب): كلمة المرور لتسجيل الدخول.
--cmd (اختياري): الأمر المراد تنفيذه على الجهاز (الافتراضي: id).
سيقوم السكربت بما يلي:
بناء عنوان URL الأساسي من المضيف والمنفذ والمخطط (HTTP/HTTPS).
المصادقة باستخدام بيانات الاعتماد المقدمة.
إرسال حمولة حيث يحتوي أحد المعاملات على تسلسل أوامر مُحقن (على سبيل المثال 127.0.0.1; id;).
طباعة رمز حالة HTTP ونص الاستجابة.
لا يقوم هذا المستودع بتضمين أي نقطة نهاية أو معامل خاص بـ Hikvision بشكل ثابت. يجب عليك تحديث السكربت ليتوافق مع التفاصيل الحقيقية لـ CVE-2026-0709:
دالة المصادقة
في authenticate(...)، استبدل منطق تسجيل الدخول المؤقت بالمنطق الحقيقي:
إذا كان الجهاز يستخدم تسجيل دخول قائم على نموذج، فاضبط عنوان URL وحقول النموذج (مثل /login, user, pwd).
إذا كان يستخدم مصادقة HTTP الأساسية، فقد لا تحتاج إلى طلب تسجيل دخول منفصل؛ بدلاً من ذلك، قم بتكوين الجلسة لاستخدام المصادقة الأساسية.
نقطة النهاية الضعيفة
في exploit_command_injection(...)، قم بتعيين:
vuln_path إلى المسار الفعلي (على سبيل المثال، نقطة نهاية API أو تشخيصية).
مفتاح المعامل (على سبيل المثال host, address, command) إلى المعامل الضعيف.
طريقة HTTP الدقيقة (GET أو POST) والنص/الترويسات كما هو موضح في النشرة.
مخرجات الأمر
اعتمادًا على سلوك الجهاز:
قد تحتوي الاستجابة على مخرجات الأمر مباشرة.
أو قد تعرض فقط حالة عامة، ويجب عليك استنتاج النجاح عبر تأثيرات جانبية (مثل ملف جديد، استدعاء شبكة).
اضبط منطق التحليل الخاص بك وفقًا لذلك إذا كنت تريد اكتشاف النجاح تلقائيًا.
اقرأ النشرة الرسمية من البائع / الوصف الفني لـ CVE-2026-0709.
حدد:
عنوان URL لنقطة النهاية (المسار).
المعامل الضعيف.
طريقة المصادقة المطلوبة.
قم بتحرير السكربت:
حدّث authenticate() بمسار وحقول تسجيل الدخول الصحيحة.
حدّث exploit_command_injection() بالمسار واسم المعامل الصحيحين.
شغّل السكربت في مختبر ضد جهاز اختبار.
تحقق من الاستجابة بحثًا عن دليل على تنفيذ الأوامر (مثل مخرجات id أو uname -a).
تم توفير إثبات المفهوم هذا لأغراض تعليمية وبحثية وأمنية دفاعية. إنه ليس استغلالًا أو ماسحًا بمستوى إنتاجي. يجب عليك مراجعة واختبار الكود بدقة، واتباع سياسات الأمان والمتطلبات القانونية لمؤسستك دائمًا.