
Windows Analysis and Research Toolkit
⚠️ इस परियोजना के कुछ हिस्से AI सहायता से vibe code किए गए थे, इसलिए इसमें कुछ बग हो सकते हैं। कर्नेल ड्राइवर (KWinSys) केवल अनुसंधान उद्देश्यों के लिए एक टेस्ट VM में स्थापित किया जाना चाहिए।

| घटक | भूमिका |
|---|---|
| NtWarden | GUI ऐप (ImGui + DirectX 11) |
| WinSys | प्रक्रिया, सेवा और नेटवर्क गणना के लिए स्थिर लाइब्रेरी |
प्रति-प्रक्रिया सुरक्षा विश्लेषण, प्रक्रिया कॉन्टेक्स्ट मेनू से सुलभ।
आवश्यकताएँ: Visual Studio 2022, Windows SDK 10.0.26100.0+, WDK (KWinSys के लिए)
NtWarden.sln
├── NtWarden/ # GUI app
├── WinSys/ # Core library (static lib)
├── KWinSys/ # Kernel driver
└── WinSysServer/ # Remote server
NtWarden.sln को Visual Studio में खोलेंx64/Release/ में जाता हैKWinSys को टेस्ट साइनिंग या वैध हस्ताक्षर की आवश्यकता होती है।
# Enable test signing (reboot required)
bcdedit /set testsigning on
# On VMs you may also need
bcdedit /set nointegritychecks on
NtWarden को Administrator के रूप में चलाएँ। Kernel Mode टैब पर स्विच करने से ड्राइवर स्वतः इंस्टॉल और प्रारंभ हो जाएगा यदि वह पहले से लोड नहीं है। आप इसे Driver मेनू से मैन्युअल रूप से भी प्रबंधित कर सकते हैं।
WinSysServer लक्ष्य मशीन (आमतौर पर एक VM) पर चलता है और TCP पर सिस्टम डेटा प्रदान करता है। NtWarden से Remote > Connect के माध्यम से कनेक्ट करें।
| फ़ाइल | पथ | किस लिए आवश्यक |
|---|---|---|
WinSysServer.exe | x64/Release/WinSysServer.exe | हमेशा |
KWinSys.sys | x64/Release/KWinSys/KWinSys.sys | केवल कर्नेल सुविधाओं के लिए |
यूज़र-मोड की चीज़ें (प्रक्रियाएँ, सेवाएँ, नेटवर्क) ड्राइवर के बिना काम करती हैं। कर्नेल टैब के लिए लक्ष्य पर KWinSys लोड होना आवश्यक है।
# Auto-install driver + start server (run elevated)
WinSysServer.exe --install # default port 50002
WinSysServer.exe --install --port 9000 # custom port
# Or install the driver yourself first
sc create KWinSys type= kernel binPath= "C:\path\to\KWinSys.sys"
sc start KWinSys
WinSysServer.exe [--port <port>] # default: 50002
TCP पर कस्टम बाइनरी प्रोटोकॉल। 12-बाइट हेडर (MessageType, DataSize, Status)। कोई प्रमाणीकरण नहीं - केवल पृथक लैब/VM वातावरण में उपयोग करें।
MIT - LICENSE देखें।
| KWinSys | कॉलबैक, SSDT, कर्नेल मॉड्यूल आदि के लिए कर्नेल ड्राइवर |
| WinSysServer | दूरस्थ निरीक्षण के लिए हेडलेस TCP सर्वर |
| टैब | यह क्या करता है |
|---|
| Processes | प्रक्रिया सूची ट्री व्यू, हैंडल, थ्रेड, मेमोरी क्षेत्रों और मॉड्यूल के साथ |
| Performance | रीयल-टाइम CPU, RAM, GPU और नेटवर्क उपयोग ग्राफ - अन्य कार्यों के ऊपर ओवरले किया जा सकता है |
| Services | स्थिति, स्टार्ट प्रकार, बाइनरी पथ के साथ सेवा गणना |
| Network > Connections | TCP/UDP कनेक्शन स्वामी प्रक्रिया और दूरस्थ एंडपॉइंट के साथ |
| Network > Root Certificates | विषय, जारीकर्ता, थंबप्रिंट के साथ विश्वसनीय रूट CA स्टोर |
| Network > NDIS | नेटवर्क एडाप्टर जानकारी - ड्राइवर, MAC, गति, मीडिया प्रकार |
| ETW | सक्रिय ट्रेस सत्र और पंजीकृत प्रदाता |
| IPC | RPC एंडपॉइंट और नामित पाइप |
| Object Manager | कर्नेल ऑब्जेक्ट नेमस्पेस ब्राउज़ करें - निर्देशिकाएँ, सिमलिंक, डिवाइस |
| Registry | कुंजी/मान गणना के साथ रजिस्ट्री ब्राउज़र |
| Symbols | यूज़र-मोड सिंबल लोडिंग स्थिति |
| Logger | कर्नेल ड्राइवर डीबग लॉग और यूज़र-मोड GUI लॉग को एक स्थान पर इंटरसेप्ट करता है |
| टैब | यह क्या करता है |
|---|
| Process Objects | EPROCESS गणना, क्रॉस-रेफरेंसिंग के माध्यम से छिपी प्रक्रिया का पता लगाना |
| Modules | बेस, आकार, पथ के साथ लोड किए गए कर्नेल ड्राइवर (LolDrivers जाँच के साथ) |
| Callbacks | कर्नेल कॉलबैक (प्रक्रिया/थ्रेड/इमेज/रजिस्ट्री/ऑब्जेक्ट/पावर) + अखंडता जाँच |
| SSDT | स्वामी और हुक का पता लगाने के साथ SSDT प्रविष्टियाँ |
| Symbols | कर्नेल सिंबल रिज़ॉल्यूशन और PDB लोडिंग |
| Kernel Pool | बड़े पूल आवंटन, पूल टैग सांख्यिकी |
| Memory R/W | पते द्वारा कर्नेल मेमोरी पढ़ें/लिखें |
| Timers | प्रति-CPU इंटरप्ट और DPC काउंटर |
| Filter | ऊंचाई और इंस्टेंस जानकारी के साथ मिनीफिल्टर ड्राइवर |
| Descriptor Tables | GDT/IDT प्रविष्टियाँ |
| IRP Dispatch | किसी भी ड्राइवर के लिए IRP डिस्पैच तालिका - हैंडलर पते, स्वामी मॉड्यूल |
| WFP | WFP कॉलआउट ड्राइवर और फ़िल्टर |
| DSE Status | ड्राइवर सिग्नेचर एन्फोर्समेंट स्थिति |
| CI Policy | कोड इंटीग्रिटी नीति और प्रवर्तन स्तर |
| Kernel Integrity | कर्नेल .text को डिस्क इमेज के विरुद्ध सत्यापित करें |
| Hypervisor Hooks | समय विश्लेषण के माध्यम से EPT हुक का पता लगाना |
| अनुभाग | यह क्या जाँचता है |
|---|
| Unbacked Memory | किसी फ़ाइल द्वारा समर्थित नहीं निजी निष्पादन योग्य क्षेत्र (शेलकोड संकेत) |
| Hollowing | PEB ImageBase बनाम PE हेडर ImageBase बेमेल |
| Module Stomping | मेमोरी में .text अनुभागों की डिस्क मूल से तुलना |
| Direct Syscalls | ntdll के बाहर पाए गए syscall (0F 05) निर्देश |
| Syscall Stubs | ntdll स्टब अखंडता - मेमोरी बाइट्स बनाम स्वच्छ डिस्क प्रति |
| User Hooks | ntdll, kernel32, आदि में इनलाइन हुक (JMP/CALL पैच) (विश्लेषित बाइट्स को डिस्सेम्बल करने के लिए capstone की आवश्यकता है) |
| Tokens | एलिवेशन, अखंडता स्तर, प्रतिरूपण, संदिग्ध विशेषाधिकार |
| Debug Objects | प्रक्रिया पर डीबग ऑब्जेक्ट और डीबग पोर्ट |
| Hypervisor | CPUID विक्रेता जाँच + RDTSC/CPUID समय विसंगतियाँ |
| Job Objects | जॉब सदस्यता, सीमाएँ, UI प्रतिबंध |
| CFG Status | CFG/XFG प्रवर्तन स्थिति और शमन फ़्लैग |