
أداة ما بعد الاستغلال لإخفاء العمليات عن تطبيقات المراقبة
#ProcessHider
هذه الأداة مسموح باستخدامها فقط لاختبار الاختراق والأنشطة الأخرى ذات القبعة البيضاء. الاستخدام غير القانوني ممنوع تماماً!
ProcessHider هي أداة ما بعد الاستغلال مصممة لإخفاء العمليات من أدوات المراقبة مثل مدير المهام ومستكشف العمليات، وبالتالي منع المسؤولين من اكتشاف عمليات الحمولة. تعمل الأداة على كل من الإصدارين 32 بت و64 بت، عن طريق الكشف الذاتي عن إصدار نظام التشغيل واستخدام الإصدار الصحيح من الأداة.
ProcessHider متاحة كملف EXE أو كسكربت Powershell.
هذه الأداة مرخصة بموجب ترخيص BSD-3:
حقوق الطبع والنشر (c) 2016، M00nRise
جميع الحقوق محفوظة.
يُمنح hereby الإذن، مجاناً، لأي شخص يحصل على نسخة من هذا البرنامج وملفات التوثيق المرتبطة (يُشار إليها باسم "البرنامج")، للتعامل مع البرنامج دون قيود، بما في ذلك دون حصر حقوق الاستخدام، والنسخ، والتعديل، والدمج، والنشر، والتوزيع، والترخيص، و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم تزويدهم بالبرنامج بالقيام بذلك، بشرط توافر الشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.
يُقدم البرنامج "كما هو"، دون أي ضمان من أي نوع، صريح أو ضمني، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق، والملاءمة لغرض معين، وعدم الانتهاك. في أي حال من الأحوال لا يتحمل المؤلفون أو أصحاب حقوق الطبع والنشر أي مسؤولية عن أي مطالبة أو أضرار أو غيرها من المسؤوليات، سواء في إطار عقد أو تقصير أو غير ذلك، الناشئة عن أو بسبب أو فيما يتعلق بالبرنامج أو استخدامه أو التعاملات الأخرى فيه.
لبناء المشروع، استخدم "build-me.bat" الموجود في الدليل الجذر. هناك نسختان من السكربت الكامل: EXE وPowershell.
لاستخدام EXE، قم باستدعاء الملف الرئيسي، ProcessHider، الموجود تحت MainFile\، من cmd، باستخدام الخيارات التالية:
-i - حدد معرفات العمليات التي تريد إخفاءها، مفصولة بفواصل (بدون مسافة!)-n - حدد أسماء العمليات التي تريد إخفاءها، مفصولة بفواصل (مرة أخرى، بدون مسافات)-x - حدد تطبيقات المراقبة التي تريد تجنبها، بخلاف الإعدادات الافتراضية (powershell.exe,taskmgr.exe,procexp.exe,procexp64.exe,perfmon.exe)لاستخدام Powershell، استخدم Powershell\Output\fullScript.ps1، مع نفس الوسائط المستخدمة مع exe.
مثال على الاستخدام:
`ProcessHider -i 5454,3672 -n "chrome.exe,notepad.exe" -x "cmd.exe"`
ملاحظة: يجب استخدام واحد على الأقل من -i أو -n. سيتأكد المخفي من إخفاء نفسه أيضاً.
يستخدم المشروع المكتبات والمشاريع التالية:
تم أخذ سكربت findvs من EasyHook: https://easyhook.github.io/
Invoke-ReflectivePEInjection بواسطة clymb3r، متاح على https://github.com/PowerShellMafia/PowerSploit/blob/master/CodeExecution/Invoke-ReflectivePEInjection.ps1
Xgetopt بواسطة Hans Dietrich، متاح على http://www.codeproject.com/Articles/1940/XGetopt-A-Unix-compatible-getopt-for-MFC-and-Win32
NtHookEngine بواسطة Daniel Pistelli، متاح على http://www.codeproject.com/Articles/21414/Powerful-x-x-Mini-Hook-Engine
ReflectiveDLLInjection بواسطة Stephen Fewer من Harmony Security، متاح على https://github.com/stephenfewer/ReflectiveDLLInjection
"Easy way to set up global API hooks" بواسطة Sergey Podobry، Apriorit Inc، متاح على http://www.codeproject.com/Articles/49319/Easy-way-to-set-up-global-API-hooks
لا توجد تبعية على أي من هذه المكتبات أو على VC++ runtime، حيث أنها جميعاً مربوطة بشكل ثابت.
أولاً، يتحقق المخفي من ما إذا كان نظام التشغيل 32 بت أم 64 بت، ويختار الإصدار الصحيح للاستخدام. بعد ذلك، يقوم بتشغيل خفي (daemon) يبحث عن إحدى أدوات المراقبة المحظورة. وعند العثور عليها - يستخدم حقن DLL لتشغيل الحمولة - التي تقوم بربط الاستدعاء إلى NtQuerySystemInformation - الطريقة التي تستخدمها أدوات نظام التشغيل لتعداد العمليات النشطة، وتقوم بحذف كل من العمليات المحددة (والخفي) من النتائج.
المساهمات مرحب بها جداً. تأكد عند العمل على سكربتات powershell، لا تعمل على "fullScript" بل على "daemon-integration" و "Invoke-ReflectivePEInjectionLite"، حيث أن سكربت البناء يستخدم هذه الملفات كمصادر لملف fullScript.