روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ «سیاستهای گروه ویندوز» یک ابزار مدیریتی قدرتمند است که به مدیران اجازه میدهد تنظیمات کاربر و رایانه را در یک محیط دامنه به صورت متمرکز تعریف و کنترل کنند. اما با اینکه خطمشیهای گروه بسیار کاربردی هستند، متأسفانه هدف اصلی مهاجمین هستند. به ویژه، مهاجمین به طور فزایندهای از سیاستهای گروهی برای توزیع بدافزار، اجرای اسکریپتهای مخفی و استقرار باجافزار استفاده میکنند.
این حملات میتوانند از تغییرات پیکربندی ساده که منجر به نقض دادهها شود تا سناریوهای پیچیدهتر که در آن مهاجمین کنترل کامل بر شبکه شرکتی را به دست میآورند، متغیر باشند. برای اطمینان از امنیت زیرساخت IT خود، درک آسیبپذیریهای خطمشیهای گروه و تاکتیکهای استفادهشده توسط مهاجمان بسیار مهم است. این داستان به بررسی این موضوع میپردازد که چگونه مجرمان سایبری از سیاستهای گروهی بهعنوان یک بُردار حمله بهرهبرداری میکنند، حملاتی مانند این چه خطراتی دارند و چه اقداماتی میتوان برای محافظت در برابر تهدیدات احتمالی انجام داد.
شیء خط مشی گروه
یک شیء خط مشی گروهی (GPO) شامل دو جزء کلیدی است: یک ظرف خط مشی گروه (GPC) و یک الگوی خط مشی گروه (GPT). GPC یک کانتینر اکتیو دایرکتوری است که اطلاعات مربوط به نسخه GPO، وضعیت آن و غیره را در خود دارد.
GPT مجموعهای از فایلها و پوشهها است که در حجم سیستم SYSVOL هر کنترلکننده دامنه در یک دامنه نگهداری میشوند. این فایلها تنظیمات، اسکریپتها و تنظیمات پیشفرض مختلفی را برای کاربران و ایستگاههای کاری در خود دارند. مسیر هر الگو در ویژگی محفظه خط مشی گروه به نام gPCFileSysPath مشخص شده است.
در مرحله بعد، gPCMachineExtensionNames و gPCUserExtensionNames ویژگیهای مهم در هر خط مشی هستند. هر یک از این ویژگیها حاوی یک GUID برای برنامههای افزودنی سمت مشتری (CSE) است که در تنظیمات کاربر و/یا رایانه توزیع میشود. خود برنامههای افزودنی اغلب با استفاده از کتابخانههایی اجرا میشوند که شامل مجموعهای از توابع لازم برای اعمال تنظیمات افزونه برای کاربران یا رایانهها میشوند. بنابراین، GUID اطلاعاتی در مورد اینکه کدام کتابخانه دقیق باید بارگذاری شود را ارائه میدهد. فهرستی از تمام GUID های CSE را میتوان در کلید رجیستری زیر یافت:
برای تعیین اینکه یک کلاینت کدام خطمشیها را اعمال میکند، یک پرسوجو LDAP به کنترلکننده دامنه میدهد که مجموعهای از خطمشیها را برای یک کاربر و/یا رایانه خاص برمیگرداند. این مجموعه SOM (Scope of Management) نامیده میشود. ویژگی کلیدی، SOM gpLink است که واحدهای سازمانی (OU) را به GPOهایی که برای آنها اعمال می شود متصل میکند.
چگونه مهاجمین از سیاستهای گروه سوء استفاده میکنند؟
در این داستان، ما به جزئیات نحوه دسترسی مهاجمان به Group Policies نمیپردازیم؛ بلکه متذکر میشویم که برای تغییر خط مشیها، مهاجمان فقط باید مجوز WriteProperty در ویژگی gPCFileSysPath در GPO داشته باشند. این با جزئیات بیشتر در مطالعه SpecterOps، An ACE Up The Sleeve: Designing Active Directory DACL Backdoors توضیح داده شده است. بیایید روی مثالهایی تمرکز کنیم که چگونه مهاجمان به طور خاص از این سیاستها برای اهداف خود استفاده میکنند.
رایج ترین تاکتیک سوء استفاده از سیاست مورد استفاده توسط بازیگران مخرب، استقرار باجافزار در چندین میزبان است. تیم جهانی واکنش اضطراری ما (GERT) به طور منظم با عواقب آن در کار خود مواجه می شود. با این حال، از سیاستهای گروهی نیز میتوان برای به دست آوردن جایگاهی پنهانی در یک دامنه استفاده کرد، جایی که مهاجمین میتوانند تقریباً هر کاری را که میخواهند انجام دهند:
ایجاد کاربران/مدیران محلی جدید؛
ایجاد وظایف زمانبندی مخرب؛
ایجاد خدمات مختلف؛
اجرای وظایف از طرف سیستم و/یا کاربر؛
تغییر پیکربندی رجیستری و موارد دیگر
اصلاح ویژگیهای gPCMachineExtensionNames و gPCUserExtensionNames
ابزارهای مختلفی برای به خطر انداختن GPO ها طراحی شدهاند. در حالی که همه آنها از نظر عملکردی مشابه هستند، ما روی محبوبترین (بعد از ابزار داخلی MMC ویندوز) SharpGPOAbuse تمرکز خواهیم کرد. این ابزار یک راهنمای گام به گام برای اصلاح اشیاء خط مشی گروه (GPOs) ارائه داده و آن را برای تجزیه و تحلیل تغییرات خاص درگیر راحت میکند. به عنوان مثال، اجازه دهید یک کار زمانبندی تعریفشده توسط کاربر ایجاد کنیم که در حساب labdomain.local\admin اجرا میشود.
همانطور که در تصویر بالا مشاهده می شود، در طی اصلاح GPO، ابتدا یک کار جدید به عنوان یک فایل XML به GPT در SYSVOL اضافه میشود. پس از آن، ویژگی versionNumber تغییر کرده و شماره نسخه در فایل GPT.ini افزایش مییابد. این امر ضروری است تا هنگام بررسی بهروزرسانیهای GPO، مشتری بتواند تشخیص دهد که نسخه جدیدتر از نسخه موجود در حافظه پنهان وجود دارد و خطمشی اصلاحشده را دانلود کند. چنین تغییراتی را میتوان با استفاده از رویداد 5136 ردیابی کرد که هر زمان که یک شی AD تغییر میکند ایجاد میشود.
همانطور که در حال ایجاد یک خط مشی سفارشی بودیم، ویژگی gPCUserExtensionNames را تغییر دادیم که اکنون شامل مقادیر GUID CSE زیر است:
{00000000-0000-0000-0000-000000000000} — Core GPO Engine.
{CAB54552-DEEA-4691-817E-ED4A4D1AFC72} — ابزار ترجیحی CSE GUID Scheduled Tasks;
{AADCED64-746C-4633-A97C-D61349046527} — اولویتهای CSE GUID Scheduled Tasks.
پس از اعمال خط مشی، یک کار برنامه ریزی شده شروع می شود:
اصلاح ویژگی gPCFileSysPath
در برخی از سناریوها، حریف میتواند GPC را تغییر دهد اما نمیتواند به فهرستی که GPTها در آن قرار دارند دسترسی پیدا کند. این به این دلیل است که روشهای مختلفی برای مدیریت موجودیتهای GPO مختلف استفاده میشود: یک GPC در فهرستهای LDAP Active Directory ذخیره میشود، در حالی که یک GPT در یک پوشه سیستم در کنترلکننده دامنه ذخیره میشود: SYSVOL. در نتیجه، یک کاربر ممکن است مجوز تغییر ظرف GPC LDAP را داشته باشد، اما مجوز تغییر یا افزودن فایلها در SYSVOL را نداشته باشد. در این حالت، هنگام تلاش برای اصلاح سیاست، کاربر با خطای زیر مواجه خواهد شد:
مهاجم بدون دسترسی SYSVOL می تواند ویژگی GPC gPCFileSysPath را تغییر دهد و مسیری را برای منبع شبکه ای که کنترل میکند مشخص کند. در نتیجه، همه مشتریان مشمول این خطمشی، الگوها را از این منبع بازیابی میکنند. بیایید این سناریو را با استفاده از مثال حمله GPOddity در نظر بگیریم. این ابزار سرور SMB خود را می چرخاند، جایی که سیاست های مخرب ایجاد می کند، سپس مسیر GPT را تغییر داده و پس از اعمال سیاست های اصلاح شده، آنها را از پشتیبان خود به حالت اولیه باز میگرداند.
تکنیک تغییر ویژگی gPCFileSysPath در سال 2020 در یک پست وبلاگ توسط محقق مارک گاماچی که در آن زمان در مایکروسافت کار میکرد برجسته شد. با این حال، این شرکت معتقد است که توانایی ذخیره GPT در خارج از پوشه سیستم SYSVOL یک ویژگی است تا یک اشکال. در عین حال، مایکروسافت ذخیره GPTها را در منابع شخص ثالث توصیه نمی کند، زیرا این کار می تواند مکانیسم های خاص ویندوز را خراب کند. برای شناسایی این تکنیک، میتوانیم یک بار دیگر از رویداد 5136 استفاده کنیم، جایی که تغییرات ویژگی مورد نظرمان را بررسی میکنیم.
چگونه سیاستهای «بد» را در پروژههای ارزیابی تعهد جستجو میکنیم؟
یکی از موارد موجود در فهرست چک برای هر یک از پروژههای ارزیابی سازش ما، جستجوی مصالحه از طریق خطمشیهای گروهی است، زیرا مهاجمان اغلب برای توزیع نرمافزارهای مخرب، اسکریپتها، تنظیمات آسیبپذیر و غیره و برای به دست آوردن مخفیانه جای پایی در این روش، به این روش تکیه میکنند. دامنه ما از ابزار Group3r برای تجزیه و تحلیل حجم زیادی از سیاست ها استفاده میکنیم. این به ما کمک میکند تا سریعاً همه خطمشیها را پیدا کرده و آنها را از طریق قوانین شناسایی خود اجرا کنیم تا موارد مشکوک را شناسایی کنیم، و همچنین آسیبپذیریهای مختلفی را پیدا کنیم که مهاجم میتواند از آنها سوء استفاده کند.
از آنجایی که Group3r فقط سیاست های واقع در حجم دامنه SYSVOL را جستجو می کند، تعیین ویژگی gPCFileSysPath در کدام یک از آنها مهم است.
نحوه نظارت بر سیاست های گروه در MDR
سازمانها اغلب در ثبت بسیاری از رویدادها در میزبان ها شکست میخورند. برای اطمینان از امنیت و نظارت پیشگیرانه سیاستهای گروه در سرویس MDR خود، چندین پیشرفت در تلهمتری خود ایجاد کرده ایم. اولاً، از آنجایی که ممیزی پیشرفته ویندوز در برخی از میزبانها غیرفعال است، ما سعی میکنیم تا حد امکان از ارائه دهندگان ETW (ردیابی رویداد برای ویندوز) برای جایگزینی رویدادهای مورد نیاز برای درک آنچه در سیستم رخ داده است استفاده کنیم. در جایی که ETW به تنهایی کافی نیست، ما فناوری خود را بهبود بخشیده و پوشش تله متری را گسترش می دهیم. به عنوان مثال، برای جدا شدن از رویداد 5136، که نظارت بر آن مستلزم پیکربندی ممیزی تغییرات سرویس دایرکتوری است، تیم تحقیق و توسعه SOC ما ابزار GCNet را بر اساس PoC مایکروسافت برای نظارت بر تغییرات سرویس دایرکتوری توسعه داد. این ابزار به پایگاه داده LDAP متصل میشود، جایی که ما جستجویی را برای یک مقدار مشخصه متمایزName مشخص میکنیم (در مورد ما، CN=Policies) و هر گونه تغییر در آن را مشترک میکنیم. اگر اعلانی درباره تغییر خطمشی دریافت کنیم، اطلاعات دقیقی درباره GPO مربوطه، از جمله دادههای GPC و GPT درخواست میکنیم.
رخدادهای شناساییشده از طریق قوانین شناسایی ما اجرا می شوند و به ما امکان می دهند خط مشی های مخرب مختلف را شناسایی کنیم. یکی از ویژگی های مهم یک سیاست، گزینه های GPLink و پرچم های خط مشی است. خطمشیهایی که بهعنوان «اجباری» پرچمگذاری شدهاند، بر سایر خطمشیها اولویت دارند و قبل از آنها اعمال خواهند شد و نمیتوان آنها را با خطمشی دیگری بازنویسی کرد. علاوه بر این، GPO ها دارای چندین پرچم هستند که وقتی شناخته شوند، می توانند به ما در تعیین فعال بودن یا نبودن یک خط مشی کمک کنند. ترکیبی از همه ویژگیها اطلاعات بیشتری در مورد اینکه چقدر زمان برای پاسخگویی به یک حادثه قبل از اعمال خطمشی گروه بعدی داریم، و کجا و چگونه اعمال میشود، در اختیار ما قرار میدهد که به طور قابل توجهی دامنه تحقیقات را گسترش میدهد. بهطور پیشفرض، خطمشیها هر 90 دقیقه +/– 30 دقیقه در ماشینهای مشتری و هر 5 دقیقه در کنترلکننده دامنه بهروزرسانی میشوند.
نتیجه گیری
سیاستهای گروهی (GPOs) ابزار همه کاره ای هستند که در دستان عوامل مخرب، می تواند یک تهدید جدی برای یک شبکه شرکتی باشد. سازش آنها به مهاجمان اجازه میدهد تا اقدامات مخفیانه انجام دهند، پیکربندیها را اصلاح کنند و بدافزار را به چندین میزبان به طور همزمان گسترش دهند. به همین دلیل، سیاستهای گروه باید به دقت رصد شده و دائماً ایمن شوند. ردیابی تغییرات در خطمشیهای گروه و پاسخ به تهدیدهای شناساییشده بخشی از سرویس شناسایی و پاسخ مدیریت شده (MDR) ما است.
کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.