محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

فایل SAM چیست؟ آموزش امن کردن SAM File ویندوز با Syskey

فایل SAM چیست؟ چگونه فایل SAM را امن کنیم ؟ اگر از کاربران سیستم عامل ویندوز هستید حتما برای خودتان یک username و password برای ورود به سیستم دارید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

آیا تا به حال از خودتان سئوال پرسیده اید که این username و password در کجای سیستم ذخیره می شود و آیا ممکن است کسی بتواند به پسوردهای ما در سیستم دسترسی پیدا کند یا خیر ؟ خوب در ابتدا به این موضوع توجه کنید که در هر جاییکه صحبت از ذخیره سازی اطلاعات می شود ما نیاز به یک پایگاه داده یا Database برای نگهداری داده ها داریم و در خصوص username ها و password هایی که در تقریبا در همه انواع سیستم عامل های کلاینت و سرور مایکروسافت این پایگاه داده به نام SAM یا Security Account Manager شناخته می شود.

این فایل حاوی کلیه username ها و password های ورود به سیستم عامل ویندوز است اما قطعا اطلاعات احراز هویتی در هیچ سیستمی بصورت رمزنگاری نشده ذخیره سازی نمی شوند و در خصوص فایل SAM نیز این موضوع صادق است .

ساختار فایل SAM

ساختار فایل SAM تقریبا ساده است ، ترکیبی از نام کاربری و در جلوی آن یک شناسه منحصر به فرد امنیتی برای کاربر که به آن SID گفته می شود و در ادامه Hash پسوردهایی که با الگوریتم های موجود در سیستم تولید شده اند. در واقع کلیه Password ها در سیستم شما به شکل یک رشته Hash شده نگهداری می شوند و همانطور که می دانید Hash یک الگوریتم رمزنگاری یک طرفه است .

منظور از یک طرفه این است که پسورد شما به هیچ عنوان زمانیکه Hash می شود و در داخل این پایگاه داده ذخیره می شود به هیچ عنوان مجددا تبدیل به پسورد نمی شود و مقایسه نمی شود و این فرآیند یکطرفه است !!

renadm:500:aad3b435b51404eeaad3b435b51404ee:3e24dcead23468ce597d6883c576f657:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
support:1000:aad3b435b51404eeaad3b435b51404ee:64f12cddaa88057e06a81b54e73b949b:::
hdes:6ec74661650377df488415415bf10321:securus.corp.com:SECURUS:::
Administrator:c4a850e0fee5af324a57fd2eeb8dbd24:SECURUS.CORP.COM:SECURUS:::

خوب اینجا سئوالی پیش می آید که خوب سیستم عامل از کجا متوجه می شود که پسورد کاربر ما صحیح است ؟ سیستم عامل شما بعد از اینکه پسورد را دریافت کرد آن را با استفاده از الگوریتم Hashing ای که در فایل SAM قبلا ذخیره سازی کرده است تبدیل به Hash می کند و با Hash موجود در پایگاه داده مقایسه می کند .

اگر Hash ها برابر بودند پسورد درست است و اگر اشتباه بودند قطعا پسورد نیز اشتباه است. این فرآیند نه تنها برای لاگین به سیستم عامل ویندوز بلکه با الگوریتم های Hashing مختلف در تقریبا تمامی اینترنت استفاده می شود.

الگوریتم های مورد استفاده در فایل SAM بیشتر LM و NTLM هستند که LM یک الگوریتم ضعیف و قدیمی و NTLM الگوریتمی جدید و بهبود یافته است. شما می توانید فایل SAM سیستم خودتان را از مسیر زیر پیدا کنید :

%SystemRoot%/system32/config/SAM 

امنیت در فایل SAM با استفاده از SYSKEY

بصورت پیشفرض دو مکانیزم امنیتی برای نگهداری از محتویات فایل SAM توسط مایکروسافت در نظر گرفته شده است . در وهله اول شما به هیچ عنوان نمی توانید در حالت روشن در سیستم عامل این فایل را کپی کنید یا محتویات آن را مشاهده کنید ، شما نه می توانید این فایل را در حالت عادی Copy و نه Cut یا Move کنید. اما مکانیزم دیگر امنیتی که برای حفاظت از این فایل در نظر گرفته شده است قابلیتی به نام SYSKEY می باشد.

نرم افزارهای بسیاری هستند که امکان Offline Attack را به فایل SAM می دهند یعنی زمانیکه سیستم با سیستم عامل دیگری Boot شده است امکان کپی کردن محتویات فایل را به شما می دهد اما زمانیکه شما پسورد SYSKEY را بر روی سیستم فعال می کنید کلیه محتویات فایل SAM شما رمزنگاری شده و در درجه امنیتی بالایی در مقابل حملات Offline قرار می گیرد.

اما به هر حال و به قول معروف در حوزه امنیت زمانیکه ما می توانیم سیستمی را لمس کنیم و دسترسی فیزیکی به آن داشته باشیم آن سیستم رسما هک شده است و شما می توانید با تکنیک هایی مثل استفاده از ابزارهای dumper ای که در اینترنت به وفور پیدا می شوند حتی زمانیکه سیستم روشن است از محتویات فایل SAM و Hash های موجود در آن یک کپی کامل بردارید.

از این Hash ها براحتی می توان برای انجام حملات Brute-Force بصورت Offline استفاده کرد. در مطالب بعدی در خصوص ساختار Hashing ای که در LM و NTLM استفاده می شود توضیح خواهیم دارد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات