
تحليل هندسي عكسي متعمق لبرنامج تحميل متعدد المراحل متقدم يستهدف Shellhost.exe وamsi.dll وmstscax.dll وclbcatq.dll باستخدام module stomping وتجاوز CFG واختطاف COM وهجمات downgrade.
يغطي هذا التحليل محملًا متعدد المراحل ومتطورًا يستهدف Shellhost.exe، وamsi.dll، وmstscax.dll، وclbcatq.dll. يستخدم المحمل تقنيات module stomping وتجاوز CFG واختطاف COM وهجمات التخفيض.
يستهدف المحمل Shellhost.exe كعملية أساسية لحقن الحمولة. يستخدم module stomping لاستبدال الكود الشرعي لـ Shellhost بحمولته الخبيثة.
push 70207369h = "is p") وتعليمات غير صالحة (jb، outs، ins).fothk: قسم مخصص مليء بفخاخ INT3 وقفزة واحدة jmp إلى روتين تجاوز CFG.عرض WinDbg للحمولة المشوشة في Shellhost.exe.

يحقن المحمل قسمًا مخصصًا في amsi.dll مليء بفخاخ مكافحة التفكيك INT3 (0xCC). تقوم قفزة واحدة jmp بتوجيه التنفيذ إلى روتين تجاوز Control Flow Guard (CFG)، الذي يقفز إلى الشيل كود النهائي عبر jmp rax.
INT3.jmp: jmp 0x00007ffbc85060c0 تؤدي إلى روتين تجاوز CFG.
عرض WinDbg لفخاخ INT3 وتعليمة القفزة الواحدة jmp.
يستخدم المحمل LocalAlloc لتخصيص الذاكرة يدويًا للحمولة. يتم ملء بنية مخصصة بمقبض ملف وتعيين جدول الدوال الافتراضية (vtable) لاختطاف COM.
LocalAlloc(0x40, 0x68): يخصص 104 بايت من الذاكرة.*puVar12 = &PTR_FUN_180699290 لاختطاف COM.puVar12[4] = hFile يشير إلى أن المحمل يقرأ من ملف.
عرض Ghidra لاستخدام LocalAlloc والتخصيص اليدوي للبنية.
يستخدم المحمل عنوان ذاكرة ثابتًا (lRam0000000000000000) واستدعاءات vtable للتلاعب بكائنات النواة. تُستخدم هذه التقنية لتصعيد الامتيازات.
lRam0000000000000000 يُستخدم للتلاعب بكائنات النواة.+0x18، +0x40، +0x60 إلى عمليات على مستوى النواة.FUN_180031f18 وFUN_1800330c8.
عرض Ghidra لعنوان الذاكرة الثابت واستدعاءات vtable.
HKLM\Software\Microsoft\COM3\RemoteAccessEnabledamsi.dll، mstscax.dll، clbcatq.dllShellhost.exefothkيُظهر هذا المحمل تقنيات تهرب متقدمة، بما في ذلك module stomping وتجاوز CFG واختطاف COM وهجمات التخفيض. يستهدف مكونات نظام متعددة لضمان التخفي والثبات.
StructBreaker – محلل برمجيات خبيثة ومهندس عكسي