خانه » بدافزار Stealit از قابلیت «Single Executable» در Node.js سوءاستفاده می‌کند — توزیع از طریق نصب‌کننده‌های جعلی بازی و VPN!

بدافزار Stealit از قابلیت «Single Executable» در Node.js سوءاستفاده می‌کند — توزیع از طریق نصب‌کننده‌های جعلی بازی و VPN!

توسط Vulnerbyt_News
20 بازدید
Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers گروه والنربایت vulnerbyte

پژوهشگران امنیتی جزئیات یک کمپین فعال با بدافزار Stealit را فاش کرده‌اند که از قابلیت جدید Node.js Single Executable Application (SEA) برای توزیع payloadهای خود سوءاستفاده می‌کند. برخی نمونه‌ها نیز از فریم‌ورک متن‌باز Electron استفاده می‌کنند تا بدافزار روی سیستم‌های فاقد Node.js اجرا شود.

محققان Fortinet FortiGuard Labs می‌گویند مهاجمان فایل‌های نصب‌کنندهٔ جعلی بازی‌ها و اپ‌های VPN را در سایت‌های اشتراک فایل مثل Mediafire و Discord بارگذاری می‌کنند تا قربانیان را فریب دهند و بدافزار را به سیستم‌های‌شان منتقل کنند.

SEA چیست و چرا برای مهاجمان مفید است؟

SEA قابلیتی است که به برنامه‌های Node.js امکان می‌دهد به‌صورت یک فایل اجرایی مستقل (single executable) پکیج و توزیع شوند — حتی روی ماشین‌هایی که Node.js روی آن نصب نیست. این ویژگی و همچنین پکیج با Electron به مهاجمان اجازه می‌دهد نرم‌افزارهای مبتنی بر Node را بدون وابستگی‌های قبلی اجرا کنند و بدافزار را راحت‌تر پخش نمایند.

«هر دو روش توزیع، اجرای بدافزار مبتنی‌بر Node.js را بدون نیاز به runtime نصب‌شده ممکن می‌سازد.» — Eduardo Altares و Joie Salvio، محققان Fortinet.

چه چیزی فروخته و تبلیغ می‌شود؟

عاملان پشت Stealit در یک وب‌سایت اختصاصی، «راهکارهای تخصصی استخراج داده» را تحت مدل اشتراکی (subscription) می‌فروشند. در لیست محصولات‌شان یک RAT (Remote Access Trojan) برای Android و Windows دیده می‌شود که قابلیت‌هایی چون استخراج فایل، کنترل وبکم، مانیتورینگ زندهٔ صفحه و حتی استقرار ransomware را تبلیغ می‌کند.

قیمت‌ها از $29.99 (عضویت هفتگی برای Windows stealer) تا $499.99 (لایسنس lifetime) و برای نسخهٔ Android از $99.99 تا $1,999.99 متغیر است — یعنی این سرویس‌ها تجاری و آمادهٔ استفاده برای بازیگران سایبری عرضه می‌شوند.

زنجیرهٔ آلوده‌سازی — چطور بدافزار Stealit کار می‌کند؟

فایل اجرایی جعلی شامل یک installer است که مراحل زیر را اجرا می‌کند:

  1. نصب‌کننده ابتدا چند بررسی ضدتحلیل (anti-analysis / sandbox checks) انجام می‌دهد تا مطمئن شود در ماشین واقعی اجرا می‌شود و نه در محیط sandbox یا VM تحقیقاتی.

  2. سپس یک کلید احراز هویت Base64-Encoded (یک رشته ۱۲ کاراکتری حروف و اعداد) را در %temp%\cache.json می‌نویسد. این کلید هم برای Authenticate به C2 استفاده می‌شود و هم احتمالاً برای لاگین مشترکان در داشبورد مهاجمان جهت کنترل قربانیان.

  3. Downloader‌ها کامپوننت‌های اصلی را از سرور C2 دریافت کرده و در فولدری روی دیسک ذخیره می‌کنند. برای جلوگیری از شناسایی، بدافزار تلاش می‌کند تا Microsoft Defender را طوری تنظیم کند که پوشهٔ دانلود‌شده را از اسکن مستثنی کند (Antivirus exclusions).

Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers گروه والنربایت vulnerbyte

سه فایل اجرایی کلیدی که در نمونه‌ها مشاهده شده‌اند عبارت‌اند از:

  • save_data.exe — این فایل فقط زمانی اجرا می‌شود که بدافزار با امتیازات elevated (ادمین) فعال باشد. وظیفه‌اش drop کردن و اجرای ابزاری به‌نام cache.exe است (بخشی از پروژهٔ متن‌باز ChromElevator) تا اطلاعات را از مرورگرهای مبتنی‌بر Chromium استخراج کند.

  • stats_db.exe — این مولفه برای استخراج داده‌ها از پیام‌رسان‌ها (Telegram, WhatsApp)، کیف‌پول‌های رمزارزی و افزونه‌های کیف‌پول مرورگر (مثل Atomic و Exodus) و همچنین اپ‌های مرتبط با بازی (Steam, Minecraft, GrowTopia, Epic Games Launcher) طراحی شده است.

  • game_cache.exe — این فایل مسئول ایجاد persistence است: با ایجاد یک Visual Basic script که هنگام بوت اجرا شود، از طریق C2 استریم زندهٔ صفحهٔ کاربر را ارسال، دستورات دلخواه اجرا، فایل‌ها را دانلود/آپلود و حتی والپیپر دسکتاپ را تغییر می‌دهد.

Stealit Malware Abuses Node.js Single Executable Feature via Game and VPN Installers گروه والنربایت vulnerbyte

نکتهٔ مهم: چه چیزی این روش را خطرناک می‌کند؟

Fortinet تأکید می‌کند که استفاده از Node.js SEA (که هنوز experimental و در حال توسعه است) برای توزیع اسکریپت‌های مخرب یک تاکتیک نسبتاً جدید و فریب‌دهنده است. مهاجمان از novelty این ویژگی سوءاستفاده می‌کنند تا امنیت‌پذیری‌ها و تحلیل‌گران بدافزار را غافلگیر کنند — چون فایل executables بدون نصب Node اجرا می‌شوند و بسیاری از راهکارهای حفاظتی ممکن است سازوکار جدید را بدرستی تشخیص ندهند.

توصیه‌های امنیتی (برای کاربران و تیم‌های امنیتی)

  • از منابع رسمی دانلود کنید: نرم‌افزارها و نصب‌کننده‌ها را فقط از وب‌سایت رسمی ناشر یا فروشگاه‌های معتبر دانلود کنید؛ فایل‌هایی که در Mediafire/Discord یا لینک‌های ناشناس منتشر می‌شوند ریسک بالایی دارند.

  • مانیتورینگ پوشه‌های موقتی: بررسی فایل‌های %temp% و وجود cache.json یا کلیدهای Base64 غیرمعمول را در لاگ‌ و EDR مدنظر قرار دهید.

  • بررسی استثناءهای Microsoft Defender: تنظیمات exclusion آنتی‌ویروس و هر تغییر مشکوک در rules را رصد و بازبینی کنید.

  • محدودسازی دسترسی‌ها: اجرای برنامه‌ها با حداقل امتیازات (least privilege) و جلوگیری از اجرای خودکار installers ناشناس.

  • آموزش کاربران: کاربران را نسبت به نصب‌کننده‌های جعلی بازی و VPN و خطر باز کردن فایل‌های اجرایی از منابع نامطمئن هشدار دهید.

  • تقویت قابلیت‌های تحلیل فایل: از راهکارهای sandboxing و تحلیل استاتیک/داینامیک در pipeline برای بررسی فایل‌های اجرایی و بسته‌های جدید استفاده کنید.

جمع‌بندی

کمپین Stealit نمونه‌ای واضح از تکامل اکوسیستم تهدیدات است: مهاجمان از قابلیت‌ها و ابزارهای جدید توسعه‌دهندگان (مثل Node.js SEA و Electron) برای پنهان‌سازی و تحویل بدافزار استفاده می‌کنند. این تاکتیک نشان می‌دهد که حتی ویژگی‌های نوظهورِ توسعهٔ نرم‌افزار می‌تواند تبدیل به یک بردار حملهٔ موثر شود — مگر آنکه توسعه‌دهندگان، تامین‌کنندگان بسته و تیم‌های دفاعی سریعاً به‌روزرسانی و سازوکارهای شناسایی مناسب را پیاده‌سازی کنند.

منابع:

همچنین ممکن است دوست داشته باشید

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×