محققان شرکت Blackpoint Cyber چارچوب بارگذار مبتنی بر زبان Go با نام HollowFrame و خانوادهٔ بدافزاری مبتنی بر Rust با نام Matryoshka را شناسایی کردند که در حملهٔ فیشینگ هدفمند علیه یک دفتر حقوقی به‌کار رفته است.

آغاز حمله

زنجیرهٔ نفوذ با یک پیام فیشینگ هدفمند آغاز شد. پیام حاوی لینکی به یک آرشیو رمزگذاری‌شده بود که میانبری با عنوان «Case Documents» در آن قرار داشت. اجرای فایل LNK، زنجیره‌ای چندمرحله‌ای را فعال می‌کرد که شامل ارتقای امتیاز، تضعیف محافظت‌های Microsoft Defender و دانلود بارهای اضافی می‌شد.

معماری فنی

HollowFrame به‌عنوان یک چارچوب ماژولار بارگذار و برقرارکنندهٔ پایداری عمل می‌کند و برای اجتناب از تحلیل محیطی، پارامترهایی مانند مدت زمان روشن بودن سیستم، مقدار حافظه نصب‌شده، تعداد فایل‌های پروفایل کاربر و حرکت مکان‌نما را بررسی می‌کند. پایداری با ایجاد یک Scheduled Task تأمین می‌شود.

راه‌اندازی اولیه از طریق زوجی از side-loading های DLL انجام می‌گیرد: یک باینری معتبر (python.exe) همراه با یک DLL مخرب به‌نام python311.dll. بارگذار نوشته‌شده با Go همچنین یک کانتینر رمزگذاری‌شده حمل می‌کند که پس از باز شدن، زنجیرهٔ دوم side-loading را برای استقرار Matryoshka (فایل version.dll) فعال می‌کند.

دو گونهٔ Matryoshka

  • گونهٔ اول از ارتباط مبتنی بر HTTP با سرور کنترل و فرمان استفاده می‌کند (آدرس گزارش‌شده: 45.158.196[.]184:8888) تا شل ایجاد کرده و ابزارهای اضافی را تحویل دهد.
  • گونهٔ دوم از یک مخزن خصوصی GitHub به‌عنوان کانال C2 بهره می‌برد؛ مخزن گزارش‌شده (adioziaete/memio) برای هر میزبان صندوق پیام اختصاصی ایجاد می‌کرد و فایل‌هایی مانند beacon.json، cmd.json و result.json را نگهداری می‌نمود.

دلایل دشواری شناسایی

هر مرحله از زنجیره مقدار رفتار مخرب قابل مشاهده در مرحلهٔ قبل را کاهش می‌دهد؛ مؤلفه‌ها به‌تنهایی منطق کامل آلودگی یا تصویر کامل کانال‌های C2 را نشان نمی‌دهند. تقسیم وظایف میان اجزای مختلف و استفاده از کانال‌های غیرمعمول شناسایی، پی‌گیری و ردگیری را پیچیده‌تر می‌کند.

نمونه‌های فنی و شاخص‌های تهدید (IOCs)

  • نام فایل‌ها: python311.dll, version.dll, wtsapi32.dll
  • میانبر فریبنده: «Case Documents» (فایل LNK)
  • آدرس‌های گزارش‌شده: 2.26.252[.]84 (مخزن اولیه) و 45.158.196[.]184:8888 (C2 HTTP)
  • مخزن خصوصی GitHub: adioziaete/memio (صندوق‌های پیام per-host)

توصیه‌های دفاعی فوری

  • آموزش مستمر کارکنان برای شناسایی فیشینگ و جلوگیری از اجرای فایل‌ها یا میانبرهای ناشناس.
  • محدودسازی اجرای فایل‌های LNK و اسکریپت‌های PowerShell برای حساب‌های کاربری عادی و اعمال سیاست‌های least privilege.
  • مسدودسازی یا فیلتر کردن آدرس‌های IP گزارش‌شده در لبهٔ شبکه و پایش اتصالات خروجی مشکوک.
  • بازنگری سیاست‌های بارگذاری DLL، محدودسازی مسیرهای مجاز برای DLL و پیاده‌سازی هشدار برای رفتارهای side-loading.
  • پایش ایجاد Scheduled Task، رفتارهای غیرمعمول مربوط به Active Directory، انتقال فایل بین نقاط پایانی و شاخص‌های جانبی حرکت جانبی.
  • نظارت بر فعالیت‌های مخازن سازمانی در GitHub و تنظیم قوانین هشدار برای استفادهٔ غیرعادی از API و تغییرات در مخازن خصوصی یا عمومی مرتبط.
  • استفاده از EDR و راهکارهای تهدیدیابی (threat hunting) متمرکز بر زنجیرهٔ رفتارها و ارتباطات شبکه‌ای به‌جای تکیه صرف بر شناسایی مؤلفهٔ منفرد.

زبان‌ها و ابزارها

HollowFrame با زبان Go و Matryoshka با Rust نوشته شده‌اند؛ این انتخاب‌ها نشان‌دهندهٔ نیاز بازیگر تهدید به عملکرد شبکه‌ای قابل‌اطمینان و مقاومت در برابر تحلیل است.

پیامدها و گام بعدی

ترکیب چارچوب‌های ماژولار و کانال‌های غیرمعمول احتمال تکرار چنین حملاتی را افزایش می‌دهد. سازمان‌ها باید رویکرد خود را از شناسایی مؤلفه‌های منفرد به رصد زنجیرهٔ رفتارها، تحلیل ارتباطات شبکه‌ای و تهدیدیابی فعال تغییر دهند تا حملات پراکنده و چندمرحله‌ای سریع‌تر کشف و خنثی شوند.