
OLE2 के माध्यम से .hta द्वारा कोड निष्पादन का त्वरित और अस्थायी समाधान
CVE-2017-0199 की कोड निष्पादित करने की क्षमता को हटाने के लिए .hta फ़ाइलों के लिए डिफ़ॉल्ट हैंडलर बदलें। OLE2 (COM ऑब्जेक्ट्स) के माध्यम से आहूत फ़ाइलों के लिए डिफ़ॉल्ट हैंडलर स्थानीय सिस्टम के डिफ़ॉल्ट एप्लिकेशन से अलग संग्रहीत किया जाता है और केवल रजिस्ट्री के माध्यम से बदला जा सकता है।
यह इस एक्सप्लॉइट का एक व्यावहारिक उदाहरण है, और इसे मेरी समझ के अनुसार समझाया गया है। सभी घटनाएँ इस पैटर्न का पालन नहीं कर सकती हैं और मेरा मूल्यांकन गलत हो सकता है। हालाँकि अगले भाग में प्रस्तुत समाधान उन स्थितियों में काम करता है जिनका मैंने परीक्षण किया है।
COM हैंडलर फ़ाइल प्रकार सत्यापन प्रक्रिया में त्रुटियों को रोकने के लिए सिस्टम हैंडलर से अलग रजिस्ट्री में संग्रहीत किए जाते हैं।
यह OLE2 के माध्यम से आहूत .hta ऑब्जेक्ट्स के लिए डिफ़ॉल्ट हैंडलर को notepad में बदलकर CVE-2017-0199 की कोड निष्पादित करने की क्षमता को हटाता है। यह OLE2 द्वारा .hta फ़ाइलों को आहूत करने के सभी उदाहरणों पर लागू होगा। इससे notepad खुलेगा और त्रुटियाँ उत्पन्न होंगी, लेकिन कोड निष्पादित नहीं होगा।
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
C:\Windows\SysWOW64\mshta.exe,1
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
C:\Windows\SysWOW64\mshta.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\DefaultIcon\(Default)
C:\Windows\System32\notepad.exe,1
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3050f4d8-98B5-11CF-BB82-00AA00BDCE0B}\LocalServer32\(Default)
C:\Windows\System32\notepad.exe
मैं इस शमन के कारण होने वाली किसी भी क्षति या समस्याओं के लिए, या notepad और ढेर सारी त्रुटियों के परिणामस्वरूप उपयोगकर्ता के भ्रम के लिए कोई जिम्मेदारी नहीं लेता। यह एक गंदा फिक्स है और मुझे नहीं पता कि क्या यह उत्पादन वातावरण में व्यापक समस्याएँ पैदा करेगा। हमेशा की तरह, अपने विशिष्ट वातावरण और आवश्यकताओं को ध्यान में रखते हुए शमन का मूल्यांकन करें।
मैं बाद में इस शमन के पहले और बाद के प्रभाव दिखाने के लिए स्क्रीनशॉट जोड़ूँगा। साथ ही इसे एक स्क्रिप्ट के रूप में किया जा सकता है, लेकिन मुझे रजिस्ट्री कुंजी की अनुमतियाँ बदलने में कठिनाई हो रही है, इसलिए मैं बाद में उसे संभालूँगा।