Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
MSRMapper — Windows x64 के लिए मैनुअल kernel driver mapper जो Lenovo के LnvMSRIO.sys में CVE-2025-8061 का दुरुपयोग करके BYOVD हमला करता है, PE64 drivers को ring 0 में map करता है। | Kitploit
उपकरण/GitHubGitHub/ull0a/msrmapper
विशेषाधिकार वृद्धिमेमोरी फोरेंसिकशोषणरिवर्स इंजीनियरिंगशेलकोडपोस्ट-शोषणरेड टीमिंगपेलोड डेवलपमेंटबाइनरी शोषण
GitHubull0a/msrmapper

MSRMapper

Windows x64 के लिए मैनुअल kernel driver mapper जो Lenovo के LnvMSRIO.sys में CVE-2025-8061 का दुरुपयोग करके BYOVD हमला करता है, PE64 drivers को ring 0 में map करता है।

18घं 20मि पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

MSRMapper

Windows x64 के लिए BYOVD मैनुअल मैपर · CVE-2025-8061


MSRMapper चल रहा है

अवलोकन

MSRMapper Windows x64 के लिए एक मैनुअल कर्नेल ड्राइवर मैपर है जो कमजोर Lenovo ड्राइवर LnvMSRIO.sys में CVE-2025-8061 का दुरुपयोग करके BYOVD (Bring Your Own Vulnerable Driver) हमला करता है।

यह प्रोजेक्ट एक PE64 ड्राइवर को सीधे कर्नेल मेमोरी में मैप करता है, बिना sc create या किसी सेवा का उपयोग किए, और उसके DriverEntry को ring 0 में निष्पादित करता है। पूरी प्रक्रिया निम्नलिखित पर निर्भर करती है:

  • LnvMSRIO.sys के माध्यम से MSR और फिजिकल मेमोरी रीड/राइट।
  • DbgHelp का उपयोग करके PDB फ़ाइलों के माध्यम से कर्नेल सिंबल रिज़ॉल्यूशन।
  • NtQuerySystemInformation की SuperfetchPfnQuery क्लास के माध्यम से VA → PA ट्रांसलेशन।
  • ring-0 शेलकोड निष्पादित करने के लिए अस्थायी LSTAR हाइजैकिंग।
  • ExAllocatePoolWithTag, RtlCopyMemory, और DriverEntry जैसे कर्नेल फ़ंक्शन कॉल करने के लिए अस्थायी NtAddAtom हुकिंग।

स्थिति: Windows 10 22H2 (OS Build 19045.6466) पर परीक्षण किया गया। ड्राइवर सफलतापूर्वक मैप होता है और DriverEntry STATUS_SUCCESS (0x0) लौटाता है।


विशेषताएँ

  • ExAllocatePoolWithTag का उपयोग करके कर्नेल में मैनुअल PE64 मैपिंग।
  • Microsoft Symbol Server से PDB डाउनलोड करके कर्नेल सिंबल रिज़ॉल्यूशन (KiSystemCall64, NtAddAtom, आदि)।
  • Superfetch (NtQuerySystemInformation क्लास 0x4F) के साथ VA → PA ट्रांसलेशन, बिना कस्टम पेज-टेबल वॉकर की आवश्यकता के।
  • LnvMSRIO.sys के माध्यम से MSR (LSTAR, FMASK) और फिजिकल मेमोरी रीड/राइट।
  • गतिशील रूप से जनरेट किया गया शेलकोड जो:
    • मूल LSTAR को पुनर्स्थापित करता है।
    • NtAddAtom का PA प्राप्त करने के लिए MmGetPhysicalAddress कॉल करता है।
    • swapgs; sysret के माध्यम से नियंत्रण यूज़र मोड को लौटाता है।
  • मनमाने कर्नेल फ़ंक्शन कॉल करने के लिए अस्थायी हुक (12-बाइट )।

यह कैसे काम करता है

1. इनिशियलाइज़ेशन

  • \\.\WinMsrDev खोलता है (LnvMSRIO.sys द्वारा एक्सपोज़ की गई सेवा)।
  • EnumDeviceDrivers के माध्यम से ntoskrnl बेस प्राप्त करता है और LSTAR से इसे मान्य करता है।
  • कर्नेल सिंबल RVA रिज़ॉल्व करने के लिए PdbResolver को इनिशियलाइज़ करता है।

2. NtAddAtom का PA प्राप्त करना

  • एक शेलकोड बनाता है जो LSTAR हाइजैक होने पर ring 0 में चलेगा।
  • swapgs; iretq गैजेट को LSTAR में लिखता है।
  • PrepareStack के साथ स्टैक तैयार करता है और EnableACUserMode के माध्यम से यूज़र मोड में AC=1 सक्षम करता है।
  • syscall पर, CPU गैजेट पर जाता है, शेलकोड चलाता है, MmGetPhysicalAddress(NtAddAtom) कॉल करता है, और PA को यूज़र बफ़र में संग्रहीत करता है।
  • शेलकोड LSTAR को पुनर्स्थापित करता है और swapgs; sysret के साथ यूज़र मोड में लौटता है।

3. ड्राइवर मैपिंग

  • ExAllocatePoolWithTag के साथ नॉन-पेज्ड पूल आवंटित करता है (अस्थायी NtAddAtom हुक के माध्यम से आह्वान किया जाता है)।
  • RtlCopyMemory के साथ PE इमेज को पूल में कॉपी करता है।
  • रीलोकेशन लागू करता है, इम्पोर्ट रिज़ॉल्व करता है, और सिक्योरिटी कुकी ठीक करता है।
  • DriverObject = NULL और RegistryPath = NULL के साथ DriverEntry कॉल करता है।

4. क्लीनअप

  • NtAddAtom के मूल बाइट्स को पुनर्स्थापित करता है।
  • मूल MSR को पुनर्स्थापित करता है।
  • कमजोर ड्राइवर हैंडल बंद करता है।

आवश्यकताएँ

  • Windows 10/11 x64 (22H2 पर परीक्षण किया गया)।
  • Visual Studio 2022 के साथ:
    • Desktop development with C++।
    • .asm फ़ाइलों को बनाने के लिए MASM (Microsoft Macro Assembler)।
  • Windows SDK और WDK (यदि आपको पेलोड ड्राइवर बनाना है)।
  • कमजोर LnvMSRIO.sys (CVE-2025-8061) इंस्टॉल और WinMsrDev सेवा चालू।
  • Administrator विशेषाधिकार।
  • Microsoft PDB डाउनलोड करने के लिए पहली बार इंटरनेट एक्सेस, या C:\Symbols में लोकल कैश।
  • CMake 3.20 या नया।

बिल्ड

यह प्रोजेक्ट CMake का उपयोग करता है। कमांड लाइन से बिल्ड करने के लिए:

  1. Visual Studio 2022 सॉल्यूशन जनरेट करें:

    root@kitploit:~
    cmake -B build -G "Visual Studio 17 2022" -A x64
    
  2. Release मोड में बिल्ड करें:

    root@kitploit:~
    cmake --build build --config Release
    

आउटपुट बाइनरीज़ build/bin/Release/ में होंगी (या CMake कॉन्फ़िगरेशन के आधार पर समान पथ में)।

वैकल्पिक रूप से, आप Visual Studio 2022 में जनरेट किए गए build/KernelLoader.sln को खोलकर वहाँ से बिल्ड कर सकते हैं।

सुनिश्चित करें कि ShellcodeAsm.asm और EnableAC.asm MASM के साथ कंपाइल हों। प्रदान की गई CMakeLists.txt इसे स्वचालित रूप से संभालती है।

यदि आपको बिल्ड कॉन्फ़िगरेशन समायोजित करने की आवश्यकता है, तो CMakeLists.txt संपादित करें।

उपयोग

  1. LnvMSRIO.sys सेवा इंस्टॉल और प्रारंभ करें:

    root@kitploit:~
    sc create WinMsrDev type= kernel binPath= C:\path\to\LnvMSRIO.sys
    sc start WinMsrDev
    
  2. KernelLoader.exe को Administrator के रूप में चलाएँ:

    root@kitploit:~
    KernelLoader.exe
    
  3. मैप किए गए ड्राइवर के DbgPrint आउटपुट को देखने के लिए, DebugView (Sysinternals) को Administrator के रूप में इसके साथ उपयोग करें:

    • Capture → Capture Kernel
    • Options → Enable Verbose Kernel Output
    • यदि आवश्यक हो, तो फ़िल्टर को यहाँ समायोजित करें:
      root@kitploit:~
      HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter
      
      Default नाम का DWORD बनाकर जिसका मान हो।

नोट्स

  • कुछ PdbResolver लॉग में दिखने वाला DBGHELP: ... - unmatched संदेश कॉस्मेटिक है। PDB एक कृत्रिम वर्चुअल बेस पर लोड होता है और SymFromName अभी भी सही ढंग से काम करता है। यह सिंबल रिज़ॉल्यूशन को प्रभावित नहीं करता।
  • Windows 11 24H2 पर, EnumDeviceDrivers गलत बेस लौटा सकता है। यह प्रोजेक्ट वास्तविक बेस की गणना LSTAR - KiSystemCall64 से करता है।
  • NtAddAtom हुक अस्थायी है और प्रत्येक कॉल के बाद पुनर्स्थापित हो जाता है। फिर भी, इसका उपयोग केवल नियंत्रित वातावरण में करें।
  • शेलकोड मानता है कि SMEP/SMAP सक्षम हैं। उन्हें CR4 के माध्यम से अस्थायी रूप से अक्षम किया जाता है और यूज़र मोड में लौटने से पहले पुनर्स्थापित किया जाता है।
टूल डाउनलोड करें
NtAddAtom
jmp rax
  • हुक और मूल MSR का स्वचालित पुनर्स्थापन।
  • Windows 11 24H2 समर्थन, जहाँ EnumDeviceDrivers गलत बेस लौटा सकता है; वास्तविक कर्नेल बेस की गणना LSTAR - KiSystemCall64 से की जाती है।
  • 0xFFFFFFFF