
# कर्नेल-मोड प्रोसेस टर्मिनेटर, हस्ताक्षरित BYOVD ड्राइवर का उपयोग करके। सभी Windows 10/11 पर काम करता है। कोई ऑफसेट नहीं, कोई PDB नहीं। Rust।
एक क्रॉस-वर्जन विंडोज़ प्रोसेस टर्मिनेटर। यह एक हस्ताक्षरित HONOR
कर्नेल ड्राइवर (MonProcessEX.sys) लोड करता है, हर लक्षित प्रक्रिया का
PID हल करता है, और एक ही IOCTL के माध्यम से इसे कर्नेल संदर्भ से समाप्त
करता है। कोई कर्नेल ऑफसेट नहीं, कोई PDB डाउनलोड नहीं, कोई बिल्ड-विशिष्ट
शेलकोड नहीं - यह तकनीक हर Windows 10 और Windows 11 बिल्ड पर समान रूप
से काम करती है।
यह टूल एक एकल स्व-निहित निष्पादन योग्य है। यह ड्राइवर को Service Control Manager के माध्यम से इंस्टॉल करता है, किल करता है, फिर सेवा को रोकता और हटाता है, जिससे कोई स्थायी आर्टिफैक्ट पीछे नहीं रहता। लक्ष्य कॉन्फ़िग फ़ाइल, कमांड लाइन, या अंतर्निहित डिफ़ॉल्ट के माध्यम से रनटाइम पर कॉन्फ़िगर करने योग्य हैं।
डिज़ाइन द्वारा क्रॉस-वर्जन। एक ड्राइवर, एक IOCTL, एक किल प्रिमिटिव। सभी Windows 10 और Windows 11 बिल्ड पर काम करता है।
1. moncrush.exe और MonProcessEX.sys को एक ही फ़ोल्डर में रखें।
2. उन्नत शेल से चलाएँ।
moncrush.exe -n "notepad.exe,calc.exe"
3. लक्ष्य समाप्त हो जाते हैं। ड्राइवर स्वयं अनलोड हो जाता है। हो गया।
कोई टूलचेन नहीं, कोई ऑफसेट नहीं, कोई बिल्ड चरण नहीं।
+-------------------------------------------------------------------------------------------+
| USER MODE |
| |
| moncrush.exe |
| |
| +-------------------+ +-------------------+ +---------------------+ |
| | enumerate all | | resolve target | | match against | |
| | running | -> | PID via process | -> | target list, | |
| | processes | | entry | | collect PIDs | |
| +-------------------+ +-------------------+ +----------+----------+ |
| | |
| CreateFileW("\.\MonProcessEX") | |
| DeviceIoControl(IOCTL 0x22400C) | |
| output = termination status v |
+-------------------------------------------------------------------------------------------+
| KERNEL MODE |
| |
| MonProcessEX.sys signed HONOR kernel driver |
| +---------------------------------------------------------------------------------+ |
| | | |
| | IOCTL 0x22400C -> PID termination dispatch | |
| | | | |
| | | kernel-mode process lookup | |
| | v | |
| | EPROCESS located -> terminated from kernel context | |
| | | | |
| | v | |
| | process exit path invoked | |
| | | |
| +---------------------------------------------------------------------------------+ |
| |
| CLEANUP |
| +---------------------------------------------------------------------------------+ |
| | SCM service stopped and deleted | |
| | driver unloaded, no persistent artifact | |
| +---------------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------------------+
ड्राइवर एक किल IOCTL उजागर करता है जो दिए गए PID वाली प्रक्रिया को समाप्त करता है। यूज़र-मोड घटक चल रही प्रक्रियाओं की गणना करता है, हर लक्ष्य का PID हल करता है, और इसे डिवाइस इंटरफ़ेस के माध्यम से प्रस्तुत करता है। यूज़र मोड से कोई कर्नेल संरचना स्पर्श नहीं की जाती, इसलिए यह तकनीक Windows संस्करण परिवर्तनों से प्रतिरक्षित है।
cargo build --release --target x86_64-pc-windows-gnu
रिलीज़ प्रोफ़ाइल LTO और एकल कोडजेन यूनिट सक्षम करती है। परियोजना अपने
स्वयं के [workspace] घोषणा के साथ स्व-निहित है।
moncrush.exe [options]
-s, --silent सभी कंसोल आउटपुट दबाएँ
-r, --repeat चलते रहें, लक्ष्यों की पुनः जाँच करें
-d, --dry-run बिना किल किए लक्ष्यों की गणना करें
-j, --json मशीन-पठनीय JSON आउटपुट
-l, --list लक्ष्य नाम प्रिंट करें और बाहर निकलें
-v, --version संस्करण प्रिंट करें और बाहर निकलें
-x, --self-destruct सफल रन के बाद स्वयं हटाएँ
--no-check VM और डीबगर जाँचें छोड़ें
--delay <ms> निष्पादन से पहले सोएँ
--jitter <ms> दोहराव अंतराल को यादृच्छिक करें
--max-attempts <n> n किल पास के बाद रोकें (0=अनंत)
--svc <name> कस्टम सेवा नाम
--driver <path> कस्टम ड्राइवर फ़ाइल पथ
-n, --names <csv> अल्पविराम-पृथक लक्ष्य सूची ओवरराइड
-c, --config <path> कॉन्फ़िग फ़ाइल से लक्ष्य लोड करें
-h, --help यह सहायता दिखाएँ
एग्ज़िट कोड: 0 ठीक, 2 कोई लक्ष्य नहीं, 3 ड्राइवर विफल, 5 पर्यावरण
निरस्त। लक्ष्य समाधान क्रम: --names > --config > targets.conf
(डिस्क) > अंतर्निहित डिफ़ॉल्ट।
--no-check से बायपास करें।--delay <ms> कुछ भी करने से पहले सोता है,
प्रारंभिक निष्पादन के साथ समय-सहसंबंध तोड़ता है।-x सफल रन के बाद निष्पादन योग्य को हटाता है
और उसकी Prefetch प्रविष्टि को शुद्ध करता है।लक्ष्य सूची पुनर्संकलन के बिना पूरी तरह कॉन्फ़िगर करने योग्य है:
कॉन्फ़िग फ़ाइल। निष्पादन योग्य के पास targets.conf रखें, प्रति
पंक्ति एक प्रक्रिया नाम। # से शुरू होने वाली पंक्तियाँ अनदेखी की
जाती हैं:
MsMpEng.exe
csfalconservice.exe
SentinelAgent.exe
cortex_agent.exe
एक टेम्पलेट targets.example.conf के रूप में शामिल है।
कमांड लाइन। moncrush.exe -n "MsMpEng.exe,csfalconservice.exe"
अंतर्निहित डिफ़ॉल्ट। कोई कॉन्फ़िग और कोई फ़्लैग नहीं होने पर, अंतर्निहित सेट है:
MIT. देखें LICENSE.
यह परियोजना केवल शोध और अधिकृत परीक्षण के लिए प्रकाशित है। ऐसे सिस्टम में अहस्ताक्षरित या कमजोर ड्राइवर लोड करना जिसके आप स्वामी नहीं हैं, अधिकांश क्षेत्राधिकारों में अवैध है। आप सभी लागू कानूनों और उन सिस्टमों के प्राधिकरण दायरे के अनुपालन के लिए जिम्मेदार हैं जिनका आप परीक्षण करते हैं।
| विशेषता | विवरण |
|---|
| क्रॉस-वर्जन | सभी Windows 10 और Windows 11 बिल्ड पर काम करता है, कोई ऑफसेट नहीं |
| कर्नेल-मोड किल | ड्राइवर PID को कर्नेल संदर्भ से समाप्त करता है |
| PPL बायपास | MonProcessEX.sys किल पथ संरक्षित-प्रक्रिया जाँचों को बायपास करता है |
| हस्ताक्षरित ड्राइवर | MonProcessEX.sys एक वास्तविक हस्ताक्षरित HONOR ड्राइवर है |
| MS ब्लॉक नियमों में नहीं | Microsoft के कमजोर-ड्राइवर ब्लॉक नियमों से अनुपस्थित |
| स्व-पर्याप्त | ड्राइवर SCM के माध्यम से इंस्टॉल, प्रारंभ और साफ़ किया जाता है |
| शून्य निर्भरताएँ | स्थिर Rust बाइनरी; exe + ड्राइवर डालें, चलाएँ |
| कॉन्फ़िगर करने योग्य | targets.conf या -n, कोई पुनर्संकलन आवश्यक नहीं |
| अस्पष्ट | डिवाइस पथ और लक्ष्य सूची आराम पर एन्क्रिप्टेड |
| एकल निष्पादन योग्य | एक बाइनरी; शेल से कंसोल आउटपुट, डबल-क्लिक पर मौन |
| ड्राई-रन मोड | प्रतिबद्ध होने से पहले लक्ष्य और PID की गणना करें |
| जिटर लूप | --repeat यादृच्छिक अंतराल के साथ पुनः जाँच करता है |
| एग्ज़िट कोड + JSON | C2-अनुकूल स्वचालन इंटरफ़ेस |