
أداة آلية شاملة لاستغلال ثغرات حقن أوامر نظام التشغيل.
Commix (اختصار لـ [comm]and [i]njection e[x]ploiter) هي أداة اختبار اختراق مفتوحة المصدر، كتبها Anastasios Stasinopoulos (@ancst)، وتؤتمت اكتشاف واستغلال ثغرات حقن الأوامر (و**الشيفرة**).

يمكنك زيارة مجموعة لقطات الشاشة التي توضح بعض الميزات على الويكي.
[!IMPORTANT] هذا المشروع قيد التطوير النشط. توقّع تغييرات كاسرة بين المراجعات. راجع سجل التغييرات قبل التحديث.
صُممت Commix في الأساس لتُستخدم كأداة CLI مستقلة، وهي تنفّذ أوامر نظام التشغيل على الأهداف التي تختبرها. قد يشكّل تشغيل commix كخدمة مخاطر أمنية.
يُوصى باستخدامها بحذر، وفقط ضد الأنظمة التي تملكها أو لديك تفويض صريح لاختبارها.
--technique أو حسب النوع الذي تُبلّغ عنه باستخدام --type - راجع techniques لمعرفة ما تتطلبه كل تقنية من الهدف.--oob التنفيذ وينقل مخرجات الأمر عبر HTTP/S أو DNS، ويصل إلى الخادم عبر أي عميل يتوفر لدى الهدف - راجع out-of-band client للعملاء الذين يحاول استخدامهم وكيفية تثبيت واحد منهم.--eval ما يقيّمه الهدف كشيفرة، في PHP أو Python أو Ruby أو JavaScript أو PowerShell أو Perl أو Lua، عبر تلك التقنيات نفسها.shellshock لأهداف CGI.--os-shell، وreverse_tcp وbind_tcp المدمجان والقابلان للترقية إلى PTY كامل، ونقل الملفات، وقراءة/كتابة سجل Windows، والاستقصاء وصولًا إلى تجزئات كلمات المرور مع عرض هجوم قاموس عليها.stdin عبر الأنابيب - راجع target options.--proof الذي يعيد إثبات أي اكتشاف بتجربة خاصة به، وواجهة REST API لتشغيل الفحوصات من مكان آخر.يمكنك تنزيل commix على أي منصة عبر استنساخ مستودع Git الرسمي :
$ git clone https://github.com/commixproject/commix.git commix
بدلًا من ذلك، يمكنك تنزيل أحدث tarball أو zipball.
[!NOTE] يُشترط Python (الإصدار 3.7 أو أحدث) لتشغيل commix. جميع التبعيات الأخرى مضمّنة، لذا لا حاجة إلى خطوة تثبيت إضافية.
للحصول على قائمة بجميع الخيارات والمفاتيح استخدم:
$ python3 commix.py -h
اختبر معاملًا واحدًا قابلًا للحقن، ثم انتقل إلى صدفة على الهدف :
$ python3 commix.py --url="http://commix-testbed/scenarios/regular/GET/classic.php?addr=127.0.0.1" --os-shell
أثبت التنفيذ خارج النطاق، حيث لا يعيد الاستجابة أي شيء :
$ python3 commix.py --url="http://commix-testbed/scenarios/regular/POST/blind.php" --data="addr=127.0.0.1" --oob
[!NOTE] يُختار العميل بناءً على ما يتوفر لدى الهدف، لذا يبقى المضيف المجرّد من عملاء HTTP المعتادين في المتناول - ثبّت واحدًا باستخدام
--oob-transportحيث يكون خروجه معروفًا مسبقًا. يستخدم--oobافتراضيًا خادم interactsh العامoast.fun، لذا تغادر بيانات التفاعل الوصفية الخاصة بهدفك شبكتك؛ وجّه--oob-serverإلى نسخة مستضافة ذاتيًا لإبقائها داخلية. للحصول على دليل مفصل، راجع صفحة الويكيout-of-band-oob-channel.
افحص قائمة من الأهداف دون إشراف واكتب النتائج إلى ملف:
$ python3 commix.py -m targets.txt --batch --report-json=results.json
للحصول على نظرة عامة على الخيارات والمفاتيح المتاحة في commix و/أو الأفكار الأساسية حول كيفية استخدام commix، راجع صفحات الويكي usage و**usage examples** و**filters bypasses**.