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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
inject-assembly — حقن تجميعات .NET في عملية موجودة | Kitploit
أدوات/GitHubGitHub/kyleavery/inject-assembly
الاستغلالشيل كودما بعد الاستغلالالفريق الأحمر
GitHubkyleavery/inject-assembly

inject-assembly

حقن تجميعات .NET في عملية موجودة

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

الأكثر شعبية

عرض الكل →

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

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

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

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

inject-assembly - تنفيذ .NET في عملية موجودة

هذه الأداة هي بديل عن التنفيذ التقليدي للفورك والتشغيل لـ Cobalt Strike. يمكن حقن المُحمل في أي عملية، بما في ذلك Beacon الحالي. ستستمر التجميعات طويلة التشغيل في العمل وإرسال المخرجات مرة أخرى إلى Beacon، على غرار سلوك execute-assembly.

هناك مكونان لـ inject-assembly:

  1. مُهيئ BOF: برنامج صغير مسؤول عن حقن مُحمل التجميع في عملية بعيدة مع أي وسائط تم تمريرها. يستخدم BeaconInjectProcess لأداء الحقن، مما يعني أنه يمكن تخصيص هذا السلوك في ملف تعريف C2 malleable أو مع BOFs حقن العمليات (اعتبارًا من الإصدار 4.5).

  2. مُحمل تجميع PIC: الجزء الأكبر من المشروع. سيقوم المُحمل بتهيئة بيئة تشغيل .NET، وتحميل التجميع المقدم، وتنفيذ التجميع. سيقوم المُحمل بإنشاء AppDomain جديد في العملية الهدف بحيث يمكن إلغاء تحميل التجميع المحمل بالكامل عند اكتمال التنفيذ.

يحدث الاتصال بين العملية البعيدة و Beacon عبر أنبوب مسمى (named pipe). يقوم سكريبت Aggressor بإنشاء اسم أنبوب ثم يمرره إلى مُهيئ BOF.

ميزات بارزة

  • يقوم بتصحيح Environment.Exit() لمنع العملية البعيدة من الخروج.
  • تدمير رأس التجميع .NET (بايتات MZ، e_lfanew، رأس DOS، Rich Text، رأس PE).
  • توليد اسم أنبوب عشوائي استنادًا إلى SourcePoint.
  • لا يتم حظر Beacon، حتى إذا تم تحميل التجميع في العملية الحالية.

الاستخدام

تنزيل وتحميل سكريبت Aggressor inject-assembly.cna إلى Cobalt Strike. يمكنك بعد ذلك تنفيذ التجميعات باستخدام الأمر التالي:

root@kitploit:~
inject-assembly pid assembly [args...]

حدد 0 كـ PID للتنفيذ في عملية Beacon الحالية.

يُوصى باستخدام أداة أخرى، مثل FindObjects-BOF، لتحديد موقع عملية تقوم بالفعل بتحميل بيئة تشغيل .NET، ولكن هذا ليس شرطًا لعمل inject-assembly.

تحذيرات

  • يدعم حاليًا فقط العمليات البعيدة x64.
  • توجد عدة فحوصات في جميع أنحاء البرنامج لتقليل احتمالية تعطل العملية البعيدة، ولكن قد يحدث ذلك مع ذلك.
  • قد يؤدي حقن العملية الافتراضي لـ Cobalt Strike إلى اكتشافك. فكر في استخدام BOF حقن مخصص أو ربط IAT لـ UDRL.
  • تعتمد بعض التجميعات على Environment.Exit() لإنهاء التنفيذ. سيمنع هذا مرحلة التنظيف الخاصة بالمُحمل من الحدوث، ولكن لا يزال بإمكانك فصل الأنبوب المسمى باستخدام jobkill.
  • قم بإلغاء تعليق الأسطر 3 أو 4 من scmain.c لتفعيل وضع الأخطاء أو الوضع المفصل على التوالي. هذه معطلة افتراضيًا لتقليل حجم الشيلكود.

المراجع

لم يكن هذا المشروع ممكنًا لولا المشاريع التالية:

  • التعريفات والتنفيذ المتعلقة بـ CLR - https://github.com/TheWover/donut
  • واجهة وظائف Beacon وهيكل المشروع - https://github.com/SecIdiot/netntlm

تم أخذ ميزات وإلهام أخرى من المصادر التالية:

  • https://github.com/med0x2e/ExecuteAssembly
  • https://github.com/anthemtotheego/InlineExecute-Assembly
  • https://www.mdsec.co.uk/2020/08/massaging-your-clr-preventing-environment-exit-in-in-process-net-assemblies
تنزيل الأداة