
QlikView के साथ LPE के लिए PoC
प्रभावित एप्लिकेशन: QlikView प्लेटफ़ॉर्म: Windows समस्या: MSI इंस्टॉलर के माध्यम से स्थानीय विशेषाधिकार वृद्धि (DLL हाईजैकिंग रेस कंडीशन) खोज और रिपोर्ट किया गया: Pawel Karwowski और Julian Horoszkiewicz (Eviden Red Team)
विवरण: QuikView12 इंस्टॉल किए गए सिस्टम पर, सामान्य उपयोगकर्ता निम्नलिखित कमांड जारी करके इंस्टॉलर को "मरम्मत" मोड में ट्रिगर कर सकते हैं: msiexec.exe /fa PATH_TO_INSTALLER_FILE.msi
यह msiexec सेवा को ट्रिगर करता है, जो मरम्मत प्रक्रिया को संचालित करता है, कई क्रियाएं चलाता है और, अन्य के बीच, C:\Users\pk\AppData\Local\Temp निर्देशिका के अंदर फ़ाइलें बनाता है, जिनके फ़ाइल नाम गतिशील रूप से उत्पन्न होते हैं, निम्नलिखित टेम्पलेट में: "wac<चार यादृच्छिक अक्षर या अंक>.tmp", उदाहरण के लिए, wac98DF.tmp।
प्रक्रिया तब NT AUTHORITY/SYSTEM के रूप में चलने वाली उत्पन्न wac****.tmp फ़ाइल (निष्पादन योग्य) का उपयोग करती है ताकि वह स्वयं की एक छवि लिख सके और लोड कर सके।
चूंकि C:\Users\pk\AppData\Local\ निर्देशिका सामान्य उपयोगकर्ता के स्वामित्व में है, C:\Users\pk\AppData\Local\Temp\ निर्देशिका अनुमतियाँ विरासत में लेती है, जिससे सामान्य उपयोगकर्ता के लिए निर्देशिका की सामग्री में हस्तक्षेप करना संभव हो जाता है, उदाहरण के लिए गतिशील रूप से उत्पन्न DLL फ़ाइलों को अधिलेखित करके। यह एक रेस कंडीशन बनाता है। यदि वे DLL फ़ाइल का पता लगाने में सफल होते हैं, तो वे अपनी फ़ाइल से उन्हें अधिलेखित करने का प्रयास कर सकते हैं। यदि वे सही (बहुत संकीर्ण) समय विंडो में प्रतिस्थापन करने में सफल होते हैं - इंस्टॉलर द्वारा मूल फ़ाइल लिखे जाने और फ़ाइल डिस्क्रिप्टर बंद होने के ठीक बाद, लेकिन इंस्टॉलर द्वारा उस पर LoadLibrary() कॉल करने से पहले, वे अपनी स्वयं की DLL फ़ाइल को NT AUTHORITY/SYSTEM के रूप में निष्पादित करवा सकते हैं, जिससे स्थानीय विशेषाधिकार वृद्धि होती है।
शोषण एक पावरशेल स्क्रिप्ट के उपयोग से किया जाता है जो .MSI फ़ाइल चलाती है, हमारे रुचि के वैध EXE की उपस्थिति और निर्माण की जाँच करती है, और बार-बार मेरे प्रूफ ऑफ कॉन्सेप्ट EXE को Appdata\Local\Temp निर्देशिका में कॉपी करती है, प्रभावी रूप से वैध EXE फ़ाइल को अधिलेखित करती है। लोड होने के बाद, PoC EXE फ़ाइल C:\Users\Public में एक poc.txt फ़ाइल बनाती है, साथ ही उस कमांड लाइन के साथ जिसने इसे कॉल किया, और whoami आउटपुट।
MSI फ़ाइल SHA256 हैश: 0267324393384ED2B0746D6CEBDD0FD7D8DBD26853BDA58F875F20F40EBBB898