فرض کن در یک Internal Pentest به چند Service Account دسترسی پیدا کردی.
اینکه صرفاً Password یکی از آنها ضعیف باشد، تمام ماجرا نیست. باید بفهمی آن Account کجا استفاده میشود و چه دسترسی هایی دارد.
برای بررسی، چند سؤال مهم وجود دارد:
🔹 چه SPNهایی به این Account اختصاص داده شده؟
🔹 آیا برای چند سرویس مختلف استفاده میشود؟
🔹 چه Privilegeهایی دارد؟
🔹 آیا روی سرورها دسترسی Local Administrator دارد؟
🔹 آیا Password آن قدیمی است یا در چند سرویس استفاده شده؟
🔹 آیا امکان جایگزینی آن با gMSA وجود دارد؟
حالا یک سناریو را در نظر بگیر.
یک Service Account برای اجرای یک سرویس قدیمی استفاده میشود. Password آن مدتهاست تغییر نکرده و همان Account روی چند سیستم دسترسی دارد.
اگر مهاجم بتواند Credential این Account را به دست بیاورد، میزان دسترسی ای که از آن استفاده میکند به Permissionها و محل استفاده از Account بستگی دارد.
اینجاست که بررسی Service Account اهمیت پیدا میکند.
در Kerberoasting، مهاجم میتواند برای SPNهای ثبتشده درخواست TGS بفرستد و Material مربوط به Ticket را به صورت Offline برای حدس زدن Password بررسی کند.
اما موفقیت این مرحله بهتنهایی به معنی دسترسی به کل Domain نیست.
اگر Password حساب قوی باشد، دسترسی های آن محدود باشند و از Credentialها بهدرستی نگهداری شود، مسیر حمله میتواند همانجا متوقف شود.
از سمت دفاع، چند اقدام مشخص اهمیت دارند:
▪️ استفاده از Passwordهای طولانی و تصادفی
▪️ استفاده از gMSA در سرویس های سازگار
▪️ حذف SPNهای غیرضروری
▪️ محدود کردن Privilegeهای Service Account
▪️ بررسی Password Reuse و دسترسی های غیرضروری
▪️ مانیتور درخواست های غیرعادی TGS و تغییرات SPN
در Active Directory، اسم یک Account به تنهایی چیزی درباره میزان ریسک آن نمیگوید.
باید بفهمی آن Account چه چیزی را اجرا میکند، به کجا دسترسی دارد و اگر Credential آن افشا شود، مهاجم از چه مسیری میتواند ادامه بدهد.
این دقیقاً بخشی از تحلیل Attack Path در یک Internal Pentest واقعی است.
به نظر شما در تحلیل ریسک Service Accountها، کدام مورد خطرناکتر است: Password ضعیف، دسترسی های بیشازحد (Excessive Privileges) یا استفاده از یک Account در چند سرویس و سرور؟ چرا؟
@KavehOffSec
#ActiveDirectory #RedTeam #CyberSecurity