تحقیقات امنیتی اخیر نشان میدهد که برخی مخازن GitHub که تحت عنوان پروژههای تمرینی برای مصاحبههای شغلی در حوزه Web3 و Solidity منتشر شدهاند، حاوی بکدورهای (Backdoor) بسیار خطرناک برای سرقت دادهها هستند. یکی از این موارد، مخزن sol-live است که با استفاده از تکنیکهای مهندسی اجتماعی، توسعهدهندگان را به اجرای دستورات مخرب ترغیب میکند.
مکانیزم حمله و بردار ورود
مهاجمان از فایل تنظیمات محیط کاری VS Code یعنی .vscode/settings.json برای پنهان کردن دستورات مخرب استفاده میکنند. این دستورات در تنظیمات مربوط به Terminal (مانند zsh، bash یا PowerShell) قرار میگیرند. برای کاهش احتمال شناسایی، مهاجم از ایجاد صدها فاصله (Space) قبل از دستورات و همچنین استفاده از قوانین files.exclude برای مخفی کردن پوشه .vscode در محیط VS Code بهره میبرد تا کاربر متوجه وجود این تنظیمات نشود.
زنجیره اجرای کد (Execution Chain)
هنگامی که کاربر یک Terminal را با تنظیمات پیشفرض پروژه باز میکند، یک زنجیره اجرای کد فعال میشود که شامل مراحل زیر است:
- بررسی وجود محیطهای Node.js و npm و در صورت عدم وجود، نصب خودکار آنها.
- ایجاد یک فایل
app.jsدر یک مسیر مخفی و اجرای آن توسط Node.js. - ارسال درخواست به یک سرور کنترل (C2) و اجرای مستقیم کدهای JavaScript دریافتی از طریق تابع
eval().
این فرآیند با سطح دسترسی کاربر فعلی اجرا شده و نیازی به تایید مدیر سیستم (Administrator) ندارد.
قابلیتهای بدافزار
پس از اجرای موفقیتآمیز، بدافزار سه فرآیند مجزا را در پسزمینه (Background) راهاندازی میکند:
- سرقت دادههای مرورگر و کیف پول: استخراج پایگاه دادههای ورود (Login Data) از مرورگرهای مبتنی بر Chromium (مانند Chrome و Edge) و همچنین سرقت اطلاعات ذخیره شده در افزونههای کیف پول دیجیتال مانند MetaMask، Phantom و TronLink.
- اسکن و سرقت فایلها: جستجو در دایرکتوریهای حساس مانند Desktop، Documents و Downloads و همچنین جستجوی الگوهای خاص مانند فایلهای
.env، عبارتهای بازیابی (Seed Phrases) و کلیدهای خصوصی (Private Keys). - کنترل از راه دور (Remote Control): ایجاد یک اتصال WebSocket برای کنترل تعاملی سیستم، مانیتورینگ کلیپبورد (Clipboard) و اجرای دستورات از راه دور.
توصیههای امنیتی
برای مقابله با این تهدید، اقدامات زیر توصیه میشود:
- بازبینی تنظیمات پروژه: پیش از باز کردن هر پروژه در VS Code، فایل
.vscode/settings.jsonرا بررسی کنید و به دنبال تنظیمات غیرعادی در بخش Terminal بگردید. - مدیریت اعتبارنامهها: در صورت احتمال آلودگی، بلافاصله کیف پولهای دیجیتال و رمزهای عبور خود را از طریق یک دستگاه امن و جدید تغییر دهید.
- مانیتورینگ شبکه: بررسی لاگهای EDR و شبکه برای شناسایی اتصالات مشکوک به IPهای غیرمعمول یا دامنههای ناشناخته.