
أداة مبنية على لغة C# تقوم بأتمتة عملية اكتشاف واستغلال ثغرات DLL Hijack في الملفات الثنائية المستهدفة. يمكن لاحقًا تسليح المسارات المُخترَقة المكتشفة أثناء عمليات الفريق الأحمر لتجاوز أنظمة كشف التهديدات (EDR).
أداة مبنية بلغة C# تعمل على أتمتة عملية اكتشاف واستغلال اختطاف DLL في الملفات الثنائية المستهدفة. يمكن لاحقًا استخدام المسارات المختطفة المكتشفة أثناء عمليات الفريق الأحمر لتجاوز أنظمة كشف التهديدات (EDR).
تقوم الأداة بشكل أساسي بأتمتة المراحل التالية التي يتم إجراؤها لاختطاف DLL:
منهجية الاكتشاف:
منهجية الاستغلال:
تحليل مسارات اختطاف DLL المحتملة الضعف من ملف CSV الذي تم إنشاؤه تلقائيًا عبر ProcMon.
نسخ DLL التأكيدي (وفقًا لبنية PE) إلى مسارات الاختطاف واحدًا تلو الآخر وتشغيل الملف الثنائي المستهدف لفترة زمنية محددة مسبقًا في نفس الوقت.
أثناء عملية اختطاف DLL، يمكن الحصول على المخرجات التالية من سيناريو الاختطاف:
سيناريوهات عدم العثور على نقطة الدخول:
ملاحظة: يتم التعامل مع خطأ "Entry Point Not Found" برمجيًا في الكود، ولا حاجة لإغلاق MsgBox يدويًا :) وإلا سيتعطل الكود لاحقًا****
بمجرد اكتمال عملية اختطاف DLL لكل مسار اختطاف محتمل الضعف، نحصل على المخرجات النهائية في وحدة التحكم وكذلك في ملف نصي (C:\DLLLogs\output_logs.txt) بالتنسيق التالي:
**يمكن لاحقًا تسليح مسارات اختطاف DLL المؤكدة هذه أثناء مهمة الفريق الأحمر لتحميل برنامج ضار DLL عبر ملف تنفيذي شرعي (مثل OneDrive، Firefox، MSEdge، "أحضر LOLBINs الخاص بك" إلخ) وتجاوز أنظمة EDR المتطورة، حيث تفشل معظمها في اكتشاف اختطاف DLL كما تم تقييمه من قبل George Karantzas و Constantinos Patsakis في بحثهما: https://arxiv.org/abs/2108.10422
ملاحظة: يجب وضع المتطلبات i و ii في نفس دليل ImpulsiveDLLHijacks.exe نفسه.
معلومات البناء والإعداد:
ImpulsiveDLLHijack
وبالنسبة لـ DLL التأكيدية:
الإعداد: انسخ DLL التأكيدية (maldll32 & maldll64) في دليل ImpulsiveDLLHijack.exe ثم قم بتشغيل ImpulsiveDLLHijack.exe :))

الملف التنفيذي المستهدف: OneDrive.exe
المرحلة: الاكتشاف

المرحلة: الاستغلال




المرحلة: النتائج والسجلات النهائية

شكرًا لكم، سأكون ممتنًا لأي ملاحظات! - knight!