
.NET مفتش وقت التشغيل
Shed هو تطبيق يسمح بفحص بيئة تشغيل .NET لبرنامج ما من أجل استخراج معلومات مفيدة. يمكن استخدامه لفحص التطبيقات الخبيثة للحصول على نظرة عامة أولية عن المعلومات المخزنة بعد تنفيذ البرنامج الضار.
Shed قادر على:
Shed هي أداة سطر أوامر. لعرض جميع الخيارات المتاحة، قم بتشغيل:
shed.exe --help
لفحص عملية قيد التشغيل بالفعل، يجب تمرير معرف العملية (pid) إلى Shed. مثال:
Shed.exe --pid 2356
لفحص ملف ثنائي، يحتاج Shed إلى تنفيذه والاتصال به لفحص بيئة التشغيل. مثال:
Shed.exe --exe malware.exe
يمكنك أيضًا تحديد مقدار الوقت (بالمللي ثانية) للانتظار قبل تعليق العملية. سيسمح هذا للبرنامج بالحصول على الوقت الكافي لتهيئة خصائصه. مثال:
Shed.exe --timeout 2000 --exe malware.exe
مع Shed يمكن حقن تجميع .NET في عملية بعيدة بفضل مكتبة ManagedInjector. للقيام بذلك، من الضروري تحديد pid للعملية و exe للحقن. بمجرد حقن التجميع، يمكن تفعيله عن طريق استدعاء طريقة معينة. القواعد لتحديد الطريقة موروثة من مشروع ManagedInjector وهي كالتالي:
على سبيل المثال، لحقن التجميع InjectedAssembly في العملية ذات pid 1234، قم بتشغيل Shed بالأمر التالي:
shed.exe --pid 1234 --exe InjectedAssembly.dll --inject
باستخدام الخيار --method يمكنك تحديد طريقة من InjectedAssembly.exe لاستدعائها.
أدناه مثال على التنفيذ:

افتراضياً، يقوم Shed بتفريغ كل من الكومة والوحدات. إذا كنت تريد واحداً فقط منهما، حدد الخيار --dump-heap لتفريغ فقط الكائنات في الكومة أو --dump-modules لتفريغ الوحدات فقط.
تفريغ الكومة يمكن أن ينتج عنه الكثير من المعلومات التي ليست ضرورية تماماً للتحليل. يمكنك تصفيتها باستخدام ملفين:
blacklist.txt يحتوي هذا الملف على بادئات أسماء الأنواع التي يجب عدم تسجيلها
whitelist.txt يحتوي هذا الملف على بادئات أسماء الأنواع التي يجب تسجيلها حتى لو كانت في القائمة السوداء
على سبيل المثال، إذا كنت تريد تصفية كل مساحة الاسم System.IO ولكنك مهتم بتسجيل System.IO.MemoryStream، يمكنك إضافة القيمة الأولى إلى blacklist.txt والثانية إلى whitelist.txt.
في مجلد Examples ستجد ثلاثة مشاريع مختلفة يمكنك استخدامها لاختبار Shed. مثال:
Shed.exe --exe ..\Examples\ConfigurationSample\ConfigurationSample.exe
عند اكتمال التحليل، سيقوم Shed بطباعة مكان العثور على النتيجة، كما هو موضح أدناه:
[+] Result saved to C:\Shed\Result\7800
إذا كان لديك Visual Studio مثبتاً، قم بتشغيل ملف الدفعات build.bat، وسينشئ ملف zip داخل مجلد build.
حقوق النشر (C) 2017 Antonio Parata - @s4tan
الترخيص: رخصة جنو العمومية العامة، الإصدار 2 أو أحدث؛ راجع LICENSE المضمن في هذا الأرشيف للتفاصيل.