
# مُنهي عمليات في وضع النواة باستخدام برنامج تشغيل BYOVD موقّع. يعمل على جميع إصدارات Windows 10/11. بدون إزاحات، بدون PDB. Rust.
أداة إنهاء عمليات Windows متعددة الإصدارات. تقوم بتحميل برنامج تشغيل نواة HONOR موقّع (MonProcessEX.sys)، وتحدد PID لكل عملية مستهدفة، وتنهيها من سياق النواة عبر IOCTL واحد. لا إزاحات نواة، لا تنزيلات PDB، لا شيفرة شل خاصة بإصدار معين - التقنية تعمل بشكل متطابق على كل إصدارات Windows 10 و Windows 11.
الأداة عبارة عن ملف تنفيذي واحد مكتفٍ ذاتيًا. تقوم بتثبيت برنامج التشغيل عبر Service Control Manager، وتنفذ الإنهاء، ثم توقف الخدمة وتحذفها، دون ترك أي أثر دائم. الأهداف قابلة للتهيئة في وقت التشغيل عبر ملف تهيئة، أو سطر الأوامر، أو الإعدادات الافتراضية المدمجة.
متعدد الإصدارات بالتصميم. برنامج تشغيل واحد، IOCTL واحد، بدائية إنهاء واحدة. يعمل على جميع إصدارات Windows 10 و Windows 11.
1. Keep moncrush.exe and MonProcessEX.sys in the same folder.
2. Run from an elevated shell.
moncrush.exe -n "notepad.exe,calc.exe"
3. Targets die. Driver unloads itself. Done.
لا سلسلة أدوات، لا إزاحات، لا خطوة بناء.
| الميزة | التفاصيل |
|---|---|
| متعدد الإصدارات | يعمل على جميع إصدارات Windows 10 و Windows 11، بدون إزاحات |
| إنهاء في وضع النواة | برنامج التشغيل ينهي PID من سياق النواة |
| تجاوز PPL | مسار الإنهاء في MonProcessEX.sys يتجاوز فحوصات العمليات المحمية |
| برنامج تشغيل موقّع | MonProcessEX.sys هو برنامج تشغيل HONOR حقيقي موقّع |
| غير مدرج في قواعد حظر MS | غائب عن قواعد حظر برامج التشغيل الضعيفة لدى Microsoft |
| مكتفٍ ذاتيًا | برنامج التشغيل يُثبّت ويُشغّل ويُنظّف عبر SCM |
| صفر تبعيات | ملف Rust ثنائي ثابت؛ أسقط exe + برنامج التشغيل، وشغّل |
| قابل للتهيئة | targets.conf أو -n، دون حاجة لإعادة الترجمة |
| مُشوَّه | مسار الجهاز وقائمة الأهداف مشفّرة عند التخزين |
| ملف تنفيذي واحد | ملف ثنائي واحد؛ مخرجات وحدة التحكم من صدفة، صامت عند النقر المزدوج |
| وضع التشغيل التجريبي | عدّد الأهداف و PIDs قبل التنفيذ |
| حلقة بتذبذب | --repeat يعيد الفحص بفاصل زمني عشوائي |
| رموز الخروج + JSON | واجهة أتمتة صديقة لـ C2 |
+-------------------------------------------------------------------------------------------+
| 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 suppress all console output
-r, --repeat keep running, re-check targets
-d, --dry-run enumerate targets without killing
-j, --json machine-readable JSON output
-l, --list print target names and exit
-v, --version print version and exit
-x, --self-destruct delete self after successful run
--no-check skip VM and debugger checks
--delay <ms> sleep before executing
--jitter <ms> randomize repeat interval
--max-attempts <n> stop after n kill passes (0=infinite)
--svc <name> custom service name
--driver <path> custom driver file path
-n, --names <csv> comma-separated target list override
-c, --config <path> load targets from config file
-h, --help show this help
رموز الخروج: 0 نجاح، 2 لا أهداف، 3 فشل برنامج التشغيل، 5 إحباط بيئي. ترتيب تحديد الأهداف: --names > --config > targets.conf (القرص) > الإعدادات الافتراضية المدمجة.