
حدّد ما إذا كانت بيئة الحوسبة لديك معرّضة فعلًا لثغرة أمنية معيّنة من خلال مراعاة جميع العوامل التي تؤثر على قابلية الاستغلال *الفعلية* (تنفيذ وقت التشغيل، التكوين، الصلاحيات، وجود إجراء مخفّف، نظام التشغيل، إلخ..)
المؤلف: 2022 - الآن، Rezilion
الوصف: التحقق من الثغرات الأمنية
التطوير: يناير 2022 - الآن
التوثيق: انظر الموقع الإلكتروني، README
‘Am I Exploitable?’ هو مشروع مفتوح المصدر بلغة بايثون جاء لتلبية الحاجة إلى التحقق من قابلية نظامك للاستغلال بثغرات محددة. يمكن للمشروع مساعدتك في فهم ما إذا كنت قابلاً للاستغلال بثغرة معينة، ويشرح لك المكوّن المعرّض للخطر أو غير المعرّض للخطر في نظامك. يمكن للمشروع إنشاء رسم بياني يعرض تدفق التحقق وفقًا لفحوصات الثغرات التي نجريها. يدعم MI-X إخراجًا قابلًا للقراءة آليًا. يمكن تصدير النتائج إلى ثلاثة تنسيقات ملفات مختلفة: json وcsv وtext. بعد تنفيذ الأداة، سترى تدفق التحقق - حيث سيطبع الفحوصات التي تم إجراؤها على المضيف/الحاوية متبوعة بتوصيات المعالجة والتخفيف. نريد إنشاء مجتمع من الباحثين والمبرمجين يمكنهم إضافة فحوصات ثغرات لثغرات جديدة أو ثغرات حرجة أو مشهورة. كلما ظهرت ثغرة جديدة، يمكننا تقديم هذه الخدمة التي تساعد الأشخاص على التحقق مما إذا كانوا قابلين للاستغلال أم لا. بالإضافة إلى ذلك، يمكن توسيع فحوصات الثغرات التي كتبناها حتى الآن ببعض الفحوصات التي ربما فاتتنا.
مثال على رسم بياني لتدفق التحقق من CVE-2021-4034 (المعروفة أيضًا باسم PwnKit):
يمكن للجميع استخدام 'Am I Exploitable?' بحرية بموجب شروط رخصة AGPL-3.0 (انظر ملف LICENSE).
am_i_exploitable.py - الملف الرئيسي الذي يتعامل مع إدخال المستخدم واستدعاءات CVEs.cves - حزمة بايثون تحتوي على ملف بايثون لكل ثغرة مدعومة حاليًا.modules - حزمة بايثون تحتوي على وحدات.
الوحدات هي تطبيقات برمجية تُستخدم في ملفات CVE المختلفة.تدعم الأداة توزيعات لينكس التالية:
Ubuntu, Debian, Red Hat, Centos, Fedora, SUSE, SLES, Amazon
دعم جزئي لـ Alpine
دعم جزئي لنظام Windows
قبل تثبيت MI-X، تأكد من أن جهازك يحتوي على ما يلي:
openjdk10)لتثبيت المتطلبات:
تحقق من توزيعة نظام التشغيل لديك، يمكنك استخدام الأمر التالي:
cat /etc/os-release
تعرف على مدير الحزم الذي تستخدمه توزيعة نظام التشغيل لديك:
apt - Ubuntu, Debian
yum - Red Hat, CentOS, Fedora, SUSE, SLES, Amazon
apk - Alpine
ثبّت الحزم ذات الصلة باستخدام مدير حزم توزيعة نظام التشغيل لديك
من أجل تنفيذ MI-X بشكل صحيح، عليك تثبيت graphviz ووحدة packaging الخاصة ببايثون باستخدام pip:
pip install -r requirements.txt
يمكن الحصول على أحدث التطورات عبر git.
git clone https://github.com/Rezilion/mi-x.git
cd mi-x && python3 am_i_exploitable.py
قالب أمر الفحص
python3 am_i_exploitable.py -v cve_yyyy_xxxx -c True -g True -f json
افحص الجهاز الذي يشغّل حاويات بحثًا عن log4shell.
python3 am_i_exploitable.py -v log4shell -c True -f json

يحدد الثغرة التي سيتم فحصها (غير محدد افتراضيًا).
الصيغة:
إذا لم يتم تعيين هذه الوسيطة، ستظهر رسالة قائمة تعرض الثغرات المدعومة حاليًا.
يفحص جميع الحاويات قيد التشغيل على المضيف (False افتراضيًا).
يفحص حاويات محددة على المضيف عن طريق إدخال أسماء الحاويات قيد التشغيل مفصولة بمسافات (غير محدد افتراضيًا).
تصدير النتائج إلى أحد ثلاثة تنسيقات إخراج ممكنة: json أو csv أو text
يحدد ما إذا كان سيتم عرض وصف الثغرة أم لا (True افتراضيًا).
يحدد ما إذا كان سيتم عرض مخطط تدفق التحقق أم لا (False افتراضيًا).
مساعدة لفهم كيفية تشغيل الكود
وجدت مشكلة أو لديك فكرة رائعة؟ أخبرنا:
المساهمات محل تقدير ويمكن تقديمها عبر GitHub.
راجع CONTRIBUTING.md لمزيد من المعلومات حول كيفية تقديمها.
يتم اختبار 'Am I Exploitable?' على Windows ومعظم أنظمة تشغيل لينكس الشائعة. يجب أن تغطي الوثائق (README) ومعلومات التصحيح (اضبط معامل التصحيح على 'True')، معظم الأسئلة والمشكلات.
يمكن الإبلاغ عن الأخطاء عبر GitHub، أو بإرسال بريد إلكتروني إلى عنوان البريد الإلكتروني أعلاه.
شكرًا للمجتمع على استخدام ودعم البرمجيات مفتوحة المصدر.
العديد من التعليقات والأخطاء/التصحيحات والأسئلة هي مفتاح النجاح والدافع المستمر لتطوير أدوات مثل هذه.