PureRAT؛ بدافزاری مخرب با اجرای بدون فایل و پنهانسازی کدمخرب در تصاویر
شرکت ترلیکس (Trellix) از شناسایی یک زنجیره حمله چندمرحلهای خبر داده است که در آن بدافزار PureRAT با ترکیب استگانوگرافی، اجرای بدون فایل، دور زدن UAC و تکنیک Process Hollowing تلاش میکند از شناسایی و تحلیل امنیتی فرار کند.
مرکز تحقیقات پیشرفته ترلیکس (Trellix Advanced Research Center) در گزارشی فنی، جزئیات یک کمپین پیچیده مبتنی بر PureRAT را تشریح کرده است. این بدافزار یک تروجان دسترسی از راه دور یا RAT است که معماری ماژولار دارد و میتواند پس از استقرار، قابلیتهای مختلفی را از طریق سرور فرماندهی و کنترل (C2) دریافت کند.
بر اساس تحلیل ترلیکس، زنجیره آلودگی PureRAT از یک فایل مخرب با پسوند LNK. آغاز میشود. این فایل یک فرمان مخفی PowerShell را اجرا میکند. در مرحله بعد، یک Loader مبهمسازیشده VBScript دریافت میشود و بدافزار با استفاده از Task Scheduler برای ماندگاری در سیستم تلاش میکند.
یکی از مهمترین ویژگیهای این حمله، استفاده از پنهاننگاری (Steganography) برای پنهان کردن کد مخرب در تصاویر ظاهراً عادی PNG است.
PureRAT چگونه سیستم قربانی را آلوده میکند؟
ترلیکس زنجیره آلودگی PureRAT را یک فرایند چندمرحلهای توصیف میکند. هر مرحله وظیفه مشخصی دارد و بخشی از قابلیتهای مخرب را به مرحله بعد منتقل میکند.
در مرحله نخست، مهاجم از یک فایل میانبر Windows با پسوند LNK استفاده میکند. اجرای این فایل باعث اجرای مخفیانه PowerShell میشود. این PowerShell نیز یک فایل VBScript را دریافت و اجرا میکند.
اسکریپت PowerShell با استفاده از گزینههایی مانند اجرای مخفی و دور زدن سیاست اجرای اسکریپت، تلاش میکند فعالیت خود را از دید کاربر و برخی کنترلهای امنیتی پنهان کند.
لودر VBScript؛ نخستین مرحله ماندگاری
فایل VBScript دریافتشده بهشدت مبهمسازی شده است. حجم زیادی از دادههای بیهدف در ابتدا و انتهای اسکریپت قرار گرفته تا تحلیل آن برای پژوهشگران امنیتی دشوارتر شود.
این اسکریپت یک نسخه از خود را با نامی تصادفی در مسیر عمومی دانلودهای Windows ایجاد میکند. سپس با استفاده از Windows Management Instrumentation یا WMI، پروسه دیگری را به شکل مخفی اجرا میکند.
یکی از اقدامات مهم این مرحله، ایجاد یک Scheduled Task است. وظیفه زمانبندیشده میتواند اسکریپت مخرب را با فاصلههای کوتاه اجرا کند و به مهاجم امکان دهد حضور بدافزار را در سیستم حفظ کند.
تحلیل بیشتر کد نشان داده است که بخشی که در نگاه اول فقط دادههای بیمعنی به نظر میرسد، در واقع پس از انجام چند تبدیل، به یک اسکریپت PowerShell تبدیل میشود.
پنهان کردن بدافزار در تصاویر PNG
در مرحله بعد، PowerShell یک فایل PNG را از زیرساخت مهاجم دریافت میکند. نکته مهم این است که تصویر مذکور صرفاً یک فایل تصویری معمولی نیست.
طبق گزارش ترلیکس، یک فایل PE درون دادههای تصویر قرار داده شده است. PowerShell محل شروع و پایان داده مخفی را پیدا میکند و سپس محتوای استخراجشده را پردازش میکند.
در این فرایند، دادهها تحت چند مرحله تبدیل قرار میگیرند؛ از جمله جایگزینی کاراکترها، معکوسسازی، Base64 decoding و تبدیل به آرایه بایت.
بدافزار سپس این داده را مستقیماً در حافظه بارگذاری میکند. به این ترتیب، بخشی از زنجیره حمله بدون نیاز به ایجاد فایل اجرایی معمولی روی دیسک انجام میشود.
این روش میتواند شناسایی بدافزار را برای ابزارهای امنیتی مبتنی بر اسکن فایل دشوارتر کند.
اجرای بدون فایل؛ یکی از نقاط قوت PureRAT
یکی از ویژگیهای برجسته این حمله، اتکا به Fileless Execution یا اجرای بدون فایل است.
PowerShell با استفاده از قابلیتSystem.Reflection.Assembly.Load دادههای استخراجشده را بهعنوان یک اسمبلی NET. در حافظه بارگذاری میکند. سپس یک متد مشخص از اسمبلی اجرا میشود.
در ادامه نیز دادههای مخرب دیگری از منابع داخلی استخراج و رمزگشایی میشوند. ترلیکس مشاهده کرده است که بخشی از این دادهها با استفاده از Triple DES رمزگشایی شده و نتیجه مستقیماً در حافظه بهعنوان اسمبلی NET. بارگذاری میشود.
در نتیجه، مهاجم میتواند بخش قابلتوجهی از زنجیره اجرا را بدون ایجاد فایل اجرایی نهایی روی دیسک پیش ببرد.
سوءاستفاده از cmstp.exe برای دور زدن UAC
PureRAT در مرحله دیگری از یک ابزار معتبر Windows با نام cmstp.exe برای افزایش سطح دسترسی استفاده میکند.
فایل cmstp.exe بخشی از Windows است و برای نصب پروفایلهای Connection Manager به کار میرود. مهاجمان میتوانند از قابلیتهای این ابزار برای اجرای دستورات با سطح دسترسی بالاتر سوءاستفاده کنند.
در نمونه بررسیشده توسط ترلیکس، بدافزار یک فایل INF موقت ایجاد کرده و دستورات موردنظر خود را در آن قرار میدهد. سپس cmstp.exe برای پردازش فایل مورد استفاده قرار میگیرد.
این روش به مهاجم اجازه میدهد سازوکارهای User Account Control یا UAC را دور بزند و اجرای برخی دستورات را با سطح دسترسی بالاتر دنبال کند.
Process Hollowing؛ اجرای بدافزار داخل Msbuild.exe
یکی دیگر از تکنیکهای مهم مشاهدهشده در این زنجیره، Process Hollowing است.
در این روش، بدافزار یک پروسه معتبر تحت Windows را ایجاد میکند و سپس محتوای حافظه آن را با کد مخرب جایگزین میکند.
در حمله مورد بررسی، پروسه Msbuild.exe بهعنوان میزبان مورد استفاده قرار گرفته است. این پروسه ابتدا در وضعیت تعلیق ایجاد میشود. سپس فضای حافظه آن تغییر میکند و کد مخرب در آن قرار میگیرد.
مزیت این روش برای مهاجم آن است که فایل اصلی Msbuild.exe روی دیسک همچنان یک فایل معتبر و امضاشده باقی میماند. فعالیت مخرب در فضای حافظه پروسه انجام میشود.
به همین دلیل، شناسایی چنین حملاتی نیازمند نظارت دقیق بر رفتار پروسهها و رویدادهای حافظه است و صرفاً بررسی فایلهای موجود روی دیسک کافی نیست.
PureRAT سیستم قربانی را چگونه شناسایی میکند؟
پس از استقرار، PureRAT اطلاعات گستردهای از سیستم قربانی جمعآوری میکند. این مرحله با هدف Host Fingerprinting انجام میشود.
بر اساس تحلیل ترلیکس، بدافزار میتواند اطلاعاتی مانند موارد زیر را بررسی کند:
– محصولات امنیتی نصبشده روی سیستم
– شناسه پردازنده
– اطلاعات دیسک و حافظه فیزیکی
– نام کاربر و دامنه
– سطح دسترسی کاربر
– نسخه و معماری سیستمعامل Windows
– وجود وبکم
– اطلاعات مربوط به برخی کیفپولهای رمزارزی
– مسیر پروسه در حال اجرا
– میزان زمان بیکاری کاربر
بدافزار همچنین برای شناسایی محیطهای مجازی، بررسیهایی مرتبط با VMware و QEMU انجام میدهد. این قابلیت میتواند با هدف تشخیص محیطهای تحلیل و آزمایش امنیتی مورد استفاده قرار گیرد.
ارتباط PureRAT با سرور C2
پس از تکمیل فرایند شناسایی سیستم، PureRAT با سرور Command and Control یا C2 ارتباط برقرار میکند.
این ارتباط به بدافزار اجازه میدهد منتظر دریافت دستورات مهاجم باقی بماند. معماری ماژولار PureRAT نیز باعث میشود قابلیتهای جدید در صورت نیاز از سمت اپراتور ارسال شوند.
این رویکرد، حجم اولیه بدافزار را کاهش میدهد و به مهاجم امکان میدهد تنها قابلیتهای موردنیاز خود را روی سیستم قربانی فعال کند.
ترلیکس اشاره میکند که این ماژولها میتوانند برای اهدافی مانند Keylogging، دسترسی به وبکم و میکروفون و دسترسی از راه دور به دسکتاپ مورد استفاده قرار گیرند.
در نتیجه، PureRAT را نمیتوان صرفاً یک بدافزار با قابلیت کنترل از راه دور دانست؛ بلکه معماری آن امکان تبدیل شدن به یک پلتفرم انعطافپذیر برای اجرای مأموریتهای مختلف را فراهم میکند.
استفاده از چند لایه مبهمسازی و رمزنگاری
یکی از ویژگیهای قابلتوجه نمونه بررسیشده، استفاده مداوم از تکنیکهای مبهمسازی است.
برخی از اجزای PureRAT با NET Reactor. محافظت شدهاند. این اقدام روند مهندسی معکوس و تحلیل کد را دشوارتر میکند.
در کنار آن، مهاجمان از تکنیکهایی مانند Base64، فشردهسازی GZip، رمزگشایی Triple DES، بارگذاری اسمبلی در حافظه و پنهانسازی PE در فایلهای PNG استفاده کردهاند.
ترکیب این روشها نشان میدهد که هدف مهاجمان تنها اجرای بدافزار نیست. آنها تلاش کردهاند زنجیره آلودگی را در برابر تحلیل استاتیک و برخی روشهای شناسایی سنتی مقاومتر کنند.
توصیههای امنیتی ترلیکس برای مقابله با PureRAT
ترلیکس برای کاهش ریسک حملاتی از این نوع، چند اقدام دفاعی را پیشنهاد میکند.
سازمانها باید سیاستهای اجرای PowerShell و VBScript را سختگیرانهتر کنند و فعالیتهای غیرعادی این ابزارها را تحت نظارت قرار دهند.
همچنین لازم است استفاده غیرعادی از ابزارهای معتبر Windows مانند cmstp.exe و Msbuild.exe بررسی شود. اجرای این فایلها بهتنهایی نشانه قطعی آلودگی نیست، اما رفتار مشکوک آنها میتواند یک شاخص مهم برای تشخیص حمله باشد.
نظارت بر ایجاد Scheduled Task نیز اهمیت زیادی دارد. ایجاد وظایف جدید با زمانبندی بسیار کوتاه یا اجرای مکرر اسکریپتها باید مورد بررسی قرار گیرد.
در بخش شبکه نیز سازمانها باید ارتباطات مشکوک با زیرساختهای C2 و پورتهای غیرمعمول را پایش کنند.
اجرای اصل Least Privilege نیز میتواند اثر حملات مبتنی بر سوءاستفاده از UAC و جمعآوری اطلاعات سیستم را کاهش دهد.
PureRAT و تکنیکهای MITRE ATT&CK
ترلیکس رفتارهای مشاهدهشده در این حمله را با چارچوب MITRE ATT&CK نگاشت کرده است.
از جمله تکنیکهای مهم شناساییشده میتوان به اجرای PowerShell، استفاده از WMI، ایجاد Scheduled Task، تغییر رجیستری، Process Hollowing، Reflective Code Loading، Embedded Payloads، رمزگشایی دادهها، System Discovery و Ingress Tool Transfer اشاره کرد.
این نگاشت میتواند برای تیمهای امنیتی و مراکز عملیات امنیت (SOC) مفید باشد؛ زیرا امکان تبدیل رفتارهای مشاهدهشده در این حمله به قواعد تشخیص و شکار تهدید را فراهم میکند.
جمعبندی
تحلیل مرکز تحقیقات پیشرفته ترلیکس نشان میدهد PureRAT از یک زنجیره آلودگی چندمرحلهای و مجموعهای از تکنیکهای پیشرفته برای استقرار و پنهانسازی خود استفاده میکند.
شروع حمله با یک فایل LNK، اجرای مخفی PowerShell، استفاده از VBScript، ایجاد Scheduled Task، پنهانسازی کد مخرب در تصاویر PNG، اجرای بدون فایل، دور زدن UAC با cmstp.exe و در نهایت Process Hollowing در Msbuild.exe، زنجیرهای پیچیده برای عبور از لایههای مختلف دفاعی ایجاد میکند.
از سوی دیگر، قابلیتهای ماژولار PureRAT به مهاجمان اجازه میدهد پس از برقراری ارتباط با سرور C2، قابلیتهایی مانند ثبت کلیدهای فشردهشده، نظارت بر محیط و دسترسی به دسکتاپ را برحسب هدف خود فعال کنند.
این گزارش بار دیگر نشان میدهد که دفاع در برابر بدافزارهای مدرن تنها با اتکا به شناسایی فایلهای مخرب امکانپذیر نیست و سازمانها باید رفتار پروسهها، اجرای اسکریپتها، فعالیت حافظه، ماندگاری، ارتباطات شبکه و رفتارهای غیرعادی ابزارهای معتبر سیستمعامل را نیز زیر نظر داشته باشند.
جزییات بیشتر
جزییات فنی کامل، نمونههای تحلیلشده، شاخصهای نفوذ (IOC)، پوشش محصولات امنیتی ترلیکس و نگاشت تکنیکهای حمله به چارچوب MITRE ATT&CK در گزارش اصلی این شرکت با عنوان PureRAT: A Multi-Stage, Fileless RAT Utilizing Image Steganography and Process Hollowing منتشر شده است. گزارش مذکور از طریق لینک زیر قابل دسترس است:
https://www.trellix.com/blogs/research/purerat-fileless-utilizing-steganography-process-hollowing