
इंटेल x64 के लिए विंडोज हाइपरवाइज़र: विंडोज के लिए रक्षात्मक होस्ट हाइपरवाइज़र जो कर्नेल-स्तरीय हमलों को कम करने के लिए डिज़ाइन किया गया है, जिसमें BYOVD शामिल है, VMware और Hyper-V के साथ संगत।
NovaHypervisor एक रक्षात्मक x64 Intel होस्ट-आधारित हाइपरवाइज़र है। इस परियोजना का उद्देश्य कर्नेल-आधारित हमलों (या तो Bring Your Own Vulnerable Driver (BYOVD) या अन्य माध्यमों से) से रक्षा उत्पादों (एंटीवायरस/एंडपॉइंट प्रोटेक्शन) और कर्नेल मेमोरी संरचनाओं की सुरक्षा करके और कर्नेल मेमोरी तक अनधिकृत पहुंच को रोककर बचाव करना है।
NovaHypervisor C++ और Assembly में लिखा गया है, और इसे Windows 10 और बाद के संस्करणों पर चलाने के लिए संगत बनाया गया है। कृपया इसका उपयोग कैसे करें, इस बारे में अधिक जानकारी के लिए सेटअप अनुभाग देखें।
[!IMPORTANT]
हाइपरवाइज़र का Windows 11 25H2 और कई Windows 10 संस्करणों पर परीक्षण किया गया था। यदि आपको कोई समस्या आती है, तो कृपया पहले जांच लें कि कोई खुला मुद्दा नहीं है, और फिर एक मुद्दा खोलें।
NovaHypervisor इन हाइपरवाइज़र के अंतर्गत चल सकता है:
✅ - समर्थित और परीक्षित
⌛ - कार्य प्रगति पर
❌ - समर्थित नहीं है और समर्थन की योजना नहीं है
| हाइपरवाइज़र | समर्थित |
|---|
NovaHypervisor का उपयोग करने के लिए, आपको एक कर्नेल सेवा बनानी होगी और उसे प्रारंभ करना होगा:
sc create NovaHypervisor type= kernel binPath= "C:\Path\To\NovaHypervisor.sys"
sc start NovaHypervisor
फिर, आप NovaClient एप्लिकेशन का उपयोग करके उन पतों को जोड़ और हटा सकते हैं जिन्हें आप सुरक्षित रखना चाहते हैं:
REM Add an address to protect
NovaClient.exe protect 0x12345678 <r|w|x> <execution hook>
REM Remove an address from protection
NovaClient.exe unprotect 0x12345678
protect: किसी मेमोरी पते को एक्सेस होने से सुरक्षित रखता है, आप सुरक्षा का प्रकार निर्दिष्ट कर सकते हैं:
r: पढ़ने की सुरक्षाw: लिखने की सुरक्षाx: निष्पादन सुरक्षा
आप जो सुरक्षा देते हैं वह वह सुरक्षा है जो पते के पास होगी। उदाहरण के लिए, यदि आप निष्पादन विशेषाधिकार हटाना चाहते हैं, तो "rw" करें।unprotect: किसी मेमोरी पते से सुरक्षा हटाता है।
[!NOTE] इनलाइन हुक + EPT हुक के माध्यम से निष्पादन हुक समर्थित नहीं हैं और दुरुपयोग को रोकने के लिए इस परियोजना के लिए समर्थित नहीं होंगे।
प्रोजेक्ट को संकलित करने के लिए सेटअप में आपके पास होना आवश्यक है:
हाइपरवाइज़र चलाने के लिए, आपको अपनी मशीन पर Windows 10 या बाद का संस्करण स्थापित होना चाहिए। आपके पास यह भी होना चाहिए:
NovaHypervisor एक छोटे COM लॉगर का उपयोग करके दूसरे सीरियल पोर्ट (COM2, I/O पोर्ट 0x2F8) पर लॉग करता है जो HIGH_LEVEL IRQL और VMX रूट पथों पर चल सकता है। यह एक निश्चित NovaHypervisor उपसर्ग के साथ डिबग, जानकारी और त्रुटि रिकॉर्ड उत्सर्जित करता है।
bcdedit /dbgsettings serial debugport:2 baudrate:115200
होस्ट-साइड सीरियल पाइप या आपके VM के कॉन्फ़िगर किए गए COM2 एंडपॉइंट से आउटपुट को 115200 8N1 पर कैप्चर करें। उदाहरण के लिए, PuTTY में आप VM के लिए कॉन्फ़िगर किए गए सीरियल ट्रांसपोर्ट से जुड़ सकते हैं और ड्राइवर चलने पर लॉग लाइनों का निरीक्षण कर सकते हैं। आप VM के COM2 पोर्ट से कनेक्ट करने और लॉग को कंसोल में प्रदर्शित करने के लिए connect-vm.ps1 स्क्रिप्ट का भी उपयोग कर सकते हैं।
अपने परीक्षण वातावरण में इसका परीक्षण और डिबग करने के लिए, उन्नत cmd के साथ उन कमांड को चलाएँ और फिर अपनी मशीन को पुनरारंभ करें:
bcdedit /set testsigning on
bcdedit /debug on
bcdedit /dbgsettings net hostip:<HOSTIP> port:55000 key:1.2.3.4
जहाँ <HOSTIP> आपकी होस्ट मशीन का IP पता है।
| VMware | ✅ |
| Hyper-V | ✅ |
| Hyper-V with VBS | ⌛ |
| VirtualBox | ❌ |
| QEMU | ❌ |
| KVM | ❌ |