افزایش سطح دسترسی از User به Admin در كمتر از ۶۰ ثانیه

پلتفرم‌های تحت تأثیر: ویندوز کاربران تحت تأثیر: شبکه‌های مبتنی بر Active-Directory نوع تأثیرگذاری: کاربر غیرمجاز قادر خواهد بود که سطح دسترسی خود را تا حد Admin دامنه ارتقا دهد. شدت حساسیت: بحرانی

در اصلاحیه نوامبر ۲۰۲۱، مایکروسافت توصیه‌هایی را برای رفع چندین آسیب‌پذیری در Active-Directory منتشر کرد. تجزیه‌وتحلیل این آسیب‌پذیری‌ها نشان داد که با ترکیب CVE-۲۰۲۱-۴۲۲۷۸ و CVE-۲۰۲۱-۴۲۲۸۷، این امکان وجود دارد که یک کاربر معمولی بتواند به‌راحتی هویت یک Admin دامنه را جعل کند. این موضوع بدین معنی است که هر یک از کاربران می‌توانند تبدیل به یک Admin دامنه شوند که باعث تشدید آسیب‌های احتمالی خواهد شد. علاوه بر این، در حال حاضر چندین مخزن GitHub با کد PoC رایگان برای استفاده کاربران وجود دارد که امکان بهره‌برداری از این آسیب‌پذیری‌ها را تسهیل می‌کنند.

در این پست، چگونگی عملکرد سوءاستفاده از این آسیب‌پذیری‌ها شرح داده‌شده:
 – CVE-۲۰۲۱-۴۲۲۷۸ اکانت نامعتبر
نام اکانت رایانه‌ای در محیط‌های اکتیو دایرکتوری همیشه باید به “$” ختم شود، اما اکثر اوقات این موضوع به‌درستی اجرا نمی‌شود. علامت نام اکانت رایانه” “sAMAccountName است. همانطور که در شکل ۱ مشاهده می‌شود، می‌توان با استفاده از ابزار ADSIEdit این ویژگی را به‌صورت دستی مشاهده و ویرایش کرد.

شکل ۱

در سیستم‌های آسیب‌پذیر می‌توان آن را به نام اکانت کنترل‌کننده دامنه تغییر داد، این موضوع یکی از مراحل کلیدی در فرایند سوءاستفاده است.
نام اصلی امنیتی
نام اصلی امنیتی (SPN ) نامی است که یک موجودیت احراز هویت شده را شناسایی می‌کند، به‌عنوان‌مثال، machinename$@domainname. SPN ها توسط Kerberos به‌عنوان بخشی از رویه‌های احراز هویت موجودیت‌های مختلف استفاده می‌شوند. این موارد اساساً یک شناسه منحصربه‌فرد در یک نمونه سرویس هستند و توسط سیستم احراز هویت Kerberos برای مرتبط کردن یک نمونه سرویس با یک اکانت ورود به سیستم استفاده می‌شوند.
تلاش برای تغییر نام اکانت رایانه به یک اکانت کنترل‌کننده دامنه ممکن است باعث ایجاد مشکلاتی شود، چراکه این‌گونه تغییرات در samAccountName موجب ایجاد تغییراتی در SPN اکانت خواهد شد. با در نظر گرفتن این موضوع که یک SPN با این نام موجود است، تلاش برای تغییر نام اکانت ناموفق خواهد بود. برای حل این مشکل، می‌توان ویژگی “servicePrincipalName” را پاک کرد. در نتیجه، به‌منظور سوءاستفاده از این آسیب‌پذیری، ویرایش ویژگی “servicePrincipalName” نیز موردنیاز خواهد بود.
CVE-۲۰۲۱-۴۲۲۸۷- سردرگمی مرکز توزیع کلید Kerberos
مرکز توزیع کلید Kerberos (KDC ) یکی از سرویس‌های Active Directory است که درخواست‌های مجوز Kerberos را رسیدگی می‌کند. Ticket-Granting Ticket یا TGT نوع خاصی از مجوز (TICKET) است که می‌توان از آن برای تهیه مجوزهای دیگر استفاده کرد.TGT به‌منظور درخواست توکن های دسترسی از سرویس اعطای بلیط TGS ) ) برای منابع یا سیستم‌های خاص در دامنه استفاده می‌شود. هنگامی‌که یک درخواست برای یک مجوز خدمات ارسال می‌شود و پیدا نمی‌شود، KDC به‌طور خودکار مجوز درخواست شده را که با “$” ضمیمه‌شده است جستجو می‌کند.
S۴U۲self یا Service for User to Self افزونه‌ای است که به یک سرویس اجازه می‌دهد مجوز خدمات Kerberos را برای خود دریافت کند. مجوز سرویس شامل گروه‌های کاربری است و بنابراین می‌تواند در تصمیم‌گیری‌های مربوط به مجوز استفاده شود.
این آسیب‌پذیری می‌تواند در سناریویی به‌کاربرده شود که در آن کاربری که TGT دریافت کرده باشد، به هر علتی حذف شود. TGT قبلاً به‌دست‌آمده برای کاربر دیگری استفاده می‌شود که اساساً خودش ازS۴U۲self استفاده می‌کرده است. در این صورت کاربر پیدا نمی‌شود و جستجو برای کاربری با ضمیمه “$” اجرا می‌شود. چنانچه domain controller با آن نام وجود داشته باشد، یک مجوز سرویس به کاربر درخواست‌کننده اعطا می‌شود و سطح دسترسی کاربر درخواست‌کننده را Admin دامنه می‌کند.

ترکیب آسیب‌پذیری‌ها
برای سوءاستفاده از این مسئله، مهاجم نیازمند کنترل حساب کاربری کامپیوتر است. همانطور که قبلاً نیز گفته شد، مهاجم باید بتواند هر دو ویژگی”servicePrincipalName” و”sAMAccountName” را تغییر دهد. ساده‌ترین راه برای رسیدن به این هدف، ایجاد یک حساب کاربری است. پیکربندی پیش‌فرض در یک دامنه به کاربر غیرمجاز اجازه می‌دهد تا حداکثر ۱۰ حساب رایانه ایجاد کند. این امکان توسط ویژگی MachineAccountQuota کنترل می‌شود.
به‌طور خلاصه، مراحل بهره‌برداری از این آسیب‌پذیری‌ها برای به دست آوردن امتیازات Admin دامنه به شرح زیر است:
•    پویش Active-Directory برای پیدا کردن یک اکانت با سطح دسترسی Admin .
•    ایجاد یک اکانت رایانه جدید با “servicePrincipalName” پاک‌شده.
•    استفاده از CVE-۲۰۲۱-۴۲۲۷۸ برای تغییر “sAMAccountName” به نام اکانت سرپرست دامنه.
•    دریافت یک TGT از اکانت رایانه.
•    بازیابی نام اکانت رایانه تا زمانی که KDC به دنبال آن می‌گردد، پیدا نشود.
•    استفاده از CVE-۲۰۲۱-۴۲۲۸۷ از طریق TGT به‌دست‌آمده برای درخواست مجوز سرویس با S۴U۲Self.
 شکل ۲، در زیر، اجرای کد اکسپلویت را در برابر یک سرور آسیب‌پذیر نشان می‌دهد:

شکل ۲

منبع:

https://www.fortinet.com/blog/threat-research/cve-۲۰۲۱-۴۲۲۷۸-cve-۲۰۲۱-۴۲۲۸۷-from-user-to-domain-admin-۶۰-seconds

https://afta.gov.ir/fa-IR/Portal/4927/news/view/14608/2007/Staging/%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%D8%B3%D8%B7%D8%AD-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A7%D8%B2-User-%D8%A8%D9%87-Admin-%D8%AF%D8%B1-%D9%83%D9%85%D8%AA%D8%B1-%D8%A7%D8%B2-%DB%B6%DB%B0-%D8%AB%D8%A7%D9%86%DB%8C%D9%87

در اصلاحیه نوامبر ۲۰۲۱، مایکروسافت توصیه‌هایی را برای رفع چندین آسیب‌پذیری در Active-Directory منتشر کرد. تجزیه‌وتحلیل این آسیب‌پذیری‌ها نشان داد که با ترکیب CVE-۲۰۲۱-۴۲۲۷۸ و CVE-۲۰۲۱-۴۲۲۸۷، این امکان وجود دارد که یک کاربر معمولی بتواند به‌راحتی هویت یک Admin دامنه را جعل کند. این موضوع بدین معنی است که هر یک از کاربران می‌توانند تبدیل به یک Admin دامنه شوند که باعث تشدید آسیب‌های احتمالی خواهد شد. علاوه بر این، در حال حاضر چندین مخزن GitHub با کد PoC رایگان برای استفاده کاربران وجود دارد که امکان بهره‌برداری از این آسیب‌پذیری‌ها را تسهیل می‌کنند.

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.