یک کمپین جدید توزیع بدافزار XLoader مشاهده شده است که از طریق ایمیلهای جعلی حاوی سفارشات تجاری و درخواستهای استعلام قیمت، کاربران را هدف قرار میدهد. این ایمیلها در ظاهر روتین به نظر میرسند، اما حاوی یک آرشیو هستند که زنجیرهای از مراحل پنهان را برای اجرای یک بدافزار سرقت اطلاعات (Information Stealer) آغاز میکند.
تحلیل زنجیره سرایت (Infection Chain)
بدافزار XLoader که از خانواده FormBook است، با هدف سرقت رمزهای عبور ذخیره شده، کوکیهای مرورگر و سایر دادههای ورود به سیستم طراحی شده است. این بدافزار به دلیل مدل توزیع Malware-as-a-Service، به راحتی توسط عوامل تهدید مختلف خریداری و استفاده میشود.
- مرحله اول: ارسال ایمیلهای فیشینگ با موضوعاتی مانند «تأیید سفارش» (مثلاً سفارش شماره 001828) که برای طبیعیتر به نظر رسیدن، با پیشوند “RE:” ارسال میشوند.
- مرحله دوم: یک فایل آرشیو RAR حاوی یک فایل JScript مبهمسازی شده (Obfuscated) پیوست شده است.
- مرحله سوم: پس از اجرای اسکریپت توسط Windows Script Host، بدافزار برای دور زدن مکانیزمهای شناسایی ویندوز، استریم
Zone.Identifier(که نشاندهنده منشأ اینترنتی فایل است) را پاک میکند. - مرحله چهارم: دو فایل شامل یک مفسر LuaJIT و یک برنامه Lua بدون پسوند در پوشه Documents استخراج میشوند. در این مرحله هیچ فایلی از شبکه دانلود نمیشود تا فیلترهای شبکه (Network Filters) تحریک نشوند.
تکنیکهای پیشرفته برای دور زدن شناسایی
بدافزار XLoader از روشهای پیچیدهای برای پنهان ماندن در سیستم استفاده میکند:
1. کور کردن ابزارهای امنیتی
برنامه Lua تلاش میکند توابع اسکن AMSI را در حافظه جستجو کرده و نام آنها را پاک کند. همچنین سعی میکند ۱۲ تابع در ntdll، از جمله توابع مربوط به ردیابی رویدادها (Event Tracing)، را بازنویسی کند تا ثبت لاگهای سیستم با شکست مواجه شود.
2. اجرای مستقیم در حافظه (Memory-Only)
لودر Lua یک بلوک دادهای رمزنگاری شده را رمزگشایی کرده و مستقیماً در حافظه بارگذاری میکند. این برنامه فاقد جدول Import است، بنابراین برای اسکنرهای امنیتی ناشناخته به نظر میرسد. هسته اصلی XLoader با استفاده از رمزنگاری RC4 رمزگشایی میشود و تنها اسکریپت اولیه و مفسر Lua با دیسک تماس دارند؛ سایر مراحل کاملاً در حافظه (RAM) رخ میدهد.
3. تزریق کد به پردازشهای معتبر
XLoader یکی از پردازشهای ۳۲ بیتی ویندوز (مانند cleanmgr.exe، clip.exe یا mshta.exe) را برای پنهان شدن انتخاب میکند. به جای استفاده از روش رایج Process Hollowing یا فراخوانی WriteProcessMemory، این بدافزار یک بخش حافظه مشترک (Shared Memory Section) ایجاد کرده و با تغییر Thread Context، کد خود را اجرا میکند. این روش باعث میشود ابزارهای امنیتی که بر روی APIهای خاص نظارت میکنند، متوجه حمله نشوند.
توصیههای دفاعی برای تیمهای SOC
برای مقابله با این تهدید، اقدامات زیر توصیه میشود:
- مسدودسازی فایلها: مسدود کردن فایلهای JS در پیوستهای RAR و ZIP در سطح Gateway ایمیل.
- مانیتورینگ سیستم: رصد برنامههای LuaJIT با نامهای تصادفی در پوشه Documents.
- بررسی Persistence: جستجو برای Taskهای زمانبندی شده با نامهای تصادفی (مانند
EHFTUOMQDRXVTJSF) که هر ۱۰ دقیقه اجرا میشوند. - پاسوردها: در صورت شناسایی سرایت، تمامی رمزهای عبور مرورگر و حسابهای ایمیل در سیستم آسیبدیده باید فوراً تغییر کنند.