Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-20866 — متحقق مفاتيح RSA لـ CVE-2022-20866 | Kitploit
أدوات/GitHubGitHub/ciscopsirt/cve-2022-20866
أدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةأمن الشبكاتالتشفيرأمن الأجهزة
GitHubciscopsirt/cve-2022-20866

CVE-2022-20866

متحقق مفاتيح RSA لـ CVE-2022-20866

عرض المستودع
7216منذ 4 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

مدقق مفتاح RSA لـ CVE-2022-20866

ثغرة في معالجة مفاتيح RSA على الأجهزة التي تشغل برنامج Cisco Adaptive Security Appliance Software وFirepower Threat Defense Software قد تسمح لمهاجم عن بعد غير موثوق باسترداد المفتاح الخاص لـ RSA. ترجع هذه الثغرة إلى خطأ منطقي عند تخزين مفتاح RSA في الذاكرة على منصة أجهزة تقوم بتشفير قائم على الأجهزة. يمكن للمهاجم استغلال هذه الثغرة باستخدام هجوم القناة الجانبية Lenstra ضد الجهاز المستهدف. قد يؤدي الاستغلال الناجح إلى تمكين المهاجم من استرداد المفتاح الخاص لـ RSA.

يمكن ملاحظة الشروط التالية في جهاز ضعيف:

  • قد يكون مفتاح RSA مشوهاً وغير صالح. مفتاح RSA المشوه غير فعال وسيؤدي اتصال عميل TLS بجهاز Cisco ASA أو FTD الذي يستخدم مفتاح RSA المشوه إلى فشل توقيع TLS، مما يعني أن إصدار البرنامج الضعيف أنشأ توقيع RSA غير صالح يفشل التحقق. إذا حصل المهاجم على المفتاح الخاص لـ RSA، فيمكن استخدام هذا المفتاح لانتحال جهاز Cisco ASA أو FTD.
  • قد يكون مفتاح RSA صالحاً ولكن له خصائص محددة تجعله عرضة للتسرب المحتمل للمفتاح الخاص لـ RSA. إذا حصل المهاجم على المفتاح الخاص لـ RSA، فيمكن استخدام هذا المفتاح لانتحال جهاز Cisco ASA أو FTD. يُرجى الاطلاع على قسم مؤشرات الاختراق في النشرة الأمنية لمزيد من المعلومات حول اكتشاف هذا النوع من مفاتيح RSA.

تسمح لك هذه الأداة بالتحقق من المفتاح الخاص لـ RSA في أجهزة Cisco ASA أو FTD.

النشرة الأمنية لـ Cisco متاحة على الرابط التالي: https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-rsa-key-leak-Ms7UEfZz

كيفية استخدام أداة مدقق مفتاح RSA

الغرض من أداة key_check.py هو تحليل المفاتيح التي تم تصديرها من ASA أو FTD للتحقق من قابليتها للتأثر بـ "ثغرة تسرب المفتاح الخاص لـ RSA من Cisco (CVE-2022-20866)".

متطلبات النظام

أداة key_check.py هي أداة مدعومة من المجتمع تعمل في بيئة shell لنظام Linux ولها التبعيات التالية:

  • Python 3
  • أداة سطر الأوامر OpenSSL

المنصات المدعومة

صُممت هذه الأداة لتكون غير مرتبطة بنظام أساسي محدد، وقد تم اختبارها على تكوينات المنصات التالية:

  • MacOS Monterey 12.4, LibreSSL 2.8.3
  • MacOS Catalina 10.15.7, LibreSSL 2.8.3
  • Red Hat Enterprise Linux 7.6 (Maipo), OpenSSL 1.0.2k-fips
  • Red Hat Enterprise Linux 9, OpenSSL 3.0.1
  • Red Hat Enterprise Linux 8, OpenSSL 1.1.1k
  • Ubuntu 16.04, OpenSSL 1.0.2g
  • Ubuntu 18.04, OpenSSL 1.1.1
  • Ubuntu 20.04 LTS, OpenSSL 1.1.1f
  • Ubuntu 22.04 LTS, OpenSSL 3.0.2

واجهة أوامر الأداة

الصيغة:

    key_check.py [-h] --pkcs12 PKCS12 [--passwd PASSWD]

المعلمات:

    -h 
        عرض معلومات المساعدة
    --pkcs12 
        اسم الملف الذي يحتوي على المفتاح المراد تحليله بتنسيق PKCS12
     	المشفر بـ base64. يتم تصدير هذا الملف من جهاز ASA
        أو FTD باستخدام الإجراء الموضح أدناه.
    --passwd 
        كلمة المرور المطلوبة لفك تشفير ملف PKCS12. وهي نفس
        القيمة التي تم إدخالها على واجهة سطر الأوامر لـ ASA أو FTD أثناء
        تصدير المفتاح. إذا لم يتم تحديد هذا الخيار، فإن
        الأداة ستطلب كلمة المرور.

تصدير المفتاح على ASA

يصف هذا القسم كيفية تصدير مفتاح واحد من جهاز ASA. يجب اتباع هذا الإجراء لكل مفتاح سيتم تحليله. هناك سيناريوهان:

  1. يتم استخدام زوج المفاتيح في شهادة trustpoint لـ ASA

تتيح لك Trustpoints إدارة وتتبع سلطات التصديق (CAs) والشهادات. Trustpoint هي تمثيل لـ CA أو زوج هوية. يتضمن Trustpoint هوية CA ومعلمات تكوين خاصة بـ CA وارتباط بشهادة هوية مسجلة واحدة. إذا تم استخدام زوج المفاتيح في شهادة مهيأة على ASA، فيمكن تصدير زوج المفاتيح عن طريق إدخال:

# asa(config)# crypto ca export <tpname> pkcs12 test

حيث هو اسم trustpoint.

  1. لا يتم استخدام زوج المفاتيح في شهادة trustpoint لـ ASA

إذا لم يكن المفتاح موجودًا في شهادة مهيأة على ASA، فيجب إنشاء trustpoint مؤقت وتسجيله بشهادة ذاتية التوقيع.

افترض أن keyname هو اسم زوج المفاتيح المراد تصديره. افترض أن temptp هو اسم مستخدم لـ trustpoint مؤقت

# asa(config)# crypto ca trustpoint temptp
# asa(config-ca-trustpoint)# keypair keyname
# asa(config-ca-trustpoint)# subject-name cn=temp
# asa(config-ca-trustpoint)# no serial-number
# asa(config-ca-trustpoint)# enroll self
# asa(config-ca-trustpoint)# crypto ca enroll temp noconfirm

الآن قم بإنشاء ملف PKCS12:

# asa(config)# crypto ca export xtp pkcs12 test 

سيقوم الإجراءان أعلاه (1, 2) بإخراج ملف p12 مشفر بـ base64 بكلمة مرور "test" إلى وحدة التحكم. ضع جميع أسطر الإخراج في ملف نصي. سيتم استخدام هذا الملف كمدخل للأداة.

تصدير المفتاح على FTD

على أجهزة FTD، يتطلب الإجراء استخدام FMC كما يلي. لاحظ أن المفاتيح ليست قابلة للإدارة بشكل مستقل على FTD، لذلك يجب أن يكون لجميع المفاتيح شهادة مرتبطة.

  • اذهب إلى devices / certificates
  • انقر على أيقونة التصدير للشهادة المطلوبة ضمن الجهاز المطلوب.
  • حدد زر الاختيار PKCS12
  • أدخل عبارة مرور في كلا المربعين واضغط OK
  • قم بتنزيل ملف PKCS12

إدخال الأداة

يتم تضمين ما يلي لغرض التحقق البصري من محتويات ملف PKCS12 المُصدَّر، والذي يجب أن يبدو كما يلي:

-----BEGIN PKCS12-----
MIIJvwIBAzCCCXUGCSqGSIb3DQEHAaCCCWYEggliMIIJXjCCA78GCSqGSIb3DQEH
BqCCA7AwggOsAgEAMIIDpQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQMwDgQIwsRZ

             <lines omitted>

geRPZxLUjt8nsc0bbrmEkXJ/27EbUm43UkioncY7JJwwQTAxMA0GCWCGSAFlAwQC
AQUABCAMZ7IR6nXHNbZ5zdtVAQX90VZyu2pvnJpiYgWWEf+WngQI9H/zlSTGKeAC
AggA
-----END PKCS12-----

تشغيل السكربت

يتم عرض استخدام الأداة من خلال الأمثلة التالية التي توضح جميع النتائج المحتملة.

  1. مفتاح صالح عادي
linux>  ./key_check.py --passwd test --pkcs12 valid_normal.p12.b64

The RSA key is valid.
  1. مفتاح صالح مع خصائص تعرض
linux> ./key_check.py --passwd test --pkcs12 valid_short.p12.b64

The RSA key is valid but is vulnerable to exposure if used in product versions that are affected by the Cisco Private Key Leak Vulnerability (CVE-2022-20866). If this was done, this key should no longer be used.

  1. مفتاح غير صالح بدون خصائص ثغرة
linux> ./key_check.py --passwd test --pkcs12 inval_not_vulnerable.p12.b64

The RSA key is invalid due to the Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866) but does not have known exposure characteristics. It is recommended that this key be replaced.

  1. مفتاح غير صالح معرض
linux> ./key_check.py --passwd test --pkcs12 inval_vulnerable.p12.b64

The RSA key is invalid and vulnerable to exposure due to the Cisco RSA Private Key Leak Vulnerability (CVE-2022-20866). This key should no longer be used.

  1. كلمة مرور غير صحيحة
linux> ./key_check.py --passwd test2 --pkcs12 valid_normal.p12.b64

ERROR:  Mac verify error: invalid password?
  1. ملف إدخال غير صحيح
linux> ./key_check.py --passwd test --pkcs12 bad_file.txt

ERROR:  139710534743952:error:0D07207B:asn1 encoding routines:ASN1_get_object:header too long:asn1_lib.c:157:
  1. مفتاح صالح ولكن غير RSA
linux> ./key_check.py --passwd test --pkcs12 ecdsa.p12.b64

ERROR:  140300676220816:error:0607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:p_lib.c:287:
تنزيل الأداة