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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CACredDecoder — مفكك شيفرات الاعتماد C-Ark لـ #CVE-2021-31796 | Kitploit
أدوات/GitHubGitHub/unmanarc/cacreddecoder
كسر كلمات المرورأدوات التشفير/فك التشفيرتحليل الثغرات الأمنيةالاستغلالالتشفيراختبار الاختراق
GitHubunmanarc/cacreddecoder

CACredDecoder

مفكك شيفرات الاعتماد C-Ark لـ #CVE-2021-31796

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مفكك بيانات اعتماد C-Ark

أداة استغلال لـ CVE-2021-31796
أداة لفك تشفير ملفات بيانات اعتماد C-Ark

بواسطة: Aaron Mizrachi        - https://twitter.com/unmanarc/
      Enrique Vaamonde - https://twitter.com/_ejvm
الإصدار الأول: 2/سبتمبر/2019
الإفصاح: 11/أكتوبر/2021

المراجع

  • https://packetstormsecurity.com/files/164023/CyberArk-Credential-File-Insufficient-Effective-Key-Space.html
  • https://vuldb.com/?id.181904

الإفصاح المسؤول:

كانت هذه الثغرة معلقة للإصدار منذ سبتمبر/2019.

وإليكم الجدول الزمني:

  • 2019-08-1x خلال بعض التمارين، اكتشف فريقنا وأبلغ ممثل البائع المحلي عن ضعف تشفير محتمل في بعض طرق تخزين بيانات الاعتماد المستخدمة.
  • 2019-08-30 حتى هذا التاريخ، كان لدينا فقط "إثبات مفهوم في الذاكرة باستخدام ollydbg" باستخدام أدواتهم الخاصة. كنا نحاول توضيح كيف يمكن أن يصبح هذا ناقل هجوم لمواقف محددة معينة، لكننا فشلنا في إيصال الفكرة. لذلك قررنا البدء في برمجة إثبات المفهوم هذا للحصول على حجة أكثر وضوحًا.
  • 2019-09-02 نجحنا في تنفيذ خوارزمية التجزئة والتشفير في إثبات المفهوم الخاص بنا (منفصل تمامًا عن المنتج).
  • 2019-09-03 أعلنا النتائج التي توصلنا إليها للبائع ورغبتنا في جعلها متاحة للجمهور.
  • 2019-09-20 تلقينا طلبًا من البائع لتأجيل الإصدار العام حتى يتم إصلاح المشكلة.
  • 2020-05 اتصلنا بهم مرة أخرى للحصول على تصريح لإصدار الأداة وتبادلنا بعض رسائل البريد الإلكتروني التي تفيد بأنهم ليسوا مستعدين.
  • 2021-09/2021-10 وجدنا أن باحثين آخرين غير مرتبطين قد اكتشفوا مؤخرًا وكشفوا عن نفس الثغرة للجمهور، ونظرًا لهذا... حصلنا أخيرًا (بعد عامين!) على تصريح من البائع لمشاركة نتائجنا وأداتنا الإثباتية لاستغلال ضعف التشفير في CreateCredFile معكم.

الاستخدام المحتمل:

أثناء اختبار الاختراق، إذا كان شخص ما ذكيًا بما يكفي للوصول إلى PSM وحصل بطريق الخطأ على ملف CredFile، فيمكن لهذا الشخص استخدام هذا الملف لإنشاء اتصال بـ Vault والحصول على السيطرة الكاملة...

كإجراء مضاد، تضع معظم ملفات بيانات الاعتماد بعض "القيود" لتجنب استخدام كلمة المرور في بيئة/جهاز مختلف (مثل PSM الخاص بالمخترق).

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

وضع التشغيل

لتوليد مفتاح فك التشفير الخام لـ AES-256 (32 بايت)، نأخذ زوجًا من SHA1SUM من حقل بيانات الاعتماد "AdditionalInformation" مع إلحاق "0x00000000" و "0x00000001" لكل تجزئة؛ أول تجزئة توفر أول 20 بايت من المفتاح، والثانية توفر آخر 12 بايت فقط.

إذا كانت هناك أي قيود بيئية (مثل IP/المضيف/مسار التطبيق/...)، فإننا نلحق كل قيمة نصية بـ AdditionalInformation قبل أخذ كل SHA1SUM.

من المهم ذكر أن حقل "ClientApp" يُحول باستخدام BASE64(SHA1SUM(strlower(ClientApp))) قبل إلحاقه بـ "AdditionalInformation" وتوليد كل SHA1SUM.

يتم فك التشفير باستخدام دالة OpenSSL AES-256-CBC باستخدام حقل Password أو NewPassword. (https://wiki.openssl.org/index.php/EVP_Symmetric_Encryption_and_Decryption)

نحن نستخدم (verificationflags-16) لمعرفة أي التحقق/القيود مفعلة:

root@kitploit:~
usingClientApp      = ((uVerificationsFlag&0x1) != 0);
usingAppPath        = ((uVerificationsFlag&0x2) != 0);
usingClientIP       = ((uVerificationsFlag&0x4) != 0);
usingOSUser         = ((uVerificationsFlag&0x8) != 0);
usingClientHostname = ((uVerificationsFlag&0x20) != 0);

وفي حالة عدم ظهور بعض القيود في ملف بيانات الاعتماد الناتج، يمكنك دائمًا إدخالها يدويًا. أعتقد أننا نتفق على أنه لا "مسار التطبيق" ولا "IP العميل" قيمة عشوائية حقًا.

التخفيف:

استخدم HSM \o/، لا تخزن مفتاح فك التشفير في ملف CredFile.

كيفية البناء:

root@kitploit:~
qmake . 
make -j8
تنزيل الأداة