خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

من رمز عبور خودم را شکستم تا ببینم چقدر آسان است

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

خلاصه عناوین

  • شکستن رمز عبور چیست؟
  • چگونه رمزهای عبور خودم را با استفاده از HashCat شکستم
  • انجام یک کرک ساده با استفاده از حمله دیکشنری
  • انجام یک ترک پیچیده تر با استفاده از حملات Brute Force Masked
  • چگونه حساب های خود را از شکستن رمز عبور در امان نگه دارید

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

من سه رمز عبور مختلف را در برابر یک ابزار رمزگشایی منبع باز آزمایش کردم تا بفهمم در مورد امنیت رمز عبور چه چیزی واقعاً کار می کند.

شکستن رمز عبور چیست؟

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

هنگامی که یک حساب کاربری با یک سرویس آنلاین ایجاد می کنید، ارائه دهنده معمولا (و امیدواریم) جزئیات ورود شما را در سرور خود رمزگذاری می کند. این کار با استفاده از یک الگوریتم برای ایجاد یک “هش”، یک رشته به ظاهر تصادفی از حروف و اعداد منحصر به فرد برای رمز عبور شما انجام می شود. البته، این در واقع تصادفی نیست – این یک رشته بسیار خاص از کاراکترها است که فقط رمز عبور شما می تواند آن را ایجاد کند – اما برای یک چشم آموزش ندیده، به نظر یک درهم و برهم به نظر می رسد.

تبدیل یک کلمه به هش بسیار سریعتر و آسانتر از “باز کردن” یک هش به یک کلمه است. به این ترتیب، هنگامی که رمز عبور را تنظیم می کنید، سرویسی که وارد آن می شوید رمز عبور شما را از طریق یک هش اجرا می کند و سپس نتیجه را در سرور خود ذخیره می کند.

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

اگر هش رمز عبور بالقوه با هر ورودی در پایگاه داده مطابقت داشته باشد، هکر می داند که هر ضربه با رمز عبور احتمالی که امتحان شده مطابقت دارد.

چگونه رمزهای عبور خودم را با استفاده از HashCat شکستم

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

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

برای این تست ها، پسوردهای زیر را می شکنم:

  1. 123456: رمز عبور کلاسیک و کابوس امنیت سایبری، 123456 رایج ترین رمز عبور در جهان است. NordPass محاسبه کرد که 3 میلیون حساب از 123456 به عنوان رمز عبور خود استفاده کردند که 1.2 میلیون از آنها از حساب های سطح شرکت محافظت می کردند.
  2. Susan48!: رمز عبوری که از الگوهایی پیروی می کند که اکثر کاربران برای ایجاد رمز عبور ایمن استفاده می کنند. این معمولاً کادرهای مربوط به بهداشت اولیه رمز عبور را مشخص می کند، اما همانطور که بعداً بررسی خواهیم کرد، دارای نقاط ضعف مهمی است که می توان از آنها سوء استفاده کرد.
  3. t9^kJ$2q9a: رمز عبوری که با استفاده از مولد Bitwarden ایجاد کردم. قرار بود با استفاده از حروف بالا و پایین، نمادها و اعداد یک رمز عبور 10 کاراکتری ایجاد کند.

اکنون که رمزهای عبور خود را داریم، آنها را با استفاده از MD5 رمزگذاری کردم. اگر گذرواژه‌ها در فایل رمز عبور ذخیره شده باشند، به این صورت ظاهر می‌شوند:

  1. 123456: e10adc3949ba59abbe56e057f20f883e
  2. سوزان48!: df1ce7227606805745ee6cbc644ecbe4
  3. t9^kJ$2q9a: 450e4e0ad3ed8766cb2ba83081c0a625

حالا وقت آن است که آنها را شکست دهیم.

انجام یک کرک ساده با استفاده از حمله دیکشنری

crack-xwe-password-dictionary

برای شروع، بیایید یک حمله دیکشنری انجام دهیم، یکی از رایج ترین روش های حمله به رمزهای عبور. این یک حمله ساده است که در آن فهرستی از رمزهای عبور احتمالی را می‌گیرم، Hashcat آنها را به MD5 تبدیل می‌کنم و می‌بینم که آیا با سه ورودی بالا مطابقت دارد یا خیر. برای این آزمایش، من از فایل “rockyou.txt” به عنوان فرهنگ لغت خود استفاده می کنم که یکی از بزرگترین افشای رمزهای عبور در تاریخ بود.

برای شروع کرک کردن، به پوشه Hashcat is in می روم، روی یک فضای خالی کلیک راست می کنم و Open in Terminal را می زنم. اکنون که ترمینال باز است و روی دایرکتوری Hashcat تنظیم شده است، برنامه Hashcat را با دستور زیر فراخوانی می کنم:

.hashcat -m 0 -a 0 passwordfile.txt rockyou.txt -o results.txt

این چیزی است که دستور انجام می دهد:

  1. .hashcat Hashcat را فرا می خواند.
  2. -m 0: مشخص می کند که از چه رمزگذاری استفاده خواهیم کرد. در این مورد، ما از MD5 استفاده خواهیم کرد که به عنوان شماره 0 در سند راهنمای Hashcat ذکر شده است.
  3. -a 0: حمله ای را که می خواهیم انجام دهیم را تعریف می کند. مستندات راهنمای Hashcat حمله فرهنگ لغت را به عنوان شماره 0 فهرست می کند، بنابراین ما آن را در اینجا فراخوانی می کنیم.
  4. passwordfile.txt rockyou.txt: فایل اول شامل سه رمز عبور رمزگذاری شده است که قبلا تنظیم کردیم. دومی کل پایگاه داده رمز عبور rockyou است.
  5. -o results.txt: این متغیر محل قرار دادن نتیجه را مشخص می کند. در دستور من، رمزهای عبور شکسته شده را در یک فایل TXT به نام “نتایج” قرار می دهد.

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

مطلب مرتبط:   تعدیل کربن در فناوری بلاک چین چیست؟

انجام یک ترک پیچیده تر با استفاده از حملات Brute Force Masked

انجام حمله بروت فورس با Hashcat

حملات دیکشنری زمانی کار می‌کنند که شخصی از رمز عبور مشابهی استفاده می‌کند که در فهرست بزرگ‌تری از رمزهای عبور یافت می‌شود. آنها سریع و آسان انجام می شوند، اما نمی توانند رمزهای عبوری را که در فرهنگ لغت وجود ندارد، بشکنند. به این ترتیب، اگر بخواهیم رمزهای عبور خود را واقعاً آزمایش کنیم، باید از حملات brute force استفاده کنیم.

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

این دستوری است که من برای انجام یک حمله brute force “واقعی” استفاده کردم:

.hashcat -m 0 -a 3 target.txt –افزایش ?a?a?a?a?a?a?a?a?a?a -o output.txt

این چیزی است که دستور انجام می دهد:

  1. -a 3: این متغیر حمله ای را که می خواهیم انجام دهیم را تعریف می کند. مستندات راهنمای Hashcat حملات brute force را به عنوان شماره 3 فهرست می کند، بنابراین ما آن را در اینجا فراخوانی می کنیم.
  2. target.txt: فایل حاوی رمز عبور رمزگذاری شده ای است که می خواهیم آن را بشکنیم.
  3. –increment: این به Hashcat می گوید که تمام رمزهای عبور یک کاراکتر، سپس دو، سپس سه و به همین ترتیب را امتحان کند تا زمانی که راه حل را دریافت کنیم.
  4. ?a?a?a?a?a?a?a?a?a?a: این چیزی است که به آن “ماسک” می گویند. ماسک‌ها به ما اجازه می‌دهند به Hashcat بگوییم از کدام شخصیت‌ها در کدام نقطه استفاده کنیم. هر علامت سوال یک موقعیت کاراکتر را در رمز عبور مشخص می کند، و حرف نشان می دهد که ما در هر نقطه چه چیزی را امتحان کنیم. حرف “a” نشان دهنده حروف بزرگ و کوچک، اعداد و نمادها است، بنابراین این ماسک می گوید: “همه چیز را در هر شکافی امتحان کنید.” این ماسک وحشتناکی است، اما بعداً از آن به خوبی استفاده خواهیم کرد.
  5. -o output.txt: این متغیر محل قرار دادن نتیجه را مشخص می کند. دستور من رمزهای عبور شکسته شده را در یک فایل TXT به نام “output” قرار می دهد.

حتی با این ماسک وحشتناک رمز 123456 در عرض 15 ثانیه شکسته شد. علیرغم اینکه محبوب ترین رمز عبور است، یکی از ضعیف ترین هاست.

مطلب مرتبط:   فایل های TIF و TIFF چیست؟

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

وقتی رمز عبور ایجاد می کنیم، معمولاً عناصر خاصی را در نقاط خاصی قرار می دهیم. می توانید تصور کنید شخصی که پسورد سوزان را می سازد ابتدا از “susan” استفاده کرد اما به او گفته شد که حروف بزرگ و اعداد را اضافه کند. برای راحت‌تر به خاطر سپردن، حرف اول را بزرگ نوشتند و اعداد را به آخر اضافه کردند. سپس، شاید یکی از سرویس‌های ورود به سیستم علامتی را درخواست کرد، بنابراین تنظیم‌کننده رمز عبور ما آن را در انتهای آن چسباند.

به این ترتیب، ما می‌توانیم از ماسک استفاده کنیم تا به Hashcat بگوییم که فقط کاراکترهای خاص را در نقاط خاص امتحان کند تا از میزان قابل پیش‌بینی افراد هنگام ایجاد رمز عبور سوء استفاده کند. در این ماسک، “?u” فقط از حروف بزرگ در آن موقعیت استفاده می کند، “?l” فقط از حروف کوچک استفاده می کند، و “?a” نشان دهنده هر کاراکتری است:

.hashcat -m 0 -a 3 -1 ?a target.txt ?u?l?l?l?l?a?a?a -o output.txt

Hashcat با این ماسک رمز عبور را در سه دقیقه و 10 ثانیه می شکند که بسیار سریعتر از چهار روز است.

رمز عبور Bitwarden ده کاراکتر است و از هیچ الگوی قابل پیش‌بینی استفاده نمی‌کند، بنابراین برای شکستن آن باید یک حمله brute-force بدون هیچ پوششی انجام دهم. متأسفانه، وقتی از Hashcat خواستم این کار را انجام دهد، خطایی داد و گفت که تعداد ترکیب های ممکن از حد صحیح فراتر رفته است. IT Security Guru می گوید رمز عبور Bitwarden سه سال طول می کشد تا شکسته شود، بنابراین برای من به اندازه کافی خوب است.

چگونه حساب های خود را از شکستن رمز عبور در امان نگه دارید

بنابراین، چه چیزی می توانیم از این بیاموزیم؟ عوامل اصلی که من را از شکستن رمز عبور Bitwarden باز می دارد، طول آن (10 کاراکتر) و غیرقابل پیش بینی بودن آن بود. به این ترتیب، هنگام ساخت رمزهای عبور، سعی کنید آنها را تا حد امکان طولانی کنید و نمادها، اعداد و حروف بزرگ را در سراسر رمز عبور بپاشید. این امر مانع از استفاده هکرها از ماسک‌ها برای پیش‌بینی مکان هر عنصر می‌شود و شکستن آن‌ها را بسیار سخت‌تر می‌کند.

ممکن است قبلاً ضرب المثل های رمز عبور قدیمی مانند “از آرایه ای از کاراکترها استفاده کنید” و “تا جایی که ممکن است طولانی کنید” را می شناسید. امیدواریم بدانید که چرا مردم این نکات مفید را توصیه می کنند – آنها تفاوت بین رمز عبور شکسته و ایمن هستند.