
CVE-2022-41120/CVE-2022-44704 के लिए PoC: ClipboardChange RPC के माध्यम से Sysmon में मनमाना फ़ाइल विलोपन/लेखन, जो Windows पर स्थानीय विशेषाधिकार वृद्धि की ओर ले जाता है।
Sysmon में मनमानी फ़ाइल हटाने/लिखने के लिए प्रूफ ऑफ कॉन्सेप्ट (CVE-2022-41120/CVE-2022-44704)
यह भेद्यता ClipboardChange इवेंट के लिए ज़िम्मेदार कोड में है, जिसे RPC के माध्यम से एक्सेस किया जा सकता है। स्थानीय उपयोगकर्ता RPC सर्वर को डेटा भेज सकते हैं, जिसे फिर C:\Sysmon निर्देशिका (डिफ़ॉल्ट ArchiveDirectory) में लिखा जाता है और बाद में हटा दिया जाता है। 14.11 से पहले के संस्करण में, Sysmon यह जाँच नहीं करता था कि निर्देशिका कम विशेषाधिकार वाले उपयोगकर्ता द्वारा बनाई गई है या यह कोई जंक्शन है, जिसका दुरुपयोग NT AUTHORITY\SYSTEM उपयोगकर्ता के संदर्भ में मनमानी फ़ाइल हटाने/लिखने (थोड़ा सीमित, क्योंकि आप केवल स्ट्रिंग्स लिख सकते हैं) के लिए किया जा सकता है। 14.11/14.12 संस्करण में, प्रारंभिक सुधार के बाद, Sysmon जाँच करता था कि निर्देशिका मौजूद है या नहीं और यदि निर्देशिका मौजूद होती थी तो फ़ाइलें लिखने/हटाने से मना कर देता था। इस पैच को दरकिनार करने के लिए, Sysmon को पहले C:\Sysmon निर्देशिका बनाने दिया गया (CreateDirectory API का उपयोग करके), और SetFileSecurity कॉल होने से पहले उस पर हैंडल खोला गया, तथा C:\Sysmon निर्देशिका पर DACL बदले गए।
सभी परीक्षण Windows 10 पर किए गए।
अपने PoC में मैंने मनमानी फ़ाइल हटाने/लिखने को श्रृंखलित किया है, ताकि पहले प्रिंटर ड्राइवर की सेटअप सूचना फ़ाइल हटाई जाए और फिर संशोधित .INF फ़ाइल लिखी जाए (क्योंकि स्पूलर सेवा डिफ़ॉल्ट रूप से सक्षम है और कम विशेषाधिकार वाले उपयोगकर्ता Windows क्लाइंट्स पर प्रिंटर ड्राइवर पुनः स्थापित कर सकते हैं)। सेटअप सूचना फ़ाइलों का दुरुपयोग विभिन्न प्रकार के ऑपरेशन करने के लिए किया जा सकता है, जैसे सेवा निर्माण, रजिस्ट्री संशोधन, फ़ाइल कॉपी आदि। मैंने प्रिंटर की कुछ डिफ़ॉल्ट DLL को c:\windows\system32 में कॉपी करना और उस पर अनुमतियाँ सेट करना चुना, ताकि कम विशेषाधिकार वाले उपयोगकर्ता इसे संशोधित कर सकें; यह CopyFiles निर्देश (https://learn.microsoft.com/en-us/windows-hardware/drivers/install/inf-copyfiles-directive) का उपयोग करके किया जाता है। फ़ाइल कॉपी हो जाने के बाद, इसे ऐसी DLL से अधिलेखित किया जाता है जो एक उन्नत (elevated) cmd.exe प्रक्रिया प्रारंभ करेगी। Windows इंस्टॉलर व्यवहार का दुरुपयोग करके केवल मनमानी फ़ाइल हटाने का उपयोग LPE के लिए करना संभव है (यह तरकीब @KLINIX5 द्वारा खोजी गई है और ZDI द्वारा यहाँ प्रलेखित है: https://www.zerodayinitiative.com/blog/2022/3/16/abusing-arbitrary-file-deletes-to-escalate-privilege-and-other-great-tricks)।
सभी परीक्षण संस्करण 13.34-14.12 पर किए गए। मैं ठीक से नहीं जानता कि सबसे निचला संस्करण कौन सा है जो प्रभावित है, लेकिन मेरा मानना है कि संस्करण 12.0 - 14.12 प्रभावित हैं, क्योंकि ClipboardChange इवेंट संस्करण 12.0 में पेश किया गया था। इस भेद्यता का शोषण करने के लिए, ArchiveDirectory का उपयोग करने वाले इवेंट सक्षम नहीं होने चाहिए (मेरा मानना है कि ClipboardChange और FileDelete), क्योंकि यदि इन दोनों का उपयोग किया जाता है तो ArchiveDirectory बन जाएगी और उस पर सुरक्षित अनुमतियाँ होंगी।
यदि आप प्रभावित संस्करण का उपयोग कर रहे हैं और अद्यतन नहीं कर सकते, तो आप ArchiveDirectory (डिफ़ॉल्ट रूप से C:\Sysmon) बना सकते हैं और ऐसी अनुमतियाँ सेट कर सकते हैं जो केवल NT AUTHORITY\SYSTEM खाते को पहुँच की अनुमति दें।