تحقیقات اخیر نشاندهنده کشف یک زنجیره سرایت (Infection chain) بسیار پیچیده و یک چارچوب بارگذاری اسمبلیهای .NET مبتنی بر XAML است که تحت عنوان NetamLoader شناخته میشود. این تهدید که تاکنون به هیچ گروه شناختهشدهای (APT) نسبت داده نشده، مستقیماً نسخههای سفارشی ویندوز ۱۰ را هدف قرار میدهد که منحصراً توسط نهادهای دولتی در آسیا استفاده میشوند. این حمله از نوع حمله زنجیره تأمین (Supply-chain attack) ارزیابی میشود.
مکانیسم سرایت اولیه
این حمله از طریق فایلهای CAB که در مسیر بهروزرسانیهای سیستمعامل ویندوز قرار دارند، آغاز میشود. تحلیلها نشان میدهد که مهاجم از ابزار مدیریت وصله Patch My PC برای اجرای فرآیندهای مخرب استفاده میکند. در مرحله اول، تکنیک AppDomainManager injection برای بارگذاری اسمبلیهای (Assembly) دلخواه .NET به کار گرفته میشود. این فرآیند با استفاده از یک فایل پیکربندی (.config) و یک ماژول امضا شده توسط مایکروسافت، امکان بارگذاری کدهای مخرب را فراهم میکند.
سوءاستفاده از آسیبپذیری Deserialization و XAML
مهاجم با بهرهگیری از یک نقص طراحی در کلاس DataCacheFactoryConfiguration، میتواند فایلهای .resx دستکاری شده را بارگذاری کند. در این فایلها، چندین لایه پیلود (Payload) به صورت رمزنگاری شده و فشرده شده قرار دارند. فرآیند سرایت شامل مراحل زیر است:
- استفاده از کلاس
BinaryFormatterبرای تحریک یک آسیبپذیری Deserialization. - اجرای حمله TypeConfuseDelegate برای بارگذاری پیلودهای XAML.
- استفاده از زبان XAML برای اجرای منطقهای پیچیده مشابه کد C# بدون نیاز به فایلهای اجرایی مستقیم.
دور زدن مکانیزمهای امنیتی (AMSI Bypass)
یکی از ویژگیهای برجسته NetamLoader، توانایی بسیار بالای آن در دور زدن سیستمهای دفاعی است. در مرحله دوم، بدافزار با استفاده از تکنیکهای تزریق کد، ماژول AMSI (Antimalware Scan Interface) را در حافظه پچ (Patch) میکند. این کار با جایگزین کردن آدرس متد Scan() با یک متد بیاثر انجام میشود که باعث میشود تمام اسکنهای امنیتی نتیجه AMSI_RESULT_CLEAN را برگردانند و بدافزار از دید ابزارهای EDR پنهان بماند.
اجرای نهایی و ارتباط با سرور فرماندهی (C2)
در مراحل نهایی، بدافزار با استفاده از پروتکل RPC، پیلود اصلی خود را به فرآیند dllhost.exe تزریق میکند تا از نظارت رفتاری فرآیند اصلی جلوگیری کند. پیلود نهایی (.NET 2 Plugin) اطلاعات سیستم را جمعآوری کرده و از طریق پروتکل HTTPS با سرورهای فرماندهی و کنترل (C2) ارتباط برقرار میکند. تمام ترافیک شبکه با استفاده از الگوریتم AES-128-CBC همراه با HMAC رمزنگاری و احراز هویت میشود تا از شناسایی توسط سیستمهای IDS/IPS جلوگیری شود.
ویژگیهای ضد تحلیل (Anti-Analysis)
این بدافزار از تکنیکهای پیشرفتهای برای مقابله با تحلیلگران استفاده میکند، از جمله:
- Jitter Delay: ایجاد تأخیرهای تصادفی در ارتباطات شبکه برای دور زدن محیطهای Sandbox.
- Long Polling: استفاده از فواصل زمانی بسیار طولانی (تا ۲۸ ساعت) برای ارتباط با سرور C2.
- Log Cleaning: حذف خودکار لاگهای سیستم، فایلهای Prefetch و رکوردهای بهروزرسانی برای پاکسازی ردپای جرم (Forensics).