سوال : چه اتفاقی می افتاد اگر salt اضافه نمی شد ؟ فرض کنید کاربر به هرنحوی دسترسی خواندن ( read) به فایل /etc/shadow پیدا می کند . حال اگر salt استفاده نشود برای هر کسی که پسوردش 1234 باشد مقدار پسورد در فایل /etc/shadow یکسان خواهد بود . حال نفوذگر پسورد خود را “1234” می کند و در فایل /etc/shadow نگاه می کند و هش پسورد خود را با هش پسوردهای موجود در این فایل مقایسه می کند . هرجا که یک تطابقی را یافت می فهمد که کاربران دیگر هم پسوردشان ”1234″ است . این کار را میتواند برای پسوردهای دیگر هم انجام دهد و ببیند چه کسانی این پسورد را دارند . اما زمانی که salt اضافه می شود دیگر دو پسورد “1234” هم ، در فایل /etc/shadow مقادیر متفاوتی دارند .
- درصورتی که درسیستم عامل لینوکس رمز عبور را فراموش کرده باشیم چه کاری می توان انجام داد ؟ میتوان با یک CD به صورت live ، یک سیستم را ( مثل backtrack) راه اندازی کرد به هاردها و فایل های سیستم عامل ( که پسورد آن را فراموش کرده ایم ) دسترسی پیدا کرد . فایل /etc/shadow را بازکرد و مقدار رمزش را پاک کرد و مقدار جدید قرارداد . چه مقداری باید قرار داد ؟ کاری که می توان انجام داد این است که اگر سیستمی که رمز آن را فراموش کرده ایم CentOs نسخه 5 باشد می توانیم یک سیستم عامل CentOS نسخه 5 را نصب کنیم و ( از آن جایی که مکانیزم ساخت salt در سیستم عامل های یکسان مشخص است ) یک کلمه عبور را وارد کنیم ( یعنی یک user ایجاد کنیم و برای آن پسورد قرار دهیم ) پس مقدار این پسورد را از فایل /etc/shadow برداشته و بر روی سیستم عامل که پسوردش را فراموش کرده ایم قرار دهیم . البته راحتتر از این راه، این است که همان موقع که به فایل /etc/shadow سیستم ، که پسورد آن را فراموش کرده ایم دسترسی پیدا کردیم پسورد را در آن پاک کنیم و اگر پاک کنیم می توانیم مثلا بدون رمز وارد شویم . دقت کنید که سیستم عامل لینوکس از salt استفاده می کند . ممکن است سیستم های زیاد دیگری باشند که از salt استفاده نمی کنند و مستقیما از عبارت مورد نظر ، هش می گیرند . در لینوکس الگوریتم ایجاد salt مشخص است ( نحوه ی ساخت آن مشخص است ).