نفوذ به زنجیره تأمین پروژه Ethersphere و انتشار بدافزار از طریق ابزارهای Swarm
Hackers Compromise Ethersphere's bee-js and Swarm Desktop to Deliver Wallet-Stealing Malware
مهاجمان با سرقت اعتبارنامههای CI پروژه Ethersphere، نسخههای آلودهای از کتابخانه bee-js و نرمافزار Swarm Desktop را منتشر کردند. این بدافزارها علاوه بر سرقت کلیدهای کیف پول و رمزهای عبور، اقدام به نصب درهای پشتی (Backdoor) بر روی سیستمهای ویندوزی، مک و لینوکس میکنند.
جزئیات فنی و نحوه عملکرد بدافزار
مهاجمان با استفاده از اتوماسیون انتشار پروژه، نسخه 13.3.0 از bee-js و نسخه 0.56.2 از Swarm Desktop را آلوده کردند. این بدافزارها با دانلود کدهای مخرب از سرور راه دور، فایلهای config.yaml و swarm.key را که حاوی کلیدهای خصوصی و رمز عبور کیف پول هستند، سرقت میکنند. این اقدام منجر به دسترسی مهاجمان به داراییهای xDAI، xBZZ و سایر منابع مالی نود میشود.
در سیستمهای لینوکس و مک، یک در پشتی به نام evjawbreaker در پوشه مخفی ~/.solidity نصب میشود که به عنوان یک سرویس پسزمینه عمل میکند. در ویندوز، مهاجمان از یک نسخه قانونی اما مخرب از نرمافزار ScreenConnect استفاده میکنند که با دسترسی سیستمی و دور زدن UAC، اقدام به ایجاد استثنا در Microsoft Defender و برقراری ارتباط با سرور مهاجمان میکند.
نحوه نفوذ و وضعیت فعلی
مهاجمان با استفاده از حساب کاربری bee-worker و اعتبارنامههای سرقت شده CI، بدون نیاز به تاییدیه یا Pull Request، نسخههای آلوده را منتشر کردند. نسخه 0.56.2 از Swarm Desktop به مدت 8.5 ساعت و نسخه 13.3.0 از bee-js به مدت 75 دقیقه در دسترس بودند. تیم توسعهدهنده اکنون نسخه 0.56.3 را جایگزین کرده و فرآیند تاییدیه برای امضای دیجیتال را سختگیرانهتر کرده است.
تحقیقات نشان میدهد این حمله با فعالیتهای گروه پشت پرده SleepyDuck و EtherDuck مرتبط است. اگرچه تاکنون گزارشی از سرقت قطعی وجوه منتشر نشده، اما هر سیستمی که نسخههای آلوده را اجرا کرده باشد، باید کاملاً مصالحه شده (Compromised) تلقی شود.
نکتههای کلیدی
- نسخههای آلوده: bee-js 13.3.0 و Swarm Desktop 0.56.2
- سرقت کلیدهای خصوصی کیف پول و رمزهای عبور ذخیره شده در فایلهای پیکربندی
- نصب در پشتی evjawbreaker در لینوکس/مک و ScreenConnect در ویندوز
- عدم حذف بدافزار با بهروزرسانی یا حذف نرمافزار اصلی
- ارتباط با گروه مهاجم SleepyDuck
چه باید کرد
- بررسی فایلهای لاگ (bee-desktop.log) برای شناسایی اجرای نسخه 0.56.2
- در صورت آلودگی، فرض بر سرقت کلیدها و انتقال فوری داراییها به یک کیف پول جدید از طریق یک سیستم پاک
- حذف دستی فایلها و سرویسهای مخرب شامل پوشه ~/.solidity، سرویس solidity-langsupport-runner و ScreenConnect Client
- تغییر تمامی رمزهای عبور، توکنها و کلیدهای استفاده شده در سیستمهای آلوده
- بازگردانی سیستم از یک ایمیج مطمئن و پاک به جای پاکسازی در محل
- پین کردن نسخه 13.2.0 برای bee-js و پاکسازی کشهای npm