شرکت امنیت زنجیره تامین Socket از کشف یک کمپین گسترده بدافزاری با نام «عملیات Muck and Load» خبر داده است. این کمپین با استفاده از یک ماژول جعلی به زبان Go که خود را به عنوان اسکنر DNS و زیردامنه معرفی می‌کند، توانسته است بیش از ۷۰۰ ماژول مخرب را از طریق بیش از ۲۰۰ مخزن گیت‌هاب منتشر کند.

جزئیات کمپین Muck and Load

بر اساس تحقیقات منتشر شده، این ماژول از ۲۴ ژانویه امسال شروع به فعالیت کرده و تا کنون بیش از ۱۲۰۰ نسخه از آن منتشر شده که بیش از ۷۰۰ نسخه آن مخرب بوده است. Socket توانسته است این ماژول را به ۲۲۲ مخزن گیت‌هاب در ۱۹۰ حساب مختلف ردیابی کند. این مخازن میزبان بدافزارهای مختلفی از جمله Vidar، RATها (Remote Access Trojans) و ماینرهای XMRig هستند.

نمای کلی از مخازن گیت‌هاب آلوده

مکانیزم عملکرد ماژول مخرب

این ماژول از یک جریان کاری خودکار در GitHub Actions استفاده می‌کند. مهاجمان با تنظیم ایمیل Git بر روی ischhfd83@rambler.ru و نام کاربری بر روی مالک مخزن، هر دقیقه یک فایل لاگ بازنویسی شده را به‌اجبار پوش می‌کنند. این روش باعث ایجاد فعالیت‌های متعدد با انتساب به مالکان مختلف می‌شود و ردپایی قابل استفاده مجدد باقی می‌گذارد.

فایل main.go ماژول یک دستور PowerShell پنهان را اجرا می‌کند که محتوای muckcoding.com را دانلود کرده، با certutil رمزگشایی می‌کند و با دور زدن سیاست اجرا، آن را اجرا می‌کند. اسکریپت رمزگشایی شده دارای چندین لایه با رمزگذاری Base64 و رمزگشایی XOR است. جالب است که در یکی از لایه‌ها، نظر به زبان ترکی وجود دارد که به معنای «مستقیم اجرا شود، هیچ مرحله دیگری لازم نیست» است.

تحلیل اسکریپت بدافزار

مخفی‌سازی مکان بارگذاری نهایی

یکی از ویژگی‌های برجسته این بدافزار، عدم استفاده از آدرس سخت‌کد شده برای بارگذاری نهایی است. حل‌کننده (resolver) بدافزار متن را از پلتفرم‌های عمومی بازیابی می‌کند، آن را برای رشته نشانگر «LastW» جستجو کرده و سپس بخش رمزگذاری شده را با یک کلید سخت‌کد شده رمزگشایی می‌کند تا مکان دانلود واقعی به دست آید. مکان‌های اصلی بارگذاری شامل Pastebin و سرویس چسب Rlim هستند، اما مکان‌های جایگزین در YouTube، Instagram، Telegram، Google Docs و GitCode نیز وجود دارند.

آدرس نهایی به یک آرشیو 7-Zip محافظت شده با رمز عبور اشاره می‌کند که به عنوان دارایی انتشار گیت‌هاب میزبانی می‌شود. بارگذار آن را در دایرکتوری شبیه به نصب قانونی Microsoft Photos استخراج کرده و برنامه Microsoft.exe را با پنجره پنهان اجرا می‌کند. این فرآیند منجر به نصب بدافزارهایی مانند AsyncRAT، Quasar، Remcos RAT، Vidar و ماینر XMRig می‌شود.

مراحل اجرای بدافزار در سیستم قربانی

دامنه وسیع و موضوعات فریبنده

موضوعات فریب به کار رفته در این مخازن شامل ادغام‌های MetaMask و Trust Wallet، ابزارهای بذر فریز، اتوماسیون Binance و PayPal، ربات‌های Telegram و Discord و همچنین تقلب‌های بازی برای عناوین محبوب مانند PUBG، Valorant و Escape from Tarkov است. به عنوان مثال، یک مخزن با نام nrevv1lad/Pubg-DESYNC-Menu خود را به عنوان تقلب خارجی با راهنمای نصب معرفی می‌کند در حالی که یک فایل Loader.exe مرتبط با Vidar را در درخت منبع خود دارد.

تعداد بالای بدافزارها

تحقیقات Socket وجود حداقل ۱۴ فایل بدافزار منحصر‌به‌فرد را تأیید کرده است که شامل بارگذارها و دانلودکننده‌های تروجان، سرقت‌کننده اطلاعات Vidar، رهاکننده‌ها و جاسوس‌افزارها و ماینرهای Monero مرتبط با XMRig هستند. جالب اینجاست که یک فایل Loader.exe به صورت بایت‌یکسان در چهار مخزن جداگانه یافت شد.

فایل‌های بدافزار استخراج شده

ارتباط با کمپین‌های قبلی

Socket با اطمینان بالا اعلام کرده است که این عملیات متعلق به همان خوشه‌ای است که شرکت امنیتی Sophos در ژوئن سال گذشته مستند کرده بود. محققان Sophos موفق به ردیابی ۱۴۱ مخزن گیت‌هاب (۱۳۳ مخزن آلوده) با همان آدرس ایمیل شدند. این موضوع نشان می‌دهد که مهاجمان همچنان به فعالیت خود ادامه می‌دهند و روش‌های خود را تکامل می‌بخشند.

تیم امنیتی Go پس از گزارش Socket، این ماژول را از پروکسی ماژول Go مسدود کرده است. با این حال، کاربران و توسعه‌دهندگان باید هوشیار باشند و از دانلود و اجرای ماژول‌های ناشناس از گیت‌هاب خودداری کنند. همچنین بررسی دقیق مخازن قبل از استفاده و توجه به فعالیت‌های مشکوک در GitHub Actions می‌تواند از آلودگی جلوگیری کند.