آخرین اخبار
همهٔ اخبار
بدافزار و تروجان گزارش بحرانیت ۸/۱۰

تکنیک جدید بدافزارهای npm برای دور زدن مکانیزم‌های دفاعی Install Script

تکنیک جدید بدافزارهای npm برای دور زدن مکانیزم‌های دفاعی Install Script

تحقیقات اخیر نشان می‌دهد که مسدود کردن اسکریپت‌های مشکوک در هنگام نصب (Install Scripts)، دیگر برای مقابله با تهدیدات ناشی از وابستگی‌های (Dependencies) مخرب JavaScript در حملات زنجیره تأمین (Supply-chain attacks) کافی نیست.

تغییر استراتژی در توزیع بدافزار

پژوهشگران Checkmarx هشدار داده‌اند که مهاجمان با استفاده از بسته‌ای مخرب به نام indexed-btree، سعی در جعل کتابخانه معتبر sorted-btree داشتند. نکته کلیدی این حمله، کنار گذاشتن اسکریپت‌های رایج preinstall و postinstall است. در عوض، مهاجمان کد مخرب را مستقیماً در بدنه اصلی کد زمان اجرا (Runtime code) قرار داده‌اند تا از رادارهای امنیتی که بر روی Lifecycle Scripts تمرکز دارند، عبور کنند.

گزارش‌ها حاکی از آن است که این بسته مخرب پیش از شناسایی و حذف از رجیستری در تاریخ ۳ سپتامبر ۲۰۲۶، هفته‌ای نزدیک به ۲ میلیون بار دانلود شده است.

مکانیزم عملکرد و سرقت داده‌ها

کد مخرب در متد BTree.prototype.set جاسازی شده بود. زمانی که این متد مقدار کلید خاصی را دریافت می‌کند، یک Loader مرحله اول را به صورت یک پروسه مجزای Node.js اجرا می‌کند. این Loader پس از اجرا، اقدام به Fingerprinting سیستم قربانی کرده و اطلاعاتی نظیر معماری سیستم‌عامل، Hostname، وضعیت CPU، حافظه و Uptime را جمع‌آوری می‌کند. سپس این داده‌ها از طریق کانال‌های هاردکد شده در Slack و Telegram خارج (Exfiltrate) می‌شوند.

استفاده از بلاکچین برای C2

یکی از پیچیدگی‌های این حمله، استفاده از یک Smart Contract در شبکه تست Sepolia Ethereum برای مدیریت سرور فرماندهی و کنترل (C2) است. مهاجمان به جای درخواست از یک دامنه ساده، از توابع Getter و Setter قرارداد هوشمند برای دریافت آدرس‌های جدید C2 استفاده می‌کنند. این روش باعث می‌شود زیرساخت حمله در برابر عملیات Takedown دامنه یا IP بسیار مقاوم‌تر باشد.

در مراحل نهایی، بدافزار با استفاده از کلیدهای رمزنگاری و یک Shared Secret که از بلاکچین بازیابی شده است، Payload مرحله دوم را از دو بخش رمزگذاری شده در Smart Contract باز می‌کند. همچنین این بدافزار دارای قابلیت Self-deletion است تا پس از اجرای عملیات، فایل‌های مخرب و کدهای Trigger را از حافظه و سیستم پاک کند.

گستره حمله و جعل اعتبار

علاوه بر بسته مذکور، ۹ بسته دیگر از جمله btree-core (با بیش از ۱.۹ میلیون دانلود) نیز شناسایی و حذف شدند. مهاجمان برای ایجاد اعتماد، یک مخزن GitHub با کامیت‌های متعدد ایجاد کرده و از تصاویر پروفایل تولید شده توسط هوش مصنوعی (AI-generated) استفاده کردند، در حالی که کد مخرب هرگز در مخزن GitHub قرار نمی‌گرفت تا از تحلیل‌های استاتیک جلوگیری شود.