
أدوات مساعدة بلغة Python للتحقق مما إذا كان خادم TLS يتطلب شهادات عميل، ولمسح ملفات ELF الثنائية المحلية بحثًا عن شيفرة OpenSSL 3.x القابلة للاستغلال المرتبطة بـ CVE-2022-3602 وCVE-2022-3786.
هذه مجموعة من الأدوات المساعدة البسيطة في سياق الثغرتين المكتشفتين حديثًا CVE-2022-3602 وCVE-2022-3786، والتي تتيح الإجابة عن الأسئلة التالية:
تشغيل الأمر التالي
python openssl_req_client_cert.py HOST_NAME PORT
سيحدد ما إذا كانت مصادقة العميل مطلوبة من قِبل خادم SSL، وفي هذه الحالة ستكون الخوادم المبنية على OpenSSL 3.0.0..3.0.6 عرضة للثغرات المذكورة أعلاه [https://jfrog.com/knowledge-base/upcoming-openssl-3-x-critical-vulnerability/]
على سبيل المثال:
|ψ> python openssl_req_client_cert.py 127.0.0.1 12345
127.0.0.1:12345 -> Client certificate not required
من السهل تفويت التطبيقات التي تشغّل OpenSSL إذا كانت المكتبة مرتبطة ارتباطًا ساكنًا داخل ملف ثنائي لتطبيق ما. تشغيل الأمر التالي
python scan_vulnerable_openssl_code.py ROOT_DIR
سيقوم بفحص ROOT_DIR بشكل تكراري بحثًا عن ملفات ELF، وسيبلّغ عن الملفات التي تتضمن النمط ossl_punycode_decode (وهو مؤشر على الإصدارات >=3.0.0)، بينما تُبلَّغ الملفات التي تتضمن بالإضافة إلى ذلك النمط ripemd160_newctx المؤشر على الإصدار المحدَّث (3.0.7) على هذا النحو.