یک حمله چندمرحلهای جدید که بدافزارهایی مانند نسخههای مختلف Agent Tesla، ابزار Remcos RAT و XLoader را بارگذاری می کند، کشف شده است.
به گفته محقق Unit42 شرکت Palo Alto Networks، مهاجمان به طور فزایندهای بر این روشهای پیچیده انتقال تکیه میکنند تا از شناسایی فرار کنند یا از سندباکسهای سنتی بگذرند و بارگذاری و اجرای موفقیتآمیز پیلود مخرب را تضمین کنند.
تحلیل حمله

نقطه شروع این حمله، ارسال یک ایمیل فریبنده است که در قالب یک درخواست سفارش ظاهر میشود و فایلی آرشیو مخرب با فرمت 7-zip را در پیوست دارد. فایل پیوستشده با نام doc00290320092.7z، شامل یک فایل JavaScript کدگذاریشده با پسوند.jse است.

پس از باز کردن فایل پیوست doc00290320092.7z، قربانی محتوای آن را که فایلی به نام doc00290320092.jse است، میبیند. دقت کنید که هم نام فایل ZIP و هم فایل JSE با doc شروع میشود که باعث میشود فایل JSE شبیه به یک سند قانونی به نظر برسد.
فایل JSE در واقع یک دانلودکننده ساده است که وظیفه دارد یک اسکریپت PowerShell را از سرور راهدور دانلود و اجرا کند. تصویر زیر نشان میدهد که اسکریپت داخل فایل JSE مبهمسازی نشده است، چون این زنجیره حمله بهجای مبهمسازی پیچیده، بر ساختار چندلایه تکیه دارد.

بارگذاری پیلود مخرب از طریق PowerShell
اسکریپت PowerShell حاوی یک پیلود رمزگذاریشده مبتنی برBase64 است که پس از رمزگشایی، در مسیر موقت ویندوز ذخیره شده و اجرا میشود. اینجاست که اتفاق جالبی رخ میدهد: این حمله منجر به اجرای یک دراپر(dropper) مرحله بعدی میشود که با .NET یا AutoIt کامپایل میشود

فایل اجرایی .NET
در صورت استفاده از یک فایل اجرایی .NET، پیلود رمزگذاریشده با AES یا Triple DES درون آن رمزگشایی شده و به درون فرآیند فعال “RegAsm.exe” تزریق میشود.
شباهتهای متعددی میان نمونههای مختلف .NET در این زنجیره حمله مشاهده شده است. در تصویر زیر دو نمونه مختلف .NET در dnSpy بررسی شده و هر دو تزریق در RegAsm.exe را نشان میدهند که رویکرد چندلایه مهاجم را تایید میکند.

این دو نمونه .NET نشاندادهشده، بدافزارهای متفاوتی را بارگذاری میکنند. نمونه اول یک نسخه AgentTesla (احتمالا Snake Keylogger) را در فرایند RegAsm.exe تزریق میکند. نمونه دوم هم با استفاده از همان روش تزریق، XLoader را بارگذاری می کند.
فایل اجرایی کامپایلشده AutoIt
در سناریوی AutoIt، یک لایه اضافی اضافه میشود تا تحلیل را پیچیدهتر کند. اسکریپتAutoIt ، حاوی پیلود رمزگذاریشدهای است که وظیفه بارگذاری شلکد نهایی را بر عهده دارد و منجر به تزریق فایل .NET به فرآیند “RegAsm.exe” میشود که در نهایت Agent Tesla را نصب میکند.
این موضوع نشان میدهد که مهاجم از مسیرهای اجرایی چندگانه استفاده میکند تا مقاومت در برابر شناسایی را افزایش دهد. تمرکز مهاجم همچنان روی زنجیره حمله چندمرحلهای و نه مبهمسازی پیچیده است.
تصویر زیر نمونهای از اسکریپت AutoIt را درون این فایل اجرایی نشان میدهد. همچنین پیلود رمزگشاییشده را که شلکد طراحیشده برای رمزگشایی و تزریق بدافزار است، نمایش میدهد.

تحلیل AutoIt در IDA Pro
بعد از دیباگ فایل اجرایی AutoIt درIDA Pro ، روشهای مورد استفاده در این بدافزار مبتنی بر AutoIt بررسی شدهاست. یکی از توابع کلیدی در AutoIt برای اجرای شلکد، تابع DLLCALLADDRESS است.
تحلیل این تابع نشان داد که یک اشارهگر به رشته DLLCALLADDRESS به آدرس حافظه 0x493684 قرار میگیرد و اشارهگر به تابع در آدرس 0x493684+0xC قرار میگیرد.

با دنبال کردن(Trace) این مسیر، پس از چند تابع در زنجیره فراخوانی، به تابع مسئول اجرای شلکد میرسیم که در تصویر زیر نمایش داده شده است.

فراخوانیهای API درون شلکد به صورت داینامیک resolve میشوند و نشاندهنده یک جریان اجرایی ساده هستند. شلکد از یک الگوی رایج پیروی میکند؛ ابتدا پیلود رمزگذاریشده را در حافظه بارگذاری میکند، آن را رمزگشایی میکند و در نهایت آن را در فرایند RegSvcs.exe تزریق میکند.
پیلود تزریقشده سپس یک فایل اجرایی .NET را بارگذاری میکند که در نهایت یک نسخه از Agent Tesla را که با .NET Reactor بستهبندی شده، اجرا میکند. این پیلود نهایی، نسخهای از Agent Tesla است که یک رباینده اطلاعات(Infostealer) شناختهشده و مستندشده است.
نتیجهگیری
این تحلیل نشان میدهد که مهاجمان بهطور فزایندهای از مکانیزمهای چندلایه و مسیرهای اجرای متنوع برای دور زدن سامانههای شناسایی استفاده میکنند. آنها به جای استفاده از تکنیکهای بسیار پیچیده، مراحل سادهتری را به صورت پیاپی بهکار میگیرند تا زنجیرههایی مقاوم و تجزیهناپذیر بسازند که تحلیل و شناسایی آنها را دشوارتر میکند.