
Spartacus: مجموعة أدوات اختطاف DLL/COM
[!CAUTION] هذا المستودع غير مُدار، قم بزيارة https://github.com/sadreck/Spartacus للحصول على أحدث إصدار.
إذا شاهدت فيلم Spartacus من عام 1960، ستتذكر المشهد حيث يطلب الرومان من Spartacus تسليم نفسه. في اللحظة التي وقف فيها Spartacus الحقيقي، وقف العديد من الآخرين أيضًا وادعوا أنه هم باستخدام عبارة "I AM SPARTACUS".
عندما تطلب عملية معرضة لاختطاف DLL تحميل DLL، فإنها تسأل نوعًا ما "من هو VERSION.DLL؟" وتبدأ الدلائل العشوائية في الادعاء "أنا VERSION.DLL" و"لا، أنا VERSION.DLL". وهكذا، Spartacus.
DllMain. هذه التقنية مستوحاة ومنفذة من الشرح الموصوف على https://www.redteam.cafe/red-team/dll-sideloading/dll-sideloading-not-by-dllmain، بواسطة Shantanu Khandelwal.[دفاعي] وضع المراقبة الذي يحاول تحديد التطبيقات قيد التشغيل التي تقوم بتوكيل المكالمات، كما في "اختطاف DLL قيد التنفيذ". هذا فقط للحصول على أي نتائج سهلة ولا ينبغي الاعتماد عليه.ابحث عن أحدث إصدار من Spartacus وقم بتنزيله ضمن الإصدارات. بخلاف ذلك، قم ببساطة باستنساخ هذا المستودع وبناء من المصدر.
فيما يلي وصف لكل وضع يدعمه Spartacus.
ملاحظة: تغيرت وسائط سطر الأوامر بشكل كبير من الإصدار 1 إلى الإصدار 2.
الوظيفة الأصلية لـ Spartacus كانت فقط إيجاد ثغرات اختطاف DLL. طريقة عمله هي:
CreateFile..dll.procmon.exe أو procmon64.exe.Drop Filtered Events لضمان الحد الأدنى من حجم إخراج PML.Auto Scroll.ENTER.ENTER.جمع جميع الأحداث وحفظها في C:\Data\logs.pml. سيتم حفظ جميع الـ DLLs المعرضة للخطر في C:\Data\VulnerableDLLFiles.csv وجميع حلول الـ DLL الوكيلة في C:\Data\Solutions.
--mode dll --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose
تحليل ملف سجل أحداث PML موجود، حفظ المخرجات إلى CSV، وإنشاء حلول Visual Studio وكيلة.
--mode dll --existing --pml C:\MyData\SomeBackup.pml --csv C:\Data\VulnerableDLLFiles.csv --solution C:\Data\Solutions --verbose


وظيفة جديدة في Spartacus هي تحديد ثغرات اختطاف COM المحلية. طريقة عمله هي:
RegOpenKey.procmon.exe أو procmon64.exe.Drop Filtered Events لضمان الحد الأدنى من حجم إخراج PML.Auto Scroll.ENTER.ENTER.InprocServer32 ونتيجتها هي NAME_NOT_FOUND.HKEY_CURRENT_USER، فابحث عن GUID الخاص به تحت HKEY_CLASSES_ROOT وقم بتضمين تفاصيله في ملف CSV المصدر (إذا تم العثور عليه).proxy.بالنسبة لاختطاف COM، يدعم Spartacus أيضًا فحص النظام المحلي للبحث عن إدخالات COM غير المضبوطة:
HKEY_CLASSES_ROOT و HKEY_CURRENT_USER و HKEY_LOCAL_MACHINE.InProcServer أو InProcServer32 أو LocalServer أو LocalServer32.جمع جميع الأحداث وحفظها في C:\Data\logs.pml. سيتم حفظ جميع معلومات COM المعرضة للخطر في C:\Data\VulnerableCOM.csv.
--mode com --procmon C:\SysInternals\Procmon.exe --pml C:\Data\logs.pml --csv C:\Data\VulnerableCOM.csv --verbose
معالجة ملف PML موجود لتحديد إدخالات COM المعرضة للخطر.
--mode com --existing --pml C:\Data\logs.pml --csv C:\Data\VulnerableCOM.csv --verbose
تعداد سجل النظام المحلي لتحديد مكتبات وبرامج COM المفقودة/غير المضبوطة.
--mode com --acl --csv C:\Data\VulnerableCOM.csv --verbose


يدعم Spartacus توليد حلول Visual Studio عن طريق إنشاء مشاريع هيكلية لاستخدامك، بناءً على الـ DLL الذي ترغب في استغلاله.
DllMain.DllMain.version.dll، يمكنك تشغيل الغرسة الخاصة بك من GetFileVersionInfoExW إذا تم استدعاء هذه الدالة بواسطة التطبيق المعرض للخطر.توليد حل يعيد توجيه جميع التصديرات (بدون توكيل الدوال).