Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DllNotificationInjection — إثبات مفهوم (POC) لتقنية حقن عمليات جديدة "بدون خيط" تعمل من خلال استخدام مفهوم استدعاءات إعلام DLL في العمليات المحلية والبعيدة. | Kitploit
أدوات/GitHubGitHub/dec0ne/dllnotificationinjection
الاستغلالشيل كودالفريق الأحمر
GitHubdec0ne/dllnotificationinjection

DllNotificationInjection

إثبات مفهوم (POC) لتقنية حقن عمليات جديدة "بدون خيط" تعمل من خلال استخدام مفهوم استدعاءات إعلام DLL في العمليات المحلية والبعيدة.

عرض المستودع
47183منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

DllNotificationInjection

image image

المساهمون الرئيسيون

Dec0ne

الوصف

DllNotificationInjection هو دليل على المفهوم (POC) لتقنية جديدة لحقن العمليات بدون خيوط (threadless) تعمل عن طريق استخدام مفهوم ردود اتصال إشعارات DLL (DLL Notification Callbacks) في العمليات المحلية والبعيدة.

منشور مدونة مصاحب مع مزيد من التفاصيل متاح هنا:

https://shorsec.io/blog/dll-notification-injection/

كيف تعمل؟

DllNotificationInjection تعمل عن طريق إنشاء LDR_DLL_NOTIFICATION_ENTRY جديد في العملية البعيدة. تقوم بإدراجه يدويًا في LdrpDllNotificationList البعيد عن طريق تصحيح List.Flink لرأس القائمة و List.Blink للإدخال الأول (الذي أصبح الآن الثاني) من القائمة.

سيشير LDR_DLL_NOTIFICATION_ENTRY الجديد لدينا إلى شيلكود ترامبولين مخصص (مبني باستخدام مشروع ShellcodeTemplate الخاص بـ @C5pider) والذي سيعيد تغييراتنا وينفذ شيلكود ضار في خيط جديد باستخدام TpWorkCallback.

بعد تسجيل إدخالنا الجديد يدويًا في العملية البعيدة، نحتاج فقط إلى انتظار العملية البعيدة لتشغيل رد اتصال إشعار DLL الخاص بنا عن طريق تحميل أو تفريغ بعض ملفات DLL. من الواضح أن هذا لا يحدث بانتظام في كل عملية، لذا فإن العمل المسبق لإيجاد مرشحين مناسبين لهذه التقنية الحقنية ضروري. من بحثي المختصر، يبدو أن RuntimeBroker.exe و explorer.exe مرشحان مناسبون لهذا، على الرغم من أنني أشجعك على إيجاد آخرين أيضًا.

ملاحظات أمن العمليات (OPSEC)

هذا دليل على المفهوم. لكي يكون هذا آمنًا من ناحية أمن العمليات ويتجنب منتجات مكافحة الفيروسات/كشف الاستغلال، هناك حاجة لبعض التعديلات. على سبيل المثال، استخدمت RWX عند تخصيص الذاكرة للشيلكودات - لا تكن كسولًا (مثلي) وقم بتغييرها. قد يرغب المرء أيضًا في استبدال OpenProcess و ReadProcessMemory و WriteProcessMemory ببعض واجهات برمجة التطبيقات ذات المستوى المنخفض واستخدام Indirect Syscalls أو (توصية غير محتشمة) HWSyscalls. ربما قم بتشفير الشيلكودات أو حتى ابذل جهدًا إضافيًا وقم بتعديل شيلكود الترامبولين ليناسب احتياجاتك، أو على الأقل قم بتغيير قيم التجزئة الافتراضية في مشروع ShellcodeTemplate الخاص بـ @C5pider والذي تم استخدامه لإنشاء شيلكود الترامبولين.

عرض توضيحي

https://github.com/ShorSec/DllNotificationInjection/assets/54464773/96a72dd9-80de-4cb8-ac4a-54dddfecf822

الشكر والتقدير

  • @C5pider لمشروعه ShellcodeTemplate الذي تم استخدامه لإنشاء شيلكود الترامبولين. وأيضًا لـ Havoc C2 الذي تم استخدامه في فيديو العرض التوضيحي للـ POC.
  • Yxel و @Idov31 لرمز مطابقة الأنماط الثنائية الذي استخدمناه من Cronos.
  • @modexpblog لـ تعريفات الهياكل المختلفة المتعلقة بردود اتصال إشعارات DLL والتي تم استخدامها في هذا الـ POC.
  • @NinjaParanoid لـ منشور مدونته حول TpWorkCallbacks والتي تم استخدامها في هذا الـ POC.
  • @onlymalware لـ UnregisterAllLdrRegisterDllNotification POC، لقد أعطاني بعض الإلهام وساعدني في فهم بعض الآليات الداخلية لـ LdrpDllNotificationList.
  • Sektor7 لشيلكود الآلة الحاسبة (calc) المستخدم في هذا الـ POC. إنهم رائعون على أي حال وأوصي بشدة بدوراتهم!
  • @x86matthew و @Kharosx0 لتعليقاتهما (1, 2) بخصوص دالة GetNtdllBase().
تنزيل الأداة