08-08-2014، 23:46
اکثر account ها روی سیستم های کامپیوتری معمولاً متدهای خاصی از دسترس محدود به آن account دارند. هر زمان که قصد دسترسی به یک سیستم داشته باشید باید یک ID صحیح را وارد کرده و با وارد کردن password وارد account خود شوید.اکثر سیستم ها پسوردها را نشان نمی دهند و به جای کاراکتر های واقعی از ستاره یا نقطه استفاده می کنند.
روی اکثر سیستم ها پسورد از میان چندین الگوریتم عبور داده می شود تا به صورت hash (رمز شده) در آید. Hash معمولاً بیشتر از کاراکترهایی است که به عنوان پسورد وارد شده اند . معمولاً hash به صورت غیرقابل برگشت درست می شود یعنی با هیچ الگوریتمی نمی توان hash را به متن اصلی تبدیل کرد.
اکثر سیستم ها در هنگام تعیین هویت پسوردهای ذخیره شده را آشکار نمی کنند و آنها از ابتدا متن وارد شده را hash کرده و با hash ذخیره شده مقایسه می کنند.در رمز نویسی بعضی از الگوریتم ها بهتر از الگوریتم های دیگر برای ساختن hash غیرقابل برگشت هستند.برای crack کردن یک پسورد لازم است شما یک کپی از hash که روی سرور ذخیره شده است بگیرید و بعد الگوریتم را به کار بگیرید تا hash شده متن های شما را تولید کند تا زمانیکه hash شما با hash سرور یکسان شود.
در این هنگام کلمه ای که شما برای تولید hash به کار برده اید همان پسورد سیستم مورد حمله شما می باشد. چون انجام این کار به روش دستی زمان زیادی می برد از اتوماسیون استفاده می شود. نرم افزارهای رایگان زیادی در اینترنت برای شکستن پسوردهای سیستم عامل های مورد مطالعه ما وجود دارد.اگر hash های غیر قابل برگشت نه خود پسوردها بلکه مشتق آنها هستند پس چرا از آنها محافظت می کنیم؟
چون الگوریتمی که آنها را تولید می کند شناخته شده است. یک هکر می تواند با برنامه های مخصوص این کار ، به سادگی پسوردهای ممکن را رمز کرده و آنها را با پسوردهای داخل hash مقایسه کند تا زمانیکه پسورد را پیدا کند.
2 روش برای شکستن پسورد بکار برده می شود : روش dictionary و روش Boute force معمولا hash ها در قسمتی از سیستم ذخیره می شوند که امنیت ویژه ای دارد تا دسترسی کراکرهای مستعد به آن محدود شود.
● منظور از شکستن پسورد به روش dictionary چیست؟
یک برنامه شکننده پسورد به سادگی لیستی از dictionary را می گیرد و هر لحظه یک لغت را رمز کرده و با hash سیستم مقایسه می کند تا زمانیکه هر 2 hash برابر شوند و پسورد شکسته شود. در این هنگام لغتی از dictionary که آزمایش شده است همان پسورد سیستم است.بعضی از این برنامه ها می توانند با به کارگیری فیلترهای مخصوص کلمات را دستکاری کنند.قواعد این فیلترها به شما اجازه می دهد مثلاً (rnazari) را به (Rnazar1) تغییر دهید. استفاده از این فیلترهای باعث می شوند که شما بتوانید از یک لیست کوچک لیستی بزرگ ساخته و آزمایش کنید .
یک برنامه شکننده پسورد به سادگی لیستی از dictionary را می گیرد و هر لحظه یک لغت را رمز کرده و با hash سیستم مقایسه می کند تا زمانیکه هر 2 hash برابر شوند و پسورد شکسته شود. در این هنگام لغتی از dictionary که آزمایش شده است همان پسورد سیستم است.بعضی از این برنامه ها می توانند با به کارگیری فیلترهای مخصوص کلمات را دستکاری کنند.قواعد این فیلترها به شما اجازه می دهد مثلاً (rnazari) را به (Rnazar1) تغییر دهید. استفاده از این فیلترهای باعث می شوند که شما بتوانید از یک لیست کوچک لیستی بزرگ ساخته و آزمایش کنید .
بهترین نوع شناخته شده از این فیلترهای خارق العاده در برنامه های crack که برای محیط Unix طراحی شده اند موجود است. قواعد این فیلترها کلا شناخته شده و به تازگی در برنامه هایی که برای nt طراحی شده اند گنجانیده شده است.اگر برنامه crack شما چنین قابلیتی ندارد شما می توانید با برنامه therions password utility که برای محیط dos طراحی شده است می تواند با روش های زیادی یک لیست کوچک از کلمات را از شما گرفته و به یک لیست خیلی بزرگ تبدیل کند و سپس شما می توانید آنرا به کار بگیرید.
● منظور از شکستن پسورد به روش Brute force چیست؟
یک برنامه crack به روش Brute force به سادگی و با قواعدی خاص لغاتی را به صورت اتوماتیک ساخته و با hash مقایسه می کند. فرق این روش با روش قبلی در این است که تمام لغات به صورت اتوماتیک ساخته می شوند. از دیدگاه یک هکر این روش خیلی وقت گیر بوده و قسمت زیادی از قدرت cpu را هدر می دهد.خیلی از برنامه های این حملات تنظیماتی را به شما می دهند تا با این تنظیمات در زمان صرف شده و قدرت cpu صرفه جویی کنید. مثلاً می توانید طول پسورد ساخته شده یا کاراکترهایی که برای ساختن لغات به کار برده خواهد شد را معین کنید.
یک برنامه crack به روش Brute force به سادگی و با قواعدی خاص لغاتی را به صورت اتوماتیک ساخته و با hash مقایسه می کند. فرق این روش با روش قبلی در این است که تمام لغات به صورت اتوماتیک ساخته می شوند. از دیدگاه یک هکر این روش خیلی وقت گیر بوده و قسمت زیادی از قدرت cpu را هدر می دهد.خیلی از برنامه های این حملات تنظیماتی را به شما می دهند تا با این تنظیمات در زمان صرف شده و قدرت cpu صرفه جویی کنید. مثلاً می توانید طول پسورد ساخته شده یا کاراکترهایی که برای ساختن لغات به کار برده خواهد شد را معین کنید.
● کدام روش برای crack کردن بهترین است؟
جواب این سوال مرتبط است با هدف شما ، برنامه crack ای که به کار می برید، سیستم عامل سرور هدف چند فایل dictionary با طول های متفاوت مثلاً 1،2،3،4،5،6،7،8 و . . . از اینترنت بگیرید بعد این فایلها را گسترش داده و فیلترهایی روی آنها اعمال کنید ، تا هر چه جامع تر شود و در اکثر موارد انتخاب نخست تان روش dictionary باشد اگر با این همه لغات باز هم نتوانستید یک hash را بشکنید .
جواب این سوال مرتبط است با هدف شما ، برنامه crack ای که به کار می برید، سیستم عامل سرور هدف چند فایل dictionary با طول های متفاوت مثلاً 1،2،3،4،5،6،7،8 و . . . از اینترنت بگیرید بعد این فایلها را گسترش داده و فیلترهایی روی آنها اعمال کنید ، تا هر چه جامع تر شود و در اکثر موارد انتخاب نخست تان روش dictionary باشد اگر با این همه لغات باز هم نتوانستید یک hash را بشکنید .
دیگر متاسفانه باید از روش Brute force استفاده کرده و سیستم خود را چند روزی مشغول این کار کنید.برای بالا بردن امنیت پسوردها بعضی از الگوریتم ها از salt استفاده می کنند . این عمل باعث می شود پیچیدگی پسورد زیادتر و شکستن آن سخت تر شود. Salt ها معمولاً 2 تا 8 بایت درازا دارند و با الگوریتم خود باعث می شوند که ابهام hash غیرقابل برگشت بیشتر شود. اکثر سیستم عامل ها این روش را پوشش می دهند بجز nt . اگر 2 پسورد عین هم با این الگوریتم hash شود hash ها عین هم نخواهند بود و در این روش 4096 نوع hash از یک پسورد می توان ساخت و کار شکستن نیز به همان اندازه سخت تر خواهد شد. با همه این احوال salt نیز امنیت صد در صد پسورد را گارانتی نمی کند.
● حمله برای شکستن پسورد چه خطراتی دارد؟
یکی از خطرات این حمله محکوم بودن شما از نظر قوانین است البته فعلا در کشور ما چنین قانونی وجود ندارد و فقط در شرایطی شما را دستگیر می کنند که شما به یکی از سرورهای دولتی، اداری، یا بانکی حمله کرده باشید. البته اگر نوع اشتراک شما کارتی نباشد و شماره تلفن تان را مخفی نکرده باشید در غیر اینصورت احتمال اینکه کسی شما را ردیابی کند کم است.اگر شما نتوانید فایل hash را کپی کنید شاید دلتان بخواهد که به صورت remote این حمله را پایه ریزی کنید که در این صورت یک اشکال پیش خواهد آمد.
اکثر سرورها طوری تنظیم می شوند که اگر شما چندین بار پسورد را اشتباهی وارد کردید دسترسی آن account را برای مدت زمانی که از پیش تعریف شده است قطع می کنند.اما این روش خود یک ایرادی دارد و آن اینکه سرور در این حالت دچار حمله Dos می شود.
یکی از خطرات این حمله محکوم بودن شما از نظر قوانین است البته فعلا در کشور ما چنین قانونی وجود ندارد و فقط در شرایطی شما را دستگیر می کنند که شما به یکی از سرورهای دولتی، اداری، یا بانکی حمله کرده باشید. البته اگر نوع اشتراک شما کارتی نباشد و شماره تلفن تان را مخفی نکرده باشید در غیر اینصورت احتمال اینکه کسی شما را ردیابی کند کم است.اگر شما نتوانید فایل hash را کپی کنید شاید دلتان بخواهد که به صورت remote این حمله را پایه ریزی کنید که در این صورت یک اشکال پیش خواهد آمد.
اکثر سرورها طوری تنظیم می شوند که اگر شما چندین بار پسورد را اشتباهی وارد کردید دسترسی آن account را برای مدت زمانی که از پیش تعریف شده است قطع می کنند.اما این روش خود یک ایرادی دارد و آن اینکه سرور در این حالت دچار حمله Dos می شود.