
مجموعة أدوات لتوليد آثار ذاكرة وهمية خبيثة في وضع المستخدم، مصممة لتقليد البصمات التي يتركها البرامج الضارة الحقيقية بسهولة على نظام ويندوز المصاب.
__ .__ _____ __ __ .__ __
_____ / |_||/ __ ____/ | | | _||/ |
_ \ __ \ \ \ \ \ _/ _\ \ | |/ / \
/ __ | | /| | | || | / __ \ _| | | <| || |
( /| || |||__| (___ /___ >| ||_ __||__|
/ / / /
حزمة توليد القطع الأثرية للذاكرة الخبيثة الإصدار 1.0 | فورست أور | 2020
مطلوب
--alloc-type {dll-map-hollow|dll-load-hollow|txf-dll-map-hollow|private|mapped}
اختياري
--payload-file --payload-type {PE|shellcode} --exec-method {create-thread|call|ep-jmp-hook} --stealth {wipe-headers|mirror-headers|rw-rx|dotnet|moat|peb-img-base} --moat-size --hollow-dll-file
--payload-file الملف الذي يحتوي إما على الشيل كود أو PE ليُستخدم كغرسة. إذا لم يُوفر من قبل المستخدم، فسيتم تخصيص منطقة الذاكرة المحددة ولكن دون غرس أي كود فيها. --payload-type نوع الكود المخزن داخل ملف الحمولة المحدد. يجب أن يكون شيل كود أو MZ PE. هذه المعلمة مطلوبة إذا تم تحديد ملف حمولة. --alloc-type الطريقة التي يجب أن تُنشأ بها الذاكرة الديناميكية المستخدمة لحمل غرسة الحمولة.
dll-map-hollow عرض لمقطع صورة مولّد من DLL في System32.
dll-load-hollow DLL تم تحميله عبر LoadLibrary من System32.
txf-dll-map-hollow عرض لمقطع صورة مولّد من DLL معامل في
System32 والذي تم غرس الحمولة فيه بالفعل.
private منطقة ذاكرة خاصة مخصّصة عبر NtAllocateVirtualMemory
mapped عرض مقسّم لقسم مشتق من ملف صفحة ويندوز.
--exec-method الطريقة التي سيتم بها استدعاء كود الحمولة بعد غرسه في منطقة الذاكرة المحددة.
create-thread تنفيذ الحمولة باستخدام واجهة CreateThread.
call تنفيذ الحمولة باستخدام تعليمة CALL العادية.
ep-jmp-hook تنفيذ الحمولة عبر قفزة JMP مضمنة من نقطة دخول
ملف EXE للعملية.
--stealth تشويشات اختيارية على المنطقة المخصصة.
wipe-headers استبدال رأس PE للحمولة في الذاكرة بالأصفار. صالح
فقط لحمولات PE.
mirror-headers حفظ رؤوس PE الأصلية لـ DLL المجوف بعد غرسه
بملف PE حمولة. صالح فقط لحمولة PE
باستخدام نوع منطقة صورة.
rw-rx بدلاً من تخصيص منطقة الغرس مباشرة بصلاحيات
+RWX، قم بتخصيصها كـ +RW ثم تعيينها إلى +RX لاحقًا. صالح
فقط لأنواع المناطق الخاصة والمعيّنة.
dotnet اختيار DLLs التي تحتوي على رأس .NET فقط أثناء عمليات
التجويف. صالح فقط لأنواع مناطق الصورة.
moat إضافة حشو صفري قبل منطقة الحمولة المخصصة.
افتراضيًا يُستخدم حشو 1MB. غير صالح لغرزات
الشيل كود مع DLLs المجوفة. لا يمكن استخدامه مع نوع تخصيص TxF.
peb-img-base تحديث حقل قاعدة الصورة في PEB ليشير إلى
المنطقة المخصصة الجديدة.
--moat-size حجم حفرة البيانات المراد توليدها قبل غرسة الحمولة. مطلوب فقط إذا تم تحديد خيار التخفي moat. الحجم الافتراضي هو 1MB. --hollow-dll-file تحديد مسار DLL يدويًا لاستخدامه مع نوع تخصيص التجويف. عند عدم تحديده، سيتم اختيار DLL مناسب عشوائيًا من مجلد Windows أو أحد مجلداته الفرعية.
أمثلة
إنشاء غرسة شيل كود 32 بت داخل مقطع .text من صورة DLL 32 بت معلّمة وتنفيذها باستخدام تعليمة CALL:
ArtifactsKit32.exe --payload-type shellcode --payload-file Payloads\MsgboxShellcode32.bin --alloc-type dll-map-hollow
إنشاء غرسة شيل كود 64 بت داخل منطقة ذاكرة ملف صفحة +RWX معلّمة بإزاحة +1MB عن قاعدتها وتنفيذها باستخدام KERNEL32.DLL!CreateThread:
ArtifactsKit64.exe --payload-type shellcode --payload-file Payloads\MsgboxShellcode64.bin --alloc-type mapped --stealth moat
إنشاء غرسة PE 32 بت فوق ذاكرة الصورة المعلّمة لـ DLL 32 بت مع الحفاظ على رؤوسه الأصلية، تشغيل وتنفيذ IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint لحمولة PE باستخدام CALL.
ArtifactsKit32.exe --payload-type pe --payload-file Payloads\TestExe32.exe --alloc-type dll-map-hollow --stealth mirror-headers
إنشاء غرسة PE 64 بت داخل ذاكرة الصورة المعلّمة لقسم TxF معدّل لـ DLL 64 بت أي تجويف DLL شبح وتنفيذ IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint الخاص به باستخدام خطاف JMP من IMAGE_OPTIONAL_HEADER.AddressOfEntryPoint للعملية الأم للأداة:
ArtifactsKit64.exe --payload-type pe --payload-file Payloads\TestExe64.exe --alloc-type txf-dll-map-hollow --exec-method ep-jmp-hook