#Office #Macro #Evasion
در ارائه امسال Blackhat اروپا، یک PoC مطرح شد در خصوص طراحی Macro برای اجرای کد مخرب بصورت نا محسوس.
نکته ای که محقق مبتنی بر اون روش منطق طراحی Macro خودش قراره داده، این است که بجای استفاده از یک Pattern کد معمول، سعی کرده ساختار Initialize کد برای رسیدن به نهایتا اجرای کد Powershell در تابع Shell، بصورت غیر معمول انجام بده.
یعنی معمولا برای دستیابی به اجرای کد بر روی خط فرمان، میتوان مستقیما از
محقق در کد مطرح شده خودش اومده از یک COM به نام
با برقراری شرط به تابع Shell تماسی زده میشه و کد Powershell اجرا میشه مبنی بر دانلود و اجرای یک فایل EXE.
@Unk9vvN
در ارائه امسال Blackhat اروپا، یک PoC مطرح شد در خصوص طراحی Macro برای اجرای کد مخرب بصورت نا محسوس.
نکته ای که محقق مبتنی بر اون روش منطق طراحی Macro خودش قراره داده، این است که بجای استفاده از یک Pattern کد معمول، سعی کرده ساختار Initialize کد برای رسیدن به نهایتا اجرای کد Powershell در تابع Shell، بصورت غیر معمول انجام بده.
یعنی معمولا برای دستیابی به اجرای کد بر روی خط فرمان، میتوان مستقیما از
Wscript.Shell
یک Object ساخته و مقدار مربوطه رو وارد کرد، این روش قطعا تشخیص داده خواهد شد، چرا که مقادیر Macro برای AMSI سیستم عامل ویندوز ارسال میشه و اونجا بواسطه تشخیص مبتنی بر امضا دیده خواهد شد.محقق در کد مطرح شده خودش اومده از یک COM به نام
winmgmts
استفاده کرده برای زدن یک Query به Win32_PhysicalMemory
که مقدار واحد RAM رو دریافت خواهد کرد، در ادامه این واحد رو جمع به خود میکنه تا در شرط در ادامه طراحی شده، مقدار dRam
بیش از 20000000000
بشه تا شرط برقرار بشه.با برقراری شرط به تابع Shell تماسی زده میشه و کد Powershell اجرا میشه مبنی بر دانلود و اجرای یک فایل EXE.
@Unk9vvN