
# مُنهي عمليات في وضع النواة باستخدام برنامج تشغيل BYOVD موقّع. يعمل على جميع إصدارات Windows 10/11. بدون إزاحات، بدون PDB. Rust.
أداة إنهاء عمليات ويندوز متعددة الإصدارات. تقوم بتحميل برنامج تشغيل نواة HONOR موقّع (MonProcessEX.sys)، وتحدد معرّف العملية (PID) لكل عملية مستهدفة، وتنهيها من سياق النواة عبر استدعاء IOCTL واحد. لا حاجة لإزاحات النواة، ولا تنزيلات PDB، ولا أكواد شيل خاصة ببناء معين - تعمل التقنية بشكل متطابق على كل إصدارات ويندوز 10 وويندوز 11.
الأداة عبارة عن ملف تنفيذي واحد مكتفٍ ذاتيًا. تقوم بتثبيت برنامج التشغيل عبر مدير التحكم بالخدمات (SCM)، وتنفذ الإنهاء، ثم توقف وتحذف الخدمة، دون ترك أي أثر دائم. يمكن تكوين الأهداف وقت التشغيل عبر ملف إعدادات، أو سطر الأوامر، أو الإعدادات الافتراضية المدمجة.
متعدد الإصدارات بالتصميم. برنامج تشغيل واحد، استدعاء IOCTL واحد، بدائية إنهاء واحدة. يعمل على جميع إصدارات ويندوز 10 وويندوز 11.
1. احتفظ بـ moncrush.exe و MonProcessEX.sys في نفس المجلد.
2. شغّل من موجه أوامر بصلاحيات مرتفعة.
moncrush.exe -n "notepad.exe,calc.exe"
3. تُنهى الأهداف. يُلغى تحميل برنامج التشغيل تلقائيًا. انتهى الأمر.
لا حاجة لأدوات بناء، ولا إزاحات، ولا خطوات تجميع.
+-------------------------------------------------------------------------------------------+
| وضع المستخدم |
| |
| moncrush.exe |
| |
| +-------------------+ +-------------------+ +---------------------+ |
| | تعداد جميع | | تحديد معرّف | | مطابقة مع قائمة | |
| | العمليات | -> | العملية عبر | -> | الأهداف وجمع | |
| | الجارية | | إدخال العملية | | المعرّفات | |
| +-------------------+ +-------------------+ +----------+----------+ |
| | |
| CreateFileW("\.\MonProcessEX") | |
| DeviceIoControl(IOCTL 0x22400C) | |
| المخرجات = حالة الإنهاء v |
+-------------------------------------------------------------------------------------------+
| وضع النواة |
| |
| MonProcessEX.sys برنامج تشغيل HONOR موقّع |
| +---------------------------------------------------------------------------------+ |
| | | |
| | IOCTL 0x22400C -> توزيع إنهاء العملية حسب المعرّف | |
| | | | |
| | | بحث عن العملية من وضع النواة | |
| | v | |
| | تحديد EPROCESS -> إنهاء من سياق النواة | |
| | | | |
| | v | |
| | استدعاء مسار خروج العملية | |
| | | |
| +---------------------------------------------------------------------------------+ |
| |
| التنظيف |
| +---------------------------------------------------------------------------------+ |
| | إيقاف وحذف خدمة SCM | |
| | إلغاء تحميل برنامج التشغيل، دون أثر دائم | |
| +---------------------------------------------------------------------------------+ |
+-------------------------------------------------------------------------------------------+
يكشف برنامج التشغيل عن استدعاء IOCTL للإنهاء ينهي عملية بناءً على معرّفها. يقوم مكوّن وضع المستخدم بتعداد العمليات الجارية، ويحدد معرّف كل هدف، ويرسله عبر واجهة الجهاز. لا يتم لمس أي بنى نواة من وضع المستخدم، لذا فإن التقنية محصّنة ضد تغييرات إصدارات ويندوز.
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 تخطي فحوصات الجهاز الافتراضي والمصحح
--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.
يُنشر هذا المشروع لأغراض البحث والاختبار المصرح به فقط. تحميل برامج تشغيل غير موقّعة أو ضعيفة على نظام لا تملكه غير قانوني في معظم الدول. أنت مسؤول عن الامتثال لجميع القوانين المعمول بها وعن نطاق التصريح للأنظمة التي تختبرها.
| الميزة | التفاصيل |
|---|
| متعدد الإصدارات | يعمل على جميع إصدارات ويندوز 10 وويندوز 11، دون إزاحات |
| إنهاء من وضع النواة | برنامج التشغيل ينهي العملية من سياق النواة |
| تجاوز PPL | مسار الإنهاء في MonProcessEX.sys يتجاوز فحوصات العمليات المحمية |
| برنامج تشغيل موقّع | MonProcessEX.sys هو برنامج تشغيل HONOR حقيقي موقّع |
| غير مدرج في قواعد حظر مايكروسوفت | غير موجود في قواعد حظر برامج التشغيل الضعيفة لدى مايكروسوفت |
| مكتفٍ ذاتيًا | يتم تثبيت برنامج التشغيل وتشغيله وتنظيفه عبر SCM |
| صفر تبعيات | ملف Rust ثابت؛ ضع الملف التنفيذي + برنامج التشغيل وشغّل |
| قابل للتكوين | targets.conf أو -n، دون الحاجة لإعادة التجميع |
| مُشوّف | مسار الجهاز وقائمة الأهداف مشفّرة عند التخزين |
| ملف تنفيذي واحد | ملف ثنائي واحد؛ مخرجات وحدة التحكم من موجه الأوامر، صامت عند النقر المزدوج |
| وضع المحاكاة | تعداد الأهداف ومعرّفات العمليات قبل التنفيذ الفعلي |
| حلقة توقيت عشوائي | --repeat يعيد الفحص بفاصل زمني عشوائي |
| رموز خروج + JSON | واجهة أتمتة متوافقة مع C2 |