قبلا در خصوص حمله Password Cracking بصورت مفصل صحبت کرده ایم و امروز نوبت به این می رسد که در خصوص تکنیک ها یا روش هایی که ما می توانیم Password ها را کرک کنیم صحبت کنیم. در واقع پسورد کرکینگ فرآیند پیدا کردن پسوردهای واقعی است که در قالبی رمز نگاری شده قرار گرفته اند. این نوع حمله هکری مرسوم ترین و یکی از قدیمی ترین روش های دسترسی پیدا کردن به یک سیستم یا شبکه است. از قدیم تا به حال روش های پسورد کرکینگ بسیار تغییر کرده اند ، در زمان های قدیم و در واقع در پسورد کرکنیگ کلاسیک ما فقط به حدس زدن و ترکیب کردن چند پسورد و همچنین مهندسی اجتماعی کفایت می کردیم اما امروزه تکنیک های بسیار متنوع تری برای اینکار وجود دارد که امروز به معرفی آنها می پردازیم. این تکنیک ها به 5 دسته بندی تقسیم می شوند که هر کدام را بصورت مفصل امروز توضیح خواهیم داد . 

تکنیک اول در Password Cracking : حمله دیکشنری یا Dictionary Attack


خوب اولین نوع حمله پسورد کرکینگ به نام حمله دیکشنری یا Dictionary Attack معروف است . وقتی صحبت از دیکشنری می شود یعنی شما یک فایل حاوی لغاتی دارید که بصورت معمول در هر زبان استفاده می شوند برای مثال اگر شما قرار است پسوردهایی را کرک کنید که مطمئن هستید کاربر آنها فارسی زبان است باید از فایل دیکشنری استفاده کنید که لغات و کلمات آن به زبان فارسی باشد تا احتمال کرک کردن پسورد برای شما بالا برود. این فایل که بعضا ممکن است شامل میلیون ها کلمه مختلف باشد در قالب ورودی به یک برنامه داده می شود و برنامه به ترتیب شروع می کند به کرک کردن پسورد مورد نظر ، تکنیک حمله دیکشنری هم تقریبا شبیه به Brute Force است که در ادامه در خصوص آن هم صحبت خواهیم کرد اما نکته اینجاست که معمولا حملات Brute Force دارای فایل پایگاه داده نیستند اما دیکشنری حمله ای است که ابتدا پایگاه داده خودش را بررسی می کند. این نوع حمله نمی تواند در سیستم هایی که از پسوردهای موقتی و لحظه ای استفاده می کنند ، استفاده شود. توجه کنید که مکانیزم کاری ساده است ، ما نوع الگوریتم رمزنگاری Hash پسوردی که داریم را تشخیص می دهیم ، برنامه بصورت تک تک تمامی لغات موجود در دیکشنری را به همان الگوریتم تبدیل کرده و سپس با Hash موجود مقایسه می کند و به محض مشابه بودن Hash ها پسورد را پیدا می کند. 

تکنیک Dictionary Attack در دو حالت قابل استفاده است ، در ابتدا همانطور که گفتیم برای خارج کردن پسورد Plaintext از حالت Ciphertext ( یعنی از حالت رمزنگاری شده به حالت غیر رمزی ) و همچنین در زمانیکه شما می خواهید سیستم های احراز هویتی را دور بزنید و به یک سیستم Login کنید که معمولا Dictionary Attack در این حالت بصورت حدس زدن پسوردها انجام می شود که ما به آن Password Guessing هم می گوییم. برای اینکه احتمال موفقیت حملات Dictionary را افزایش بدهیم چند کار می توانیم انجام بدهیم ، شما باید یک Password List یا یک Dictionary File بسیار قوی شامل لغات و کلمات اکثر زبان ها را داشته باشید از جمله کلمات و مواردی که فکر می کنید در مورد سوژه مورد نظر به درد شما می خورد برای مثال اگر کسی در دانشگاه آزاد تدریس می کند ممکن است شماره هایی مثل شماره کلاس ، شماره استاد ، شماره دوست دختر ، شماره پرونده ، شماره شناسنامه یا کارت ملی و ... در این لیست به شما بسیار کمک کند. دومین تکنیک این است که لغاتی ترکیبی در لیست لغات خود داشته باشید برای مثال ترکیبی از شماره شناسنامه و اسم کوچک و اسم پدر و مادر و بچه و ... می تواند در ترکیب کردن لغات و به دست آوردن یک پسورد جدید برای تست بسیار مفید باشد. Dictionary Attack با استفاده از نرم افزارها معمولا سریعتری نوع حمله Password Cracking است چون این پایگاه داده مشخص است که فقط عملیات مقایسه و تشخیص را انجام می دهد و خود سیستم معمولا حدسی در مورد پسورد ها نمی زند. 

تکنیک دوم در Password Cracking : حمله Brute Force


اگر در فیلم های سینمایی دقت کرده باشید هکرها در کنار یک مانیتور هستند که مرتب اعداد و ارقام عجیب و غریب را تست می کند و در نهایت به شما پسورد یا رمز عبور را نمایش می دهد ! هر چند که این نمایش تلوزیونی چندان واقعی نیست اما حمله Brute Force هم چیزی شبیه به این حرکت است. در حملات Brute Force پسوردها باید از الگوریتم های رمزنگاری قوی و رمزهای عبور دارای پیچیدگی بیشتری استفاده کنند تا بتوانند از دست اینگونه حملات کمی در امان باشند. مکانیزم کاری حمله Brute Force به این شکل است که هرگونه احتمالی که در اعداد و علامات و حروف و ... وجود دارد را از ابتدا شروع به تست و آزمایش می کند و طبیعتا به محض اینکه یک کاراکتر یا چند کاراکتر ترکیب مشابهی از Hash پسورد به ما نشان بدهند پسورد به دست می آید. Brute Force به زبان ساده یعنی تست کردن تک تک احتمالات برای وجود یک پسورد ، این نوع حمله از نوع حملات قدیمی محسوب می شود اما دقت کنید که برای انجام حملات Brute Froce قطعا قدرت پردازشی CPU زیادی نیاز است و به همین دلیل است که این روزها بحث بر سر سرعت کامپیوترهایی که برای هک کردن پسوردها استفاده می شوند بسیار زیاد است. 

حملات Brute Froce به شدت به نوع الگوریتم و تعداد Bit های مورد استفاده در الگوریتم حساس هستند و هر چقدر طول Bit ها و همچنین نوع الگوریتم بیشتر و جدیدتر باشد شکستن کلید رمزنگاری دشوارتر خواهد شد. جالب است بدانید که امروزه کامپیوترهایی در دنیا بصورت شبکه ای برای انجام حملات Brute Force بر روی Hash پسوردها وجود دارند که بصورت شبکه ای ( چیزی مثل شبکه Torrent ) از قدرت پردازشی خودشان برای کرک کردن پسورده استفاده می کنند. چند نکته مهم که در خصوص حملات Brute Force نباید فراموش کنید این است که : این نوع حملات به شدت زمانبر هستند ، تقریبا تمامی پسوردهای ممکن از طریق Brute Force کردن قابل شناسایی هستند ، حملات بر روی NTLM Hash ها با توجه به مکانیزم الگوریتم به کار رفته بسیار سخت تر از حملات بر روی LM Hash ها می باشد.

منبع : infosecisland.com
ادامه دارد ... 

تست نفوذ به وبسایت - تنها در رادیب - امنیت به همراه خود آرامش به ارمغان می آورد.

آیا این پاسخ به شما کمک کرد؟ 21 کاربر این را مفید یافتند (31 نظرات)