
استغلال ثغرة CurveBall CVE
هذا النص البرمجي بلغة روبي يمكن استخدامه لانتحال سلطة شهادات موثوقة وتوليد شهادة سيتم اعتبارها صالحة لأجهزة ويندوز المتأثرة بثغرة CurveBall.
تحتاج إلى الحصول على شهادة قادمة من سلطة الشهادات التي تريد انتحالها.
ثم يمكنك تشغيل النص البرمجي باستخدام الأمر التالي:
ruby gen-rogue-cert.rb -in=ca.crt -subj="/C=France/ST=IleDeFrance/L=Paris/O=YoannDqr" -out=cert_rb.p12 -exe=DoNotDebugMe.exe -sh -type=exe -sh | bash
يمكن استخدام النص البرمجي لتوليد ملفات PE موقّعة وكذلك خوادم TLS.
-in : إلزامي ; المسار إلى شهادة سلطة التصديق الموثوقة لانتحالها
-out : إلزامي ; المسار لتخزين الشهادة المولّدة
-type : إلزامي ; يمكن أن يكون 'exe' لشهادة توقيع التعليمات البرمجية أو 'tls' لشهادة مصادقة الخادم والعميل
-exe : اختياري ; اسم الملف التنفيذي المراد توقيعه
-subj : اختياري ; موضوع الشهادة المولّدة
-sh : علامة اختيارية ; يُرجع فقط أمر bash اللازم لاستخدام الشهادة (مثال: سطر الأوامر لتوقيع ملف تنفيذي)
يعتمد النص البرمجي على مكتبة روبي OpenSSL https://github.com/ruby/openssl.
سيقوم بتوليد سلطة تصديق مزيفة من المفتاح العام الموجود في الشهادة المُدخلة. ثم سيولّد طلب توقيع شهادة ويوقّعه بشهادة سلطة التصديق المزيفة. ستُحزَّم الشهادة في ملف pcks12 وتُحفظ على جهاز الكمبيوتر الخاص بك.
لإضافة ميزات مثل توليد شهادات TLS، فقط عدّل امتدادات الشهادة المولّدة من طلب توقيع الشهادة.
csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'codeSigning'))csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'serverAuth, clientAuth'))