نسخههای جدید بدافزار سرقت اطلاعات ViperSoftX از محیط اجرای زبان مشترک (CLR) استفاده میکنند تا دستورات PowerShell را درون اسکریپتهای AutoIt بارگذاری و اجرا کنند، اینکار قابلیت شناسایی توسط ابزارهای امنیتی را کاهش میدهد.
CLR جزء کلیدی چارچوب .NET مایکروسافت است که به عنوان موتور اجرا و محیط زمان اجرا برای برنامه های دات نت عمل می کند.
ViperSoftX از CLR برای بارگذاری کد در AutoIt استفاده می کند، یک زبان برنامه نویسی برای خودکارسازی وظایف ویندوز که معمولاً توسط راه حل های امنیتی قابل اعتماد هستند.
پژوهشگران متوجه شدهاند که توسعهدهندهی این بدافزار، اسکریپتهای تهاجمی تغییر یافتهای را در نسخههای جدید بدافزار گنجانده است تا پیچیدگی آن را افزایش دهد.
Infection chain
بدافزار ViperSoftX حداقل از سال ۲۰۲۰ وجود داشته و در حال حاضر از طریق سایتهای تورنت به صورت کتابهای الکترونیکی توزیع میشود که آرشیوهای مخرب RAR حاوی یک فایل PDF یا کتاب الکترونیکی فریبنده، یک فایل میانبر (.LNK)، و اسکریپتهای PowerShell و AutoIT را که به عنوان فایلهای تصویر JPG پنهان شدهاند، تحویل میدهند.
پژوهشگران بدافزار در شرکت امنیت سایبری Trellix میگویند که بدافزار زمانی فعال میشود که کاربر فایل میانبر (.LNK) مخرب را باز کند. در این فرآیند، اسکریپت PowerShell که دستورات را در فضاهای خالی پنهان کرده است، بارگذاری میشود و این دستورات بهطور خودکار در Command Prompt اجرا میشوند.
اسکریپت پاورشل (PowerShell) دو فایل به نامهای zz1Cover2.jpg و zz1Cover3.jpg را به پوشهی %APPDATA%\Microsoft\Windows منتقل میکند. یکی از این فایلها در واقع یک فایل اجرایی (Executable) برای برنامهی AutoIt است که به AutoIt3.exe تغییر نام داده شده است.
برای حفظ پایداری، اسکریپت Task Scheduler را پیکربندی می کند تا AutoIt3.exe را هر پنج دقیقه پس از ورود کاربر اجرا کند.
عملیات مخفیانه
ViperSoftX با استفاده از CLR (Common Language Runtime) برای بارگذاری و اجرای دستورات پاورشل (PowerShell) در محیط AutoIt، تلاش میکند تا خود را به عنوان فعالیتهای قانونی سیستم معرفی کرده و از شناسایی شدن جلوگیری کند.
این کار امکانپذیر است زیرا با وجود اینکه AutoIT به طور ذاتی از .NET CLR پشتیبانی نمیکند، کاربران میتوانند توابعی تعریف کنند که به صورت غیرمستقیم دستورات پاورشل (PowerShell) را فراخوانی کنند.
برای پنهان کردن این دستورات، ViperSoftX از مبهمسازی با استفاده از الگوریتم Base64 استفاده میکند. همچنین برای امنیت بیشتر، از رمزنگاری AES (Advanced Encryption Standard) نیز استفاده میکند. این دو روش (Base64 و AES) باعث میشوند که دستورات در اسکریپتهای پاورشل به سادگی قابل شناسایی نباشند.
بدافزار یک تابع دارد که تغییراتی در حافظهی مربوط به تابع AmsiScanBuffer ایجاد میکند.
AmsiScanBuffer بخشی از رابط اسکن آنتیمالور (AMSI) است که برای بررسی و اسکن اسکریپتها به کار میرود. با تغییر حافظهی این تابع، بدافزار سعی میکند تا بررسیهای امنیتی و اسکنهایی که روی اسکریپتها انجام میشود را دور بزند.هدف از این کار این است که اسکریپتهای مخرب بتوانند بدون شناسایی شدن توسط سیستمهای امنیتی اجرا شوند.
ViperSoftX برای ارتباطات شبکهای از نامهای میزبان فریبنده مانند security-microsoft.com استفاده میکند. برای پنهان ماندن، اطلاعات سیستم به فرمت Base64 کدگذاری میشود و دادهها از طریق یک درخواست POST با طول محتوا “۰” ارسال میشوند. با این کار، مهاجم دوباره سعی میکند به دلیل نبود محتوای بدنه، از جلب توجه جلوگیری کند.
هدف ViperSoftX سرقت داده های زیر از سیستم های در معرض خطر است:
- جزئیات سیستم و سخت افزار
- داده های کیف پول ارزهای دیجیتال از افزونه های مرورگر مانند MetaMask، Ronin Wallet و بسیاری دیگر
- محتویات کلیپ بورد
شرکت Trellix میگوید ViperSoftX تاکتیکهای پنهانکاری خود را بهبود بخشیده و به تهدید بزرگتری تبدیل شده است. با استفاده از CLR برای اجرای دستورات پاورشل درون AutoIt، این بدافزار میتواند عملکردهای مخرب خود را اجرا کند در حالی که از مکانیزمهای امنیتی که معمولاً فعالیتهای مستقل پاورشل را شناسایی میکنند، جلوگیری میکند.
محققان این بدافزار را به عنوان یک تهدید مدرن، پیشرفته و انعطافپذیر توصیف میکنند که میتوان با استفاده از “یک استراتژی دفاعی جامع که شامل قابلیتهای شناسایی، پیشگیری و پاسخگویی باشد” آن را مهار کرد.