بریم سراغ Kerberos Authentication
در این مقاله میخوایم احراز هویت در kerberos رو کامل بیان کنیم (با جزئیات) چیزی که من از پرچمداران آموزش امنیت در جهان مثل Offensive و Sans و HTB میبینم خیلی ماسمالیه ، بعد توضیح من کامل درک میکنید دلیلشو :)
چون Kerboros خیلی پیچدس من اول ساده میگمش :
ما یه DC داریم که در اینجا مسئولیت KDC داره " Key Distribution Center " وظیفه توضیع کلید
در وهله اول کاربر در ریکوئست اول اطلاعاتشو میده به KDC ما و در ریکوئست دوم که از سمت KDC هست ، KDC میاد یوزر پسورد رو احراز میکنه و اگر معتبر بود TGT رو میفرسته به کاربر
حالا کاربر میاد TGT ای که گرفته رو میده به سرور و میگه و میگه TGS میخوام برای اینکه با یه سرویس یا سروری صحبت کنه و بتونه پیشش احراز بشه
حالا KDC میاد و یه TGS معتبر میده کاربر و کاربر اون TGS رو میده به Service و احراز میشه پیش اون و میتونه احراز بشه و ازش استفاده کنه
شکلش یکم شاید پیچیده و بزرگ باشه ولی نترسید هیچ چیز سختی نیست
ما یه DC داشتیم که نقش KDC داشت ؟ اینجا امدیم بازش کردیم ، KDC دوتا نقش داره :
Authentication Server (AS) و Ticket Granting Server (TGS) و یه سرویس داریم اون پایین (مثلا فایل سرور)
در وهله اول کاربر که رو خودش Kerberos Client داره میاد و Credential شو با NTLM رمز میکنه (کلید آبی) و میده به AS
بعد AS میاد و Credential ای که کاربر فرستاده سمتش رو نگا میکنه تو دیتابیسش و احرازش میکنه و براش یه TGS Session Key (کلید سبز) میفرسته و با Credential اصلی کاربر اونو قفل میکنه و میفرسته
بعد یه پیام دیگه هم AS میده به کاربر و اونم یه TGT (کلید بنفش) هست با TGS Session Key که قبلا داده بودش و اینو میاد با یه کلید خاصی که فقط خودش داره رمز میکنه (به کلیده میگن ONLY TGT KEY که با رنگ صورتیم کشیدمش)
وقتی کلاینت دوتا پیامی ک AS داده بهش رو میگیره اولی رو با کلید خودش میاد و باز میکنه ، اگر کلیدی که داره درست باشه میتونه TGS Key رو بفهمهو پیام دومم نمیتونه باز کنه
حالا کلاینت میخواد به File server ما دسترسی بگیره ، میره به TGS پیام میده
اول یه کپی از پیام حاوی TGT ای که گرفته از AS رو میفرسته براش
دوم یه Authenticator که حاوی id کلاینت و زمانیه که پیامو میفرسته هست و با TGS اون روز رمز میکنه و میفرسته به سرور
حالا سرور TGS میاد درخواستشو بررسی میکنه که با چه سرویسی کار داره ، اول میاد TGT رو باز میکنه ببینه سالمه یا نه
بعد با TGS پیام Authenticator رو باز میکنه که ببینه پیام سالمه و کلید درسته یا ن
حالا TGS میاد در جواب به کلاینت ما دوتا پیام میده
یکی یه Client / Server Key یا همون Client/ Server Ticket (کلید مشکی) و با کلید مخصوص خود سرویس اونو رمز میکنه (این پیام فقط برای سرویسه و کلاینت حق خوندنشو نداره)
همون Client / Servcer Ticket ای که بالا دادو اینبار با TGS کلاینت بهش میده که بتونه بخونش
حالا کلاینت میره سراغ سرویس
کلاینت اینجا پیام TGS رو میده به سرویس که شامل Client / Server Ticket با کلید خود سرویسه
بعد یه Authenticator میده بهش عین مرحله قبل فقط تفاوتش اینه که بجز id ثابت خودش یه زمان جدید باید بده و با کلید مشکیه یعنی Client/ Server Ticket باید رمزش کنه
و دراینجا سرویس وقتی دوتا پیام بهش رسید با کلید نارنجی خودش پیامو باز میکنه و از توش کلید مشکیو بر میداره و با اون پیام کلاینتو باز میکنه و بعد تایید بهش مجوز میده
یکم مفهوم پیچیدس هرجاش سوال داشتید در خدمتم
موفق باشید - یاعلی :)
عاشق امنیت و نفوذ ، رد تیم و دوستدار بزن بکش :)
کارشناس تست نفوذ سنجی ، علاقه مند به امنیت تهاجمی و رد تیمینگ | عضو انجمن بین المللی ورزش های رزمی کشور آلمان و دارای احکام بین المللی و داخلی کمربند مشکی در سبک های کیوکوشین ، هاپکیدو ، کیک بوکسینگ و چند تام قهرمانی کشوری
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود