کمپین PolinRider با هدف قرار دادن توسعهدهندگان، از یک روش نوآورانه برای مدیریت سرورهای فرمان و کنترل (C2) استفاده کرده است. این حمله از طریق تزریق کد مخرب به بستههای PHP در Packagist، بهویژه افزونه visanduma/nova-two-factor، اجرا میشود که تا زمان تحلیل، بیش از ۷۰۰,۰۰۰ بار دانلود شده است.
مکانیزم شناسایی C2 از طریق On-Chain
برخلاف متدهای سنتی که آدرس C2 را بهصورت سختافزاری (Hardcoded) در کد قرار میدهند، PolinRider از تراکنشهای شبکه اتریوم (Ethereum) برای استخراج آدرس IP سرورها استفاده میکند. کد مخرب ابتدا تراکنشهای یک آدرس ارسالکننده (Sender) مشخص را بررسی کرده و آدرسهای IPv4 را از فیلد to در تراکنشها استخراج میکند. این رویکرد به مهاجم اجازه میدهد بدون نیاز به تغییر یا بهروزرسانی بسته مخرب، تنها با ارسال یک تراکنش جدید در شبکه، آدرس سرور C2 را تغییر دهد.
زنجیره حمله و مراحل اجرا
- تزریق کد: کد مخرب در انتهای فایل پیکربندی
tailwind.config.jsپنهان شده است. این کد هنگام اجرای فرآیند Build در محیطهای توسعه یا CI/CD توسطwebpack.mix.jsفراخوانی و اجرا میشود. - بارگذاری مرحله دوم: پس از استخراج IP از شبکه اتریوم، لودر از طریق پروتکل HTTP (بدون TLS، حتی در پورت ۴۴۳) درخواستهایی را به مسیرهای
/0x/clsو/0x/lsارسال میکند تا Payloadهای نهایی را دریافت کند. - اجرای مولفهها: این حمله شامل سه بخش است: یک مولفه کنترل از راه دور (clb) با کانال Socket.IO، یک لودر بازگشتی (inz) برای اطمینان از تداوم infection، و یک لودر پایتونی (boot) برای اجرای مرحله نهایی.
سرقت اطلاعات (Credential Stealer)
هدف نهایی این کمپین، یک بدافزار سرقت اطلاعات Cross-Platform است که روی سیستمهای ویندوز، مک و لینوکس اجرا میشود. این بدافزار دادههای زیر را هدف قرار میدهد:
- مرورگرها: استخراج کوکیها، پسوردهای ذخیره شده و دادههای پرداخت از مرورگرهای Chromium و Firefox.
- کیف پولهای دیجیتال: کپی فایلهای کیف پولهایی مانند Exodus، Electrum و دادههای افزونههایی نظیر MetaMask و Phantom.
- مدیریتکنندههای رمز عبور: استخراج دیتابیسهای 1Password، Bitwarden و KeePass.
- دادههای توسعهدهندگان: سرقت توکنهای GitHub CLI، فایلهای Git credentials و متغیرهای محیطی (Environment Variables) که ممکن است حاوی API Keyهای حساس باشند.
توصیههای امنیتی برای مدیران SOC و مهندسان امنیت
با توجه به اینکه این حمله مستقیماً ماشینهای توسعه و Runnerهای CI/CD را هدف قرار میدهد، اقدامات زیر توصیه میشود:
۱. بازرسی وابستگیها: بررسی فایل composer.lock برای شناسایی نسخههای مخرب بسته visanduma/nova-two-factor (بهویژه نسخههای dev-nova5).
۲. تحلیل ترافیک شبکه: رصد درخواستهای JSON-RPC به RPCهای اتریوم و درخواستهای HTTP غیرمعمول به IPهای ناشناس در پورت ۴۴۳ در زمان Build پروژه.
۳. مانیتورینگ پردازشها: شناسایی پردازشهای مشکوک node -e یا py -c که در محیطهای Build اجرا میشوند.
۴. واکنش به حادثه: در صورت تأیید آلودگی، تمامی Seed Phraseها، توکنهای GitHub و پسوردهای ذخیره شده در مرورگرهای آن سیستم باید فوراً تغییر کنند.