Microsoft Management Console یک فریمورک نرمافزاری در ویندوز است که به مدیران سیستم اجازه میدهد تا ابزارهای مدیریتی مختلفی را در یک کنسول یکپارچه استفاده کنند. فایلهای MSC فایلهای پیکربندی هستند که توسط Microsoft Management Console (MMC) استفاده میشوند. این فایلها شامل تنظیمات و اسکریپتهایی هستند که جهت مدیریت و نظارت بر سیستمهای ویندوزی استفاده میشوند. مدیران سیستم میتوانند با استفاده از MSC، ابزارهای مدیریتی مختلفی را در یک کنسول یکپارچه تنظیم و اجرا کنند. این فایلها معمولاً شامل تنظیمات پیچیدهای هستند که به مدیریت منابع سیستم، پیکربندی سرویسها و انجام وظایف مدیریتی کمک میکنند. مهاجمان با استفاده از یک تکنیک حمله جدید به نام "GrimResource" فایلهای مدیریتی ذخیره شده (MSC) را به صورت خاصی دستکاری میکنند تا از کنسول مدیریت مایکروسافت (MMC) بهرهبرداری کرده و به اجرای کامل کد مخرب برسند. این روش به آنها اجازه میدهد تا از دیوارهای دفاعی امنیتی سیستمها عبور کنند. وقتی یک فایل کنسول مخرب وارد میشود، یک آسیبپذیری در یکی از کتابخانههای MMC میتواند به اجرای کدهای مخرب توسط مهاجم منجر شود.
تکنیک GrimResource از یک نقص XSS قدیمی که در کتابخانه apds.dll وجود دارد، استفاده میکند. در این مورد، مهاجمان با اضافه کردن یک مرجع به منبع آسیبپذیر APDS در بخش StringTable یک فایل MSC، میتوانند جاوااسکریپت دلخواه را در بستر mmc.exe اجرا کنند.
این اقدام اولیه به مهاجمان این امکان را میدهد تا با استفاده از تکنیک DotNetToJScript به اجرای کد دلخواه روی سیستم بپردازند. DotNetToJScript یک ابزار است که توسط مهاجمان جهت اجرای کد دلخواه به صورت اسکریپت جاوااسکریپت (JScript) در محیطهایی مانند Windows Script Host (WSH) استفاده میشود. این ابزار قادر است کدهای نوشته شده به زبان C# یا .NET را به قالبی تبدیل کند که به سادگی در مرورگرها یا در محیطهای دیگری که JScript را پشتیبانی میکنند، قابل اجرا باشد.
شکل 1: یک نمونه از StringTable که در آن یک مرجع به منبع آسیبپذیر APDS اضافه شده است
در کد زیر، مهاجمان یک URL مخرب را به جدول رشتهها اضافه کردهاند که از طریق apds.dll جاوااسکریپت دلخواه را اجرا میکند:
<String ID="39"
Refs="1">res://apds.dll/redirect.html?target=javascript:eval("alert('GRIMRESOURCE')")
</String>
در زمان شناسایی این نمونه، هیچگونه شناسایی در VirusTotal برای آن ثبت نشدهاست. VirusTotal یک سرویس آنلاین است که فایلها و URLها را در برابر بسیاری از ویروسها اسکن میکند تا تهدیدات احتمالی را شناسایی کند. عدم شناسایی توسط VirusTotal سطح بالای اختفای این حمله را نشان میدهد. مهاجمان جهت دور زدن فرآیندها و اقدامات امنیتی اخیر که توسط Microsoft انجام شده، مانند غیرفعال کردن پیشفرض ماکروها در فایلهای Office که از اینترنت دانلود میشوند، با استفاده از تکنیک obfuscation transformNode، کدهای خود را مبهم میسازند. ماکروها (Macros) مجموعهای از دستورات و عملیاتها هستند که به صورت خودکار در نرمافزارهایی مانند Microsoft Office اجرا میشوند تا وظایف تکراری را سریعتر و سادهتر انجام دهند. این ماکروها معمولاً با استفاده از زبانهای برنامهنویسی مانند VBA (Visual Basic) نوشته میشوند و میتوانند طیف گستردهای از کارها را انجام دهند. ماکروها به دلیل قدرت و انعطافپذیری بالا، میتوانند به راحتی مورد سوءاستفاده مهاجمان قرار بگیرند. مهاجمان میتوانند ماکروهای مخرب ایجاد کنند و آنها را در فایلهای Office (مانند اسناد Word، صفحات گسترده Excel و ارائههای PowerPoint) جاسازی کنند. هنگامی که یک کاربر فایل حاوی ماکروی مخرب را باز میکند و ماکرو اجرا میشود، کد مخرب میتواند به سیستم نفوذ کرده و عملیات مخربی مانند دانلود و اجرای بدافزار، دسترسی به اطلاعات حساس یا حتی تصاحب کنترل کامل سیستم را انجام دهد. مایکروسافت برای افزایش امنیت کاربران خود، تصمیم گرفته است که اجرای ماکروها را به طور پیشفرض در فایلهایی که از اینترنت دانلود میشوند، غیرفعال کند. در روش obfuscation transformNode کدهای برنامه به شکلی تغییر داده میشود که برای انسانها و ابزارهای تحلیل سختتر قابل فهم باشد. تکنیک transformNode برای دور زدن هشدارهای امنیتی ActiveX (یک فناوری مایکروسافت برای ایجاد محتوای تعاملی در وب) استفاده میشود و باعث میشود که اسکریپتهای مخرب توسط سیستم به عنوان اسکریپت امن شناسایی شوند.
شکل 2: تکنیک obfuscation transformNode جهت مخفی کردن کدهای مخرب
در روند حمله، یک اسکریپت VBScript به طور مخفیانه در سیستم اجرا میشود. این اسکریپت مسئول بازیابی کد مخرب (payload) از متغیرهای محیطی است. متغیرهای محیطی، مقادیر یا اطلاعاتی هستند که در سیستمعامل ذخیره میشوند و برنامههای مختلف میتوانند به آنها دسترسی داشته باشند. پس از تنظیم متغیرها، از تکنیک DotNetToJs استفاده میکند تا کدهای .NET را از طریق جاوااسکریپت اجرا کنند. سپس این اسکریپت یک لودر .NET به نام PASTALOADER را اجرا میکند.
شکل 3:اسکریپت VBScript مبهمسازی شده
شکل 4:تنظیم متغیرهای محیطی
شکل 5
شکل 5 بخشی از VBScript را نمایش میدهد. در این تصویر یک شیء از نوع BinaryFormatter ایجاد شده و از آن، جهت استخراج کدهای مخرب از متغیرهای محیطی استفاده میشود. PASTALOADER وظیفه دارد تا کد مخرب اصلی (payload) را از متغیرهای محیطی بازیابی کند. PASTALOADER سپس یک نمونه جدید از dllhost.exe (یک فرآیند سیستمعامل Windows که برای اجرا و مدیریت اجزاء COM (Component Object Model) به کار میرود) را اجرا کرده و payload مخرب که قبلا بازیابی آن شرح دادهشد را به آن تزریق میکند. این تزریق به طور مخفیانه با استفاده از تکنیکهای DirtyCLR (روشی برای تزریق کد به محیط اجرای مشترک NET.)، unhooking توابع(حذف ارتباطات بین توابع و نقاط ورودی سیستم) و syscalls غیرمستقیم (فراخوانی سیستمهای عامل به طور مستقیم از طریق کدهای ماشین) انجام میشود. با اجرای موفقیتآمیز PASTALOADER، مهاجم به طور کامل کنترل سیستم قربانی را به دست میآورد. این به معنای دسترسی به تمامی فایلها، اجرای برنامههای دلخواه و تغییر تنظیمات سیستم است. بنابر این، تکنیک GrimResource با بهرهگیری از نقص XSS در apds.dll شروع میکند و با استفاده از چندین مرحله مبهمسازی و تزریق کد، سیستم را به خطر میاندازد و کنترل آن را به دست میگیرد.
توصیههای امنیتی
جهت کاهش تهدیدات ناشی از این حمله، بهروز نگه داشتن نرمافزارها و سیستمعاملها، استفاده از ابزارهای امنیتی پیشرفته، اجرای اصول دفاع در عمق به معنی استفاده از یک رویکرد چند لایهای شامل کنترلهای شبکه، امنیت نقاط پایانی و کنترلهای دسترسی، مانیتورینگ و تجزیه و تحلیل لاگها و استفاده از تکنیکهای محدودسازی اجرای اسکریپتها توصیه میگردد.
منابع خبر:
[1]https://thehackernews.com/2024/06/new-attack-technique-exploits-microsoft.html?m=1
[2]https://securitybrief.com.au/story/elastic-discovers-new-attack-vector-in-microsoft-management-cons…;
[3]https://securitybrief.com.au/story/elastic-discovers-new-attack-vector-in-microsoft-management-cons…;