
LnvMSRIO.sys असुरक्षित ड्राइवर का शोषण करें
LnvMSRIO.sys (Lenovo MSR I/O ड्राइवर) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो Superfetch VA-to-PA अनुवाद के माध्यम से मनमानी भौतिक मेमोरी रीड/राइट और कर्नेल मेमोरी एक्सेस प्रदर्शित करता है।
| गुण | मान |
|---|---|
| ड्राइवर नाम | LnvMSRIO.sys |
| डिवाइस नाम | \\.\WinMsrDev |
| सेवा नाम | LnvMSRIO |
| विक्रेता | Lenovo |
| उद्देश्य | सिस्टम उपयोगिताओं के लिए MSR और भौतिक मेमोरी एक्सेस |
ड्राइवर यूज़रमोड को विशेषाधिकार प्राप्त कर्नेल ऑपरेशन प्रदान करता है:
भौतिक मेमोरी रीड (16 बाइट्स):
Offset 0: UInt64 PhysicalAddress
Offset 8: DWORD AccessSize (1=byte, 2=word, 8=qword)
Offset 12: DWORD Count (number of elements)
भौतिक मेमोरी राइट (16 बाइट्स हेडर + डेटा):
Offset 0: UInt64 PhysicalAddress
Offset 8: DWORD AccessSize
Offset 12: DWORD Count
Offset 16: Data[] (bytes to write)
चूंकि ड्राइवर केवल भौतिक मेमोरी एक्सेस प्रदान करता है, हम कर्नेल वर्चुअल पतों को भौतिक पतों में अनुवाद करने के लिए Superfetch तकनीक का उपयोग करते हैं:
NtQuerySystemInformation(SystemSuperfetchInformation) के माध्यम से Superfetch से भौतिक मेमोरी रेंज प्राप्त करेंLnvMSRIOExploit.exe <path_to_LnvMSRIO.sys>
आवश्यकताएँ:
LnvMSRIOExploit.dproj खोलेंWin64\Release\LnvMSRIOExploit.exeयह टूल केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। उन सिस्टमों के विरुद्ध अनधिकृत उपयोग जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है, अवैध है। लेखक दुरुपयोग के लिए कोई दायित्व नहीं लेता है।
केवल अनुसंधान और शैक्षिक उद्देश्यों के लिए।
| IOCTL कोड | फ़ंक्शन | विवरण | PoC |
|---|
0x9C406104 | भौतिक मेमोरी रीड | MmMapIoSpace के माध्यम से मैप करता है | ✅ |
0x9C40A108 | भौतिक मेमोरी राइट | भौतिक मेमोरी को मैप और लिखता है | ✅ |
0x9C402084 | MSR रीड | मॉडल-विशिष्ट रजिस्टर पढ़ता है | ❌ |
0x9C402088 | MSR राइट | मॉडल-विशिष्ट रजिस्टर लिखता है | ❌ |