آخرین اخبار
همهٔ اخبار
تهدیدات پیشرفته (APT) گزارش بحرانیت ۸/۱۰

استفاده از Terraform Providers و ماژول‌های Go برای توزیع بدافزار Graphalgo

استفاده از Terraform Providers و ماژول‌های Go برای توزیع بدافزار Graphalgo

یک عامل تهدید (Threat Actor) مرتبط با کمپین زنجیره تأمین نرم‌افزاری Graphalgo، دامنه فعالیت‌های خود را فراتر از npm و PyPI گسترش داده است. این گروه اکنون از Terraform Providers مخرب و ماژول‌های Go برای استقرار یک تروجان دسترسی از راه دور (RAT) مبتنی بر زبان Go استفاده می‌کند.

هدف قرار دادن جریان‌های DevOps

این فعالیت از آن جهت حائز اهمیت است که اولین مورد مشاهده شده از توزیع بدافزار از طریق Terraform Providers است. این اقدام باعث می‌شود گردش کارهای Infrastructure-as-Code (IaC) مستقیماً در سطح حمله (Attack Surface) این کمپین قرار گیرند. محققان دو Provider مخرب با نام‌های gocommunity-io/dockerd و kreuzwenker/docker را شناسایی کرده‌اند.

بسته kreuzwenker/docker در واقع یک حمله Typosquatting است و سعی می‌کند خود را به جای Provider قانونی kreuzwerker/docker (با ۵۶ میلیون دانلود) جا بزند تا اعتماد توسعه‌دهندگان DevOps را جلب کند.

مکانیزم اجرای هدفمند و پیچیده

بدافزار برای جلوگیری از شناسایی توسط ابزارهای تحلیل خودکار، از یک مکانیزم فعال‌سازی سخت‌گیرانه استفاده می‌کند. کد مخرب تنها زمانی اجرا می‌شود که هش SHA-256 حاصل از ترکیب متغیرهای containerName و networkID با یک مقدار سخت‌افزاری (Hard-coded) مطابقت داشته باشد. این موضوع نشان می‌دهد که حملات برای قربانیان خاصی طراحی شده‌اند و نه برای آلودگی گسترده.

پس از فعال‌سازی، بدافزار یک فایل آرشیو را که به عنوان یک فایل SQLite3 استتار شده است، رمزگشایی کرده و Payload اصلی را از طریق یک پروسه مجزای go run . اجرا می‌کند.

سیستم فرماندهی و کنترل (C2) ترکیبی

این RAT اطلاعاتی نظیر سیستم‌عامل، معماری سخت‌افزار، نام کاربر و دسترسی به Node.js را جمع‌آوری کرده و از یک ساختار C2 بسیار منعطف استفاده می‌کند:

  • Slack API: داده‌های اولیه و دستورات از طریق کانال‌های خاص در Slack ارسال و دریافت می‌شوند.
  • Blockchain Dead-drop: بدافزار از یک قرارداد هوشمند (Smart Contract) در شبکه تست Arbitrum Sepolia برای خواندن دستورات رمزگذاری شده و ثبت کلیدهای عمومی استفاده می‌کند.

این ترکیب از ترافیک Slack و RPC بلاکچین، باعث می‌شود ارتباطات C2 بسیار تاب‌آور شده و وابستگی به زیرساخت‌های سنتی مهاجم کاهش یابد.

جعل اعتبار و تاریخچه

عامل تهدید برای ایجاد توهم بلوغ و اعتبار در بسته‌های Go، از Commitهای جعلی در Git استفاده کرده تا تاریخ انتشار ماژول‌ها را به سال ۲۰۲۵ بازگرداند. همچنین دامنه‌هایی مانند gocommunity[.]io و gogets[.]dev را ثبت کرده تا اکوسیستمی جعلی برای توزیع این ماژول‌ها ایجاد کند.

توصیه‌های امنیتی برای SOC و تیم‌های DevOps

سازمان‌ها باید اقدامات زیر را به سرعت اجرا کنند:

  • حسابرسی (Audit) فایل‌های Terraform lock، پروکسی‌های داخلی ماژول و کش‌های Go Module.
  • بررسی لاگ‌های CI/CD برای شناسایی بسته‌های ذکر شده.
  • مانیتورینگ ترافیک خروجی به api.slack.com و سرویس‌های RPC بلاکچین از ایستگاه‌های کاری توسعه‌دهندگان یا زیرساخت‌های Build که کاربرد عملیاتی ندارند.