
परियोजना दिनांक: फरवरी 2026 / MiniTool के कर्नेल ड्राइवर के भीतर मेमोरी भ्रष्टाचार भेद्यता। एक डीबगर-सहायता प्राप्त मनमाना कर्नेल राइट प्रिमिटिव का प्रदर्शन करता है जिसका उपयोग विशेषाधिकार वृद्धि की दिशा में किया जा सकता है।
MiniTool के pwdrvio.sys कर्नेल ड्राइवर के भीतर कर्नेल write-what-where स्थिति। एक डीबगर-सहायता प्राप्त मनमाना कर्नेल राइट प्रिमिटिव प्रदर्शित करता है जिसका उपयोग विशेषाधिकार वृद्धि (privilege escalation) की दिशा में किया जा सकता है।
https://github.com/user-attachments/assets/ac81d7ce-0be7-40a5-9334-c54350e6e30e
मनमाना कर्नेल राइट → स्थानीय विशेषाधिकार वृद्धि (LPE)
गंभीरता: उच्च (HIGH)
CVSS 3.1 स्कोर: 7.8 (LPE)
CVSS वेक्टर स्ट्रिंग:
LPE: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
हमले की पूर्वापेक्षाएँ:
शोषण परिणाम: LPE - डीबगर-सहायता प्राप्त विशेषाधिकार वृद्धि प्रदर्शित की गई (NT AUTHORITY / SYSTEM), पूर्ण सिस्टम समझौता
तिथि: 5 फरवरी, 2026
गतिविधि: कस्टम Python फज़र का उपयोग करके व्यवस्थित कर्नेल ड्राइवर फज़िंग
खोज प्रक्रिया:
लक्ष्य चयन:
pwdrvio.sys को सबसे पुराने ड्राइवर के रूप में पहचाना (टाइमस्टैम्प: 16 जून, 2009)C:\Windows\System32\drivers\pwdrvio.sys\\.\PartitionWizardDiskAccesser\0प्रारंभिक फज़िंग:
ctypes का उपयोग करके Python फज़र विकसित कियाWriteFile/DeviceIoControl के माध्यम से यादृच्छिक डेटा भेजावेरिफायर सक्रियण:
वेरिफायर कॉन्फ़िगरेशन: ```
Verifier Flags: 0x001209bb
Standard Flags Enabled:
[X] Special pool
[X] Force IRQL checking
[X] Pool tracking
[X] I/O verification
[X] Deadlock detection
[X] DMA checking
[X] Security checks
[X] Miscellaneous checks
[X] DDI compliance checking
### WinDbg कर्नेल डिबगिंग सेटअप
**दिनांक:** 5-6 फरवरी, 2026
**गतिविधि:** रूट कॉज़ विश्लेषण के लिए कर्नेल डिबगिंग वातावरण स्थापित किया गया
**सेटअप प्रक्रिया:**
1. **VMware सीरियल पोर्ट कॉन्फ़िगरेशन:** ```
VMware Workstation Pro → VM Settings
├─ Add Hardware → Serial Port
├─ Connection: "Use named pipe"
├─ Path: \\.\pipe\com_1
├─ End: "This is the server"
└─ I/O Mode: "Yield CPU on poll" ✓
अतिथि OS कॉन्फ़िगरेशन: ```cmd REM Administrator Command Prompt bcdedit /debug on bcdedit /dbgsettings serial debugport:1 baudrate:115200 shutdown /r /t 0
होस्ट WinDbg कनेक्शन: ``` WinDbg → File → Attach to Kernel ├─ Port: \.\pipe\com_1 ├─ Baud Rate: 115200 ├─ Pipe: ✓ └─ Reconnect: ✓
Result: "Kernel Debugger connection established."
दिनांक: 6 फरवरी, 2026
गतिविधि: आर्बिट्ररी कर्नेल राइट प्रिमिटिव की पहचान की गई
विश्लेषण चरण:
मॉड्यूल विश्लेषण: ```
1: kd> lm m pwdrvio
start end module name
fffff805315f0000 fffff805315f8000 pwdrvio (Jun 16 2009)
1: kd> !drvobj pwdrvio 2 Driver object (fffff805`XXXXXXXX) is for: \Driver\pwdrvio
DriverEntry: fffff805315f6008 DriverUnload: fffff805315f1060
Dispatch Routines:
[00] IRP_MJ_CREATE fffff805315f108c [02] IRP_MJ_CLOSE fffff805315f12f8
[03] IRP_MJ_READ fffff805315f16c4 [04] IRP_MJ_WRITE fffff805315f1564 ← Target
[0e] IRP_MJ_DEVICE_CONTROL fffff805`315f1404
असुरक्षित निर्देश खोज (Vulnerable Instruction Discovery):
राइट हैंडलर पर ब्रेकपॉइंट सेट करें: ``` 1: kd> bp pwdrvio+0x1641 1: kd> g
Breakpoint 0 hit pwdrvio+0x1641: fffff805`315f1641 498943f0 mov qword ptr [r11-10h],rax
महत्वपूर्ण निष्कर्ष: मनमाना लेखन प्रिमिटिव की पहचान की गई!
RAX) को पते [R11-0x10] पर लिखता हैR11 स्टैक फ्रेम से लोड किया जाता है: mov r11, qword ptr [rbp+0xB8h]रजिस्टर स्थिति विश्लेषण: ``` 0: kd> r rax=fffff805315f1364 ← Kernel code pointer r11=ffffe60f84c38750 ← Destination address (controlled via stack) rbp=ffffe60f84c38610 ← IRP stack frame
0: kd> dq @rbp+0xB8 L1
ffffe60f84c386c8 ffffe60f84c38750 ← R11 loaded from here
दिनांक: 6-7 फरवरी, 2026
गतिविधि: User-After-Free से write-what-where स्थिति तक भेद्यता का पता लगाया गया
Memory Corruption श्रृंखला:
IRP आवंटन: ``` 0: kd> !pool @rbp Pool page ffffe60f84c38610 region is Special pool *ffffe60f84c38000 size: 1f0 data: ffffe60f84c38e10 (NonPaged) *Irp+ Pooltag Irp+ : I/O verifier allocated IRP packets
बफर संबंध: ``` 0: kd> r rsi rsi=ffffe60f828df900 ← User buffer location
0: kd> ? @rbp - @rsi Evaluate expression: 35823344 = 00000000`02229ef0 ← 35MB difference!
विश्लेषण: उपयोगकर्ता बफर RBP फ्रेम से सीधे एक्सेस नहीं किया जा सकता
RBP+0xB8 ऑफसेट उपयोगकर्ता-नियंत्रित बफर की ओर इशारा नहीं करताउपयोग-के-बाद-मुक्त (Use-After-Free) स्थिति:
ड्राइवर IRP संरचना में डैंगलिंग पॉइंटर्स बनाए रखता है: ```c // Ghidra decompilation (pwdrvio+0x1564) longlong lVar1 = *(longlong *)(param_2 + 0xb8); // Load from IRP
// No validation! lVar5 = IoBuildAsynchronousFsdRequest(...);
// Write to [lVar1 - 0x10] *(code **)(lVar3 + -0x10) = FUN_00011364; // Arbitrary write!
दिनांक: 7-8 फरवरी, 2026
गतिविधि: टोकन चोरी तकनीक विकसित की गई
शोषण रणनीति:
उद्देश्य: वर्तमान प्रक्रिया टोकन को SYSTEM टोकन से अधिलेखित करना
Windows EPROCESS संरचना:``` +0x000 Pcb : _KPROCESS ... +0x4b8 Token : _EX_FAST_REF ← Token pointer location
**टोकन चोरी प्रक्रिया:**