سرفصل‌های آموزشی
آموزش OWASP TOP 10
پسورد های مورد علاقه ی هکر ها قسمت اول

پسورد های مورد علاقه ی هکر ها قسمت اول

رمز عبورهای مورد علاقه هکرها

  1. 123456
  2. 123456789
  3. picture1
  4. password
  5. 12345678
  6. 111111
  7. 123123
  8. 12345
  9. 1234567890
  10. Senha

رمز عبور های بالا به ترتیب محبوب ترین و در نتیجه خطرناک ترین رمز عبور های سال 2020 هستند که لیست کامل آن به همراه جزئیات در سایت NordPass قابل مشاهده هست.

همانطور که حدس زدید، در این مقاله می خواهیم در مورد انواع رمز عبور های خطرناک صحبت کنیم.

رمز عبور های پیش فرض در مودم ها و CMS ها

ابتدا سراغ سامانه هایی می رویم که اصولا نام کاربری و رمز عبور پیش فرض دارند و خیلی آسان قابل هک هستند.

در بسیاری از CMS (سیستم مدیریت محتوا) ها و صفحات مدیریت مودم ها همان ابتدای کار نام کاربری و رمز عبور پیش فرض تنظیم می شود و در خیلی از این موارد کاربر اقدام به تغییر رمز عبور پیش فرض نکرده و در نتیجه این سیستم ها بسیار ساده قابل هک و دسترسی هستند.

مثلا سایت زیر را در نظر بگیرید.(مثال هایی که در این مقاله آورده شده تماما هاست های فعالی هستند که همین الان از روی IP شان قابل دسترسی هستند اما بنابر ملاحظات امنیتی IP آن ها نمایش داده نمی شود)

این سایت، صفحه مدیریت یکی از مودم های فعال موجود در یکی از شرکت های داخل کشور هست.

بیشتر مودم ها از قبیل TP-Link، Zoltrix، Zyxel و ... با نام کاربری پیش فرض admin و رمز عبور پیش فرض admin کانفیگ اولیه شده اند. برخی دیگر با نام کاربری پیش فرض Administrator و رمز پیش فرض WepKey config اولیه شده اند.

حالا با این 2 نام کاربری و رمز عبور پیش فرض سراغ این سایت می رویم.

حالت اول را امتحان می کنیم:

مشاهده می کنیم که با کمترین زحمت ممکن صفحه مدیریت مودم Zoltrix این شرکت برای ما باز شد و در نتیجه امکان هر گونه تغییری در تنظیمات این مودم برای ما فراهم شد.

سراغ مثال دیگری می رویم.

سایت زیر صفحه مدیریت یکی از مودم های فعال در یکی از مراکز هند هست.

این مورد را هم با نام کاربری رمز عبور پیش فرض admin، admin امتحان می کنیم:

این دفعه هم مشاهده می کنیم که رمز عبور پیش فرض این مودم تغییر داده نشده و ما می توانیم وارد پنل مدیریت مودم شویم.

همانطور که مشاهده کردید بسیاری از صفحات مدیریت مودم و یا حتی CMS ها با وارد کردن نام کاربری و رمز عبور پیش فرضی که در همان ابتدای پیکربندی آن ها تنظیم شده است، قابل دسترسی هستند.

رمز عبور های admin و WepKey که اشاره شد، تنها 2 حالت بسیار ساده از انواع رمز عبور های رایجی است که اغلب کاربران از آن ها استفاده می کنند و هکر ها هم با استفاده از یک لیست خیلی مفصل که شامل خیلی از این رمز عبور ها می شود دست به حمله Brute Force زده و نهایتا رمز عبور کاربر قربانی را پیدا می کنند.

حمله های Brute Force

حمله های Brute Force به حمله هایی می گویند که در آن هکر با استفاده از نرم افزار هایی مانند Burp Suite تعداد زیادی رمز عبور(مثلا یک میلیون!) برای کاربر وارد می کند و تا جایی پیش می رود که بالاخره رمز عبور وارد شده درست باشد و سد احراز هویت شکسته شود.

سوالی که پیش می آید این که هکر ها این تعداد زیاد رمز عبور را از کجا می آورند؟

در پاسخ باید بگوییم که 2 روش اصلی برای این کار وجود دارد.

اولین روش این است که الگویی را به نرم افزار بدهیم و نرم افزار مطابق آن الگو انواع رشته هایی که می تواند را تولید کرده و به جای رمز عبور کاربر وارد می کند تا جایی که بتواند وارد حساب کاربر شود و به این حالت Key-Space می گویند.

مثلا در حمله زیر می گوییم تمام رمز عبور هایی که طولشان بین 4 و 6 هست و از حروف a,b,c,D,E,F,1,2,3,4 تشکیل می شوند را وارد سایت قربانی بکن تا جایی که سد احراز هویت شکسته شود.

برای انجام این حملات از نرم افزار Burp Suite کمک می گیریم.

این ابزار مطابق با الگوی داده شده، رمز عبور های زیر را تولید کرده و به سایت قربانی تزریق می کند:

اما حالت دوم که در این مقاله بیشتر مدنظر ماست، استفاده از لیست هایی است که شامل تعداد زیادی از رمز عبور های رایج می شوند و به این حالت Dictionary Attack می گویند.

در واقع این لیست ها شامل تعداد بسیار زیاد (مثلا در حدود یک میلیون) رمز عبور هایی هستند که بین کاربران مختلف خیلی رایجند و Brute Force کردن این رمز عبور ها در خیلی از موارد موفقیت آمیز خواهد بود.

برای نمونه یکی از این دیکشنری ها را می توان در سایت github پیدا کرد.

مثلا در این فایل موجود در سایت github فایلی است به نام 38650-password-sktorrent که شامل 38650 تا از رایج ترین رمز عبور های موجود مورد استفاده کاربران هست:

تزریق این رمز عبور ها به سایت قربانی احتمال موفقیت بالایی دارد.

مثلا سایت زیر را در نظر بگیرید:

همانطور که مشاهده می کنید، این سایت یک صفحه لاگین دارد که نقطه خوبی برای حملات Brute Force هست.

می خواهیم از روش دوم Brute Force یعنی Dictionary Attack سد احراز هویت این سایت را بشکنیم.

وارد Burp Suite شده و تنظیم می کنیم که در تمام Request هایی که برای سایت مقصد ایجاد می کند، username را برابر admin قرار بدهد و password را به ترتیب از فایل dictionary بالا بخواند و تزریق کند.

در تصویر بالا تنظیم کردیم که در تمام Request ها username را برابر admin قرار بدهد و در تصویر پایین تنظیم کردیم که password ها را فایل 38650-password-sktorrent بخواند:

حالا سراغ شروع حمله می رویم.

مشاهده می کنیم که تمام این رمز عبور ها به عنوان password کاربری به نام admin وارد سایت شده اند و نتایج زیر حاصل شده است:

نتایج بالا را بر حسب طول (length) خروجی مرتب می کنیم و مشاهده می کنیم که طول نتیجه خروجی یکی از رمز عبور ها متفاوت با بقیه است و در نتیجه نتیجه خروجی آن هم متفاوت با بقیه است:

همانطور که مشاهده می کنید رمز عبور این درخواست عبارت “password” هست.

خروجی دقیق این درخواست را باز کرده و مشاهده می کنیم که خروجی زیر از طرف سایت حاصل می شود:

دیدید که به همین سادگی توانستیم سد احراز هویت سایت بالا را بشکنیم و با استفاده از یک Dictionary list رمز عبور کاربر را حدس زدیم.

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

online-support-icon