تحلیل و مقابله با حمله BadSuccessor: آسیب‌پذیری جدید در Microsoft Active Directory Certificate Services

✍️روزبه نوروزی

مقدمه
در سال‌های اخیر، حملات به زیرساخت‌های هویتی مانند Active Directory (AD) و Active Directory Certificate Services (ADCS) به شدت افزایش یافته است. این حملات معمولاً با سوءاستفاده از پیکربندی‌های نادرست، آسیب‌پذیری‌های نرم‌افزاری یا اِشکال در فرآیندهای صدور گواهی اتفاق می‌افتد. در ماه می ۲۰۲۵، تیم تحقیقاتی SpecterOps حمله جدیدی با نام BadSuccessor معرفی کرد که نقطه ضعف جدیدی را در سازوکار CA (Certificate Authority) مایکروسافت افشا می‌کند. این آسیب‌پذیری به مهاجمان امکان می‌دهد که حتی پس از جابه‌جایی یا بازنشست کردن یک CA قدیمی، همچنان گواهی‌های مخرب صادر کنند و زنجیره اعتماد را تضعیف نمایند.

ساختار Active Directory و اهمیت ADCS

سرویس Active Directory Certificate Services (ADCS) یکی از سرویس‌های کلیدی در مایکروسافت اکوسیستم است که امکان صدور، مدیریت و اعتبارسنجی گواهی‌های دیجیتال را برای شبکه‌های داخلی فراهم می‌کند. با صدور گواهی‌های SSL/TLS، گواهی‌های ورود دستگاه و کاربر و حتی انجام فرآیندهای رمزگذاری ایمیل، ADCS هسته امنیتی بسیاری از شبکه‌های سازمانی به حساب می‌آید. هرگونه آسیب‌پذیری در این سرویس می‌تواند موجب دسترسی غیرمجاز، جعل هویت یا حملات پیشرفته (مانند Golden Ticket) گردد.

حمله BadSuccessor دقیقا چیست؟

حمله BadSuccessor یک آسیب‌پذیری منطقی است که فرآیند مدیریت چرخه عمر کلیدهای CA را هدف قرار می‌دهد؛ به‌خصوص درحالتی که یک CA بازنشسته (Retired CA) با CA دیگری جایگزین می‌شود (در اصطلاح، Successor CA). شبکه‌ها معمولاً پس از بازنشسته کردن CA قدیمی (مثلا به خاطر انقضای کلید یا آپگرید به الگوریتم‌های مدرن‌تر)، CA جدیدی به عنوان Successor معرفی می‌کنند و انتظار دارند زنجیره اعتبار همچنان برقرار اما امن‌تر باشد.
اینجاست که مشکل پیش می‌آید:
این CA Successor (جدید) می‌تواند همچنان به عنوان صادرکننده تایید شده توسط زنجیره اصلی معرفی شود، اما مکانیزم بررسی revocation یا لغو اعتبار CA قدیمی معمولا ناکافی است.
مهاجم می‌تواند گواهی‌ای تقلبی صادرشده توسط CA بازنشسته وارد کند و شبکه یا کلاینت تصور می‌کند چون Successor معرفی شده و زنجیره معتبر است، این گواهی باید قابل اعتماد باشد.
این آسیب‌پذیری ناشی از نحوه ذخیره‌سازی و بررسی فیلد CA Successor در ADCS است.

عملکرد فنی BadSuccessor

برای درک تاثیر این حمله، باید بدانیم پس از بازنشست شدن CA، زنجیره گواهی‌ها از طریق اکستنشن CA Version و رکورد successor در AD به‌هم متصل می‌شوند. در سناریوی واقعی:
سازمان CA قدیمی را بازنشسته می‌کند و CA جدید را به عنوان successor ثبت می‌کند.
این CA قدیمی می‌تواند یا باید غیر فعال و کلیدش حذف شود؛ اما اغلب بنا به اشتباه نگهداری یا پیکربندی ناقص، این کلید و دسترسی‌ها باقی می‌ماند.
مهاجم، اگر کنترل یا دسترسی به کلید خصوصی CA قدیمی یا سیستم مرتبط را داشته باشد، می‌تواند همچنان گواهی مطابق با زنجیره موردقبول صادر کند و آن را توسط Successor به شبکه تحمیل کند.
نکته مهم: بیشتر نرم‌افزارها و کلاینت‌ها، بررسی جدی روی زنجیره Successor انجام نمی‌دهند و صرفاً به زنجیره اعتماد (Chain of Trust) نگاه می‌کنند. همین باعث می‌شود گواهی جعلی با امضای CA بازنشسته اما متصل به Successor معتبر تلقی شود.

سناریوی حمله BadSuccessor

در سناریوی کلاسیک:
مهاجم دسترسی ادمینی به سیستم یا کلید خصوصی CA بازنشسته را کسب می‌کند (مثلاً از طریق هک قدیمی، باگ یا غفلت امنیتی).
یک گواهی مخرب ایجاد می‌کند (مثلاً برای برداشتن محدودیت‌های احراز هویت Kerberos یا جعل نام کاربر).
این گواهی، به خاطر زنجیره successor به راحتی به عنوان معتبر توسط کلاینت‌ها/سرویس‌ها شناخته می‌شود.
اثر: مسیر نفوذ تا سطح Domain Admin و حتی بالاتر (Persistence و Evasion پیشرفته).

چرا شناسایی این حمله دشوار است؟

بسیاری از ابزارهای امنیتی تمرکز خود را صرفاً بر گواهی‌های جاری‌ دارند و کمتر به زنجیره successor و وضعیت CA بازنشسته توجه می‌کنند.
لاگینگ ناکافی بر روی فرآیند بازنشسته‌سازی CA و فعالیت‌های مرتبط.
فرض رایج (ولی غلط) مبنی بر اینکه بازنشسته کردن CA و غیر فعال‌سازی آن، به طور پیش‌فرض امنیت کافی ایجاد می‌کند.

روش‌های مقابله و Mitigation

روش‌هایی برای کاهش ریسک حمله BadSuccessor پیشنهاد شده که در اینجا جمع‌بندی شده‌اند:


ادامه در پست بعدی...👇👇


#آکادمی_روزبه
مرکز تخصصی CISSP
Www.Roozbeh.academy

Comments

Be the first to add a comment