
ड्राइवर के माध्यम से Windows 10 DLL इंजेक्टर, जो VAD का उपयोग करता है और लोड किए गए ड्राइवर को छिपाता है।
Driver DLL Injector विवरण
Driver DLL Injector एक शक्तिशाली उपकरण है जो उपयोगकर्ताओं को अपने पसंदीदा मैपर का उपयोग करके अपनी पसंद के ड्राइवर लोड करने की अनुमति देता है। एक अहस्ताक्षरित ड्राइवर लोडर, जैसे कि KDmapper, की क्षमताओं का लाभ उठाकर, यह इंजेक्टर Windows 10 2004 x64 प्रक्रियाओं पर बनाया और परीक्षण किया गया था
ड्राइवर हमारी यूजरमोड प्रक्रिया के साथ संचार के लिए xKdEnumerateDebuggingDevices नामक पैच गार्ड-सुरक्षित फ़ंक्शन को हुक करता है। यह विधि लोकप्रिय एंटी-चीट्स पर अत्यधिक डिटेक्ट होती है, इसलिए हम एक कदम आगे जाकर एक यूजरमोड थ्रेड को कर्नेल में फंसाते हैं ताकि संचार के लिए मूल फ़ंक्शन के पते को पुनर्स्थापित किया जा सके, जिससे फ़ंक्शन अखंडता जाँचें बायपास हो जाती हैं।
ड्राइवर पीछे छोड़े गए निशानों को छुपाने के लिए निम्नलिखित कार्य करता है:
VAD हेरफेर: ड्राइवर अप्रलेखित Virtual Address Descriptor (VAD) फ़ंक्शनों जैसे MiInsertChange और MiAllocVad का लाभ उठाकर "थ्रेड स्टैक" के पीछे रणनीतिक रूप से मेमोरी आवंटित करता है, जो व्यापक रूप से ज्ञात नहीं हैं। एक बार VAD आवंटित हो जाने और DLL सफलतापूर्वक लोड हो जाने के बाद, ड्राइवर VAD को VAD ट्री से हटा देगा।
PTE हेरफेर: NtQueryVirtualMemory से जाँचों को बायपास करने के लिए, ड्राइवर Page Table Entries (PTEs) में हेरफेर करता है ताकि VAD द्वारा आवंटित पृष्ठ निष्पादन योग्य बन सकें। PTEs को संशोधित करके, ड्राइवर यह सुनिश्चित करता है कि VAD निष्पादन योग्य (X) बिट सक्षम के साथ अपडेट न हो, जिससे संभावित प्रतिबंधों को दरकिनार किया जा सके।
PiDDBCacheTable, MmUnloadedDrivers (हैश बकेट सूची) को साफ़ करना।
आप ड्राइवर के लिए जो भी मैनुअल मैपर उपयोग करते हैं, उसके आधार पर, आपको बड़े पूल (big pools) को भी ध्यान में रखना होगा।
यूजरमोड प्रक्रिया हमारे DLL main के फ़ंक्शन को कॉल करने के लिए Discord के ओवरले का उपयोग करती है।
यूजरमोड प्रक्रिया निम्नलिखित कार्य करती है:
Driver DLL Injector का उपयोग करने के लिए, इन चरणों का पालन करें:
1. KDmapper जैसा एक संगत मैपर चुनें और इंस्टॉल करें।
2. Driver DLL Injector प्रोजेक्ट को कंपाइल या बिल्ड करें।
3. चयनित मैपर का उपयोग करके ड्राइवर लोड करें।
4. टेस्ट एप्लिकेशन लॉन्च करें (डिस्कॉर्ड ओवरले सक्षम के साथ)।
5. यूजरमोड एप्लिकेशन लॉन्च करें और Hello World मैसेज बॉक्स की प्रतीक्षा करें।
इस प्रोजेक्ट को बनाते समय, रास्ते में कई बाधाएँ आईं। उनमें से कुछ निम्नलिखित थीं:
/sdl-, /GS- सेट करना और रनटाइम लाइब्रेरी को /MT पर सेट करने से मेरी क्रैशिंग की समस्याएँ ठीक हो गईं।KMODE_EXCEPTION BSOD उत्पन्न होता था, इसे ड्राइवर प्रॉपर्टी /GS- सेट करके ठीक किया गया।ModMap - VAD हेरफेर दिखाने के लिए
SkCrypt - एन्क्रिप्शन के लिए
Stealthy Kernel Mode Injector - ड्राइवर बेस के लिए
Poseidon - यूजरमोड थ्रेड को कर्नेल क्षेत्र में फंसाने के लिए
FACE INJECTOR - शेलकोड के लिए