
يستغل هذا السكربت لإثبات المفهوم ثغرة أمنية في إصدارات OpenSSH السابقة للإصدار 7.4 (CVE-2016-10708) عن طريق إرسال حزم `SSH_MSG_NEWKEYS` غير متوقعة.
يستغل هذا السكربت، وهو إثبات مفهوم (PoC)، ثغرة في إصدارات OpenSSH السابقة للإصدار 7.4 (CVE-2016-10708) عن طريق إرسال حزم SSH_MSG_NEWKEYS غير متوقعة، مما قد يؤدي إلى حدوث DoS (حرمان من الخدمة). يمكنه العمل في وضعين:
NEWKEYS مصنوعة بعناية لإحداث حالة حرمان من الخدمة.هذه الأداة مقدمة لأغراض البحث والتعليم فقط. قد يؤدي الفحص أو الهجوم غير المصرح به على أنظمة لا تملكها أو ليس لديك إذن صريح باختبارها إلى انتهاك القوانين واللوائح المعمول بها.
استخدم هذا السكربت بمسؤولية:
-t, --targets
قائمة بعناوين IP أو أسماء المضيفين الهدف مفصولة بفواصل (مطلوب)
-p, --port
منفذ SSH للاتصال (الافتراضي: 22)
-m, --mode
وضع التشغيل: scan أو attack (مطلوب)
--sockets
عدد اتصالات TCP المطلوب فتحها لكل هدف (الافتراضي: 5)
--threads
الحد الأقصى لعدد خيوط العمل المتزامنة (الافتراضي: 10)
-v, --verbose
تفعيل مخرجات تسجيل بمستوى التصحيح (debug)
تبادل اللافتة (Banner) في وضع الفحص (scan)، يتصل السكربت بكل هدف ويقرأ لافتة SSH لاستخراج إصدار OpenSSH.
إعداد الاتصال
في وضع الهجوم (attack)، يفتح العدد المحدد من مآخذ TCP لكل هدف ويرسل فورًا لافتة عميل مزيفة (SSH-2.0-OpenSSH_8.9)، ثم يُبقي الاتصالات مفتوحة.
بناء الحزم
يبني حزم نقل SSH خام (raw) تحتوي فقط على حمولة SSH_MSG_NEWKEYS. ويُحسب طول الحزمة وطول الحشو (padding) والحشو العشوائي بما يتوافق مع بروتوكول الحزم الثنائية لـ SSH.
حلقة الإغراق (Flood)
يدخل السكربت في حلقة لا نهائية، ويرسل حزمة NEWKEYS المصنوعة على كل مأخذ مع تأخيرات عشوائية أقل من ميلي ثانية. ستتعامل مثيلات sshd غير المحدّثة بشكل خاطئ مع رسائل NEWKEYS غير المرتبة، وستتعطل في النهاية أو تصبح غير مستقرة.