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

معرفی انواع روش های هک کلمه عبور (Password)

چند نوع روش هک کردن پسورد وجود دارد؟ تکنیک های هک پسورد چه چیزهایی هستند؟ تفاوت حمله Dictionary و حمله Brute Force در چیست؟ خوب قبلا در توسینسو در خصوص حمله Password Cracking بصورت مفصل صحبت کرده ایم و امروز نوبت به این می رسد که در خصوص تکنیک ها یا روش هایی که ما می توانیم Password ها را کرک کنیم صحبت کنیم. در واقع پسورد کرکینگ فرآیند پیدا کردن پسوردهای واقعی است که در قالبی رمز نگاری شده قرار گرفته اند. این نوع حمله هکری مرسوم ترین و یکی از قدیمی ترین روش های دسترسی پیدا کردن به یک سیستم یا شبکه است.

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

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

تکنیک اول : حمله دیکشنری یا 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 است چون این پایگاه داده مشخص است که فقط عملیات مقایسه و تشخیص را انجام می دهد و خود سیستم معمولا حدسی در مورد پسورد ها نمی زند.

تکنیک دوم : حمله 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 ها می باشد.

تکنیک سوم : حملات ترکیبی یا Hybrid Attacks چه هستند؟

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

بسیاری از افراد با اضافه کردن 123 یا اعدادی به این شکل یا اضافه کردن شماره شناسنامه یا کدملی به آن یک پسورد جدید درست می کنند. در حملات ترکیبی نرم افزار ضمن اینکه حملات Dictionary را انجام می دهد لیستی از اعداد و علامات و بعضا کاراکترهایی که ما مد نظرمان است را به ادامه پسوردهایی که تست می کند اضافه کرده و مجددا تست کرک را انجام می دهد. همانطور که مثال زدیم اگر پسورد یک سیستم به شکل P@ssw0rd بوده است کاربر برای پسورد جدید احتمال دارد که P@ssw0rd123 را تست کند یا به همین شکل ادامه بدهد.

تکنیک چهارم : حملات هجی یا Syllable Attack چه هستند؟

این نوع تکنیک هم یک تکنیک ترکیبی است. ترکیبی از حمله Brute Force و البته حمله Dictionary ، این تکنیک کرک کردن زمانی بیشترین کاربرد را دارد که شما حدس می زنید یک لغت یا حرف قطعا در پسورد وجود دارد ، و بعد از آن تلاش می کنید با استفاده از Dictionary Attack و سایر روش ها آن را کرک کنید.

این نوع تکنیک ممکن است در ظاهر پیچیده به نظر برسد اما بصورت کلی ترکیبی از هر واژه ای است که در یک دیکشنری معمول پیدا می شود و بعضا شما می دانید که چه حروفی ممکن است در ترکیب پسورد وجود داشته باشد. در این نوع حمله شما به نرم افزار پیشنهاد می دهید که بیشتر این حروف را در حدس زدن پسورد تست کند.

تکنیک پنجم : حملات بر اساس قانون یا Rule-Based Attack چه هستند؟

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

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


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

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

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

نظرات