گزارشهای اخیر تیم هوش تهدید مایکروسافت (Microsoft Threat Intelligence) نشاندهنده دو مورد نفوذ پیچیده و مبتنی بر عملیات انسانی است که در آنها مهاجمان با استفاده از مهندسی اجتماعی (Social Engineering) در پلتفرم Microsoft Teams، دسترسی از راه دور به سیستمهای هدف را کسب کرده و سپس از آسیبپذیریهای سرویسهای گواهی اکتیو دایرکتوری (AD CS) برای ارتقاء سطح دسترسی خود استفاده کردهاند.
زنجیره حمله (Attack Chain) مشترک
هر دو مورد نفوذ از یک الگوی اولیه مشابه پیروی کردند:
- دسترسی اولیه: مهاجمان با جعل هویت پرسنل IT یا تیم پشتیبانی (Help Desk) از طریق پیامها و تماسهای Microsoft Teams، کاربران را فریب دادند تا از طریق ابزار Quick Assist دسترسی از راه دور به آنها بدهند.
- اجرای کد: پس از برقراری اتصال، مهاجمان از محیطهای اجرایی پرتابل (Portable Runtimes) مانند Python، Bun یا Java استفاده کردند تا از شناسایی سیستم و شبکه بدون نیاز به نصب بدافزار سنتی جلوگیری کنند.
- ارزیابی AD CS: پس از تثبیت موقعیت، مهاجمان به دنبال مسیرهای احراز هویت مبتنی بر گواهی (Certificate-based Authentication) در سرویسهای AD CS بودند.
سناریوی اول: سوءاستفاده از ESC1 و استخراج دادهها
در مورد اول، مهاجم موفق شد از یک قالب گواهی (Certificate Template) آسیبپذیر که دارای نقص ESC1 بود، استفاده کند. این نقص به مهاجم اجازه میدهد تا با درخواست یک گواهی، هویت یک حساب کاربری با سطح دسترسی بالا (Privileged Account) را جعل کند. در این سناریو، مهاجم پس از دریافت گواهیهای مورد نظر، موفق به اجرای تکنیک DCSync شد که به او اجازه داد دادههای حساس دایرکتوری را استخراج کند. نکته حائز اهمیت در این مورد، عدم کنترل کافی بر حسابهای مستثنی شده (Excluded Identities) در سیستمهای پاسخگویی خودکار بود که باعث شد مهاجم بتواند به فعالیت خود ادامه دهد.
سناریوی دوم: تکنیک PetitPotam و حمله ESC8
در مورد دوم، مهاجم از تکنیک PetitPotam برای اجبار کردن کنترلر دامنه (Domain Controller) به احراز هویت در یک سیستم تحت کنترل مهاجم استفاده کرد. سپس، مهاجم با استفاده از روش NTLM Relay، فرآیند احراز هویت کنترلر دامنه را به نقطه انتهایی Web Enrollment در سرویس AD CS هدایت کرد (حمله ESC8). این کار منجر به صدور گواهی برای حساب کنترلر دامنه شد که از طریق پروتکل Kerberos (از طریق PKINIT) امکان دسترسی سطح بالا را برای مهاجم فراهم کرد.
روشهای مقابله و کاهش ریسک
برای جلوگیری از این نوع حملات، متخصصان امنیت توصیه میکنند:
- کنترل دسترسی از راه دور: کاربران باید تمامی درخواستهای پشتیبانی ناخواسته را از طریق کانالهای داخلی معتبر تأیید کنند و استفاده از ابزارهای RMM (Remote Monitoring and Management) باید به شدت محدود و نظارت شود.
- امنسازی AD CS: قالبهای گواهی باید به دقت بازبینی شوند تا از تنظیمات نادرست (مانند اجازه دادن به کاربر برای تعیین Subject در درخواست گواهی) جلوگیری شود. همچنین باید از پروتکل HTTPS و قابلیت Extended Protection for Authentication (EPA) برای مقابله با حملات NTLM Relay استفاده کرد.
- نظارت بر محیطهای اجرایی: استفاده از ابزارهای کنترل اپلیکیشن (App Control) برای محدود کردن اجرای محیطهای اجرایی پرتابل (Portable Runtimes) از مسیرهای قابل نوشتن توسط کاربر ضروری است.
- حسابرسی گواهیها: فعالسازی حسابرسی پیشرفته (Advanced Auditing) برای سرویسهای گواهی و نظارت بر فعالیتهای PKINIT در پروتکل Kerberos.