
نص برمجي Zeek لاكتشاف الخوادم المعرضة لـ CVE-2020-13777
يقوم هذا النص بإجراء اختبار بسيط للتحقق مما إذا كان الخادم معرضًا لـ CVE-2020-13777.
يتسبب CVE-2020-13777 في إنشاء GnuTLS لتذاكر جلسة غير مشفرة. يبدو أن هذا يمكن اكتشافه عن طريق التحقق من أن gnutls يضبط key_name على صفر - حيث يستخدم أول 16 بايت من تذكرة الجلسة. يتحقق هذا النص مما إذا:
تشير كلتا الحالتين إلى أن الخادم يستخدم إصدارًا ضعيفًا من GnuTLS.
يتم كتابة الحالات التي تم العثور عليها في notice.log. مثال على الإخراج:
1591660828.497706 CHhAvVGS1DHFjwGM9 ::1 58800 ::1 5556 - - - tcp CVE_2020_13777::CVE_2020_13777_Server Server potentially vulnerable to CVE-2020-13777 detected - ::1 ::1 5556 - - Notice::ACTION_LOG 3600.000000 - - - - -
1591660837.423412 ClEkJM2Vm5giqnMf4h ::1 58802 ::1 5556 - - - tcp CVE_2020_13777::CVE_2020_13777_Resumed Server potentially vulnerable to CVE-2020-13777 detected; client resumed with suspicious session ticket - ::1 ::1 5556 - - Notice::ACTION_LOG 3600.000000 - - - - -
يتم إلغاء تكرار الإشعارات وتسجيلها مرة واحدة فقط لكل فترة_كبت_افتراضية (الافتراضي: ساعة واحدة) لكل خادم.
لتثبيته عبر zkg، ما عليك سوى استخدام
zkg install 0xxon/cve-2020-0601
يعمل هذا النص فقط مع اتصالات TLS 1.2 (أو أقل). لن ينبه على الخوادم الضعيفة التي تستخدم TLS 1.3.
لم يتم اختبار هذا النص على نطاق واسع. يعمل مع بيانات الاختبار التي تم إنشاؤها ذاتيًا ويجب أن يجد الخوادم الضعيفة. هناك احتمال أن يثير نتائج إيجابية خاطئة مع برامج خادم مختلفة، لكن هذا غير محتمل إلى حد ما.