اختبرت كسر كلمات السر الخاصة بي: هذا ما تعلمته عن أمانها

أصبحت كلمات السر خط الدفاع الأول لحماية حساباتك الرقمية، لكن هل تساءلت يومًا عن مدى سهولة اختراقها؟ إنشاء كلمات سر قوية وفريدة ليس مُجرد نصيحة عابرة، بل ضرورة لتأمين بياناتك.

للتأكد من فعاليَّة كلمات السر التي أستخدمها، قررت تجربة اختراق كلمات السر الخاصة بي باستخدام أداة مفتوحة المصدر. قمت باختبار ثلاث كلمات سر مُختلفة لفهم كيفية عمل الهجمات الشائعة واكتشاف العوامل التي تجعل كلمة السر أكثر أمانًا في مواجهة المُتسللين.

في هذا المقال، أشاركك النتائج التي توصلت إليها والنصائح العملية لتحسين أمان كلمات السر الخاصة بك والحفاظ على بياناتك في مأمن.

اختبرت كسر كلمات السر الخاصة بي: هذا ما تعلمته عن أمانها

ما الذي يعنيه كسر كلمة السر؟

ما الذي يعنيه كسر كلمة السر؟

عندما تُنشئ حسابًا باستخدام خدمة عبر الإنترنت، يقوم المُزوِّد عادةً (ونأمل أن يتم ذلك) بتشفير تفاصيل تسجيل الدخول الخاصة بك على خادمه. يتم ذلك باستخدام خوارزمية لإنشاء “تجزئة”، وهي عبارة عن سلسلة عشوائية من الأحرف والأرقام الفريدة لكلمة سرك. بالطبع، إنها ليست عشوائية في الواقع — إنها سلسلة مُحددة جدًا من الأحرف التي يُمكن لكلمة السر التي تستخدمها فقط إنشاؤها — ولكن بالنسبة للعين غير المُدربة، تبدو وكأنها عبارة عن فوضى.

إنَّ تحويل كلمة إلى تجزئة أسرع وأسهل بكثير من “تفكيك” التجزئة إلى كلمة مرة أخرى. وبالتالي، عندما تقوم بتعيين كلمة السر، تقوم الخدمة التي تُسجل الدخول إليها بتشغيل كلمة السر من خلال عملية التجزئة ثم تخزين النتيجة على خادمها.

إذا تم تسريب ملف كلمة السر المُحدد، فسيُحاول المُتسللون معرفة محتوياته باستخدام كسر كلمة السر. ولأنَّ تشفير كلمة السر أسرع من فك تشفيرها، فسيقوم المُتسللون بإعداد نظام يأخذ كلمات السر المُحتملة كمدخلات، ويقوم بتشفيرها باستخدام نفس الطريقة التي يستخدمها الخادم، ثم يقارن النتيجة بقاعدة بيانات كلمات السر.

إذا تطابقت قيمة التجزئة لكلمة السر المُحتملة مع أي إدخالات في قاعدة البيانات، فإنَّ المتسلل يعرف أن كل نتيجة تطابق كلمة السر المُحتملة التي تم تجربتها.

كيف اخترقت كلمات السر الخاصة بي باستخدام HashCat

حسنًا، فلنبدأ في كسر بعض كلمات السر التي أنشأتها لمعرفة مدى سهولة ذلك. للقيام بذلك، سأستخدم Hashcat، وهو تطبيق مجاني ومفتوح المصدر لكسر كلمات السر مُتاح لأي شخص.

في هذه الاختبارات، سأكسر كلمات السر التالية:

  1. 123456: كلمة مرور كلاسيكية وكابوس للأمن السيبراني، 123456 هي كلمة السر الأكثر استخدامًا في العالم. أحصت NordPass أنَّ 3 ملايين حساب استخدموا 123456 ككلمة سر، 1.2 مليون منها كانت لحماية الحسابات على مستوى الشركات.
  2. Susan48!: كلمة سر تتبع الأنماط التي يستخدمها معظم المستخدمين لإنشاء كلمة سر آمنة. عادةً ما تُلبي هذه الكلمة المتطلبات الأساسية لنظافة كلمة السر، ولكن كما سنستكشف لاحقًا، فإنها تحتوي على بعض نقاط الضعف الحرجة التي يُمكن استغلالها.
  3. t9^kJ$2q9a: كلمة سر أنشأتها باستخدام مُولد Bitwarden. تم ضبطه لتوليد كلمة سر بطول 10 أحرف باستخدام أحرف كبيرة وصغيرة ورموز وأرقام.

الآن بعد أن حصلنا على كلمات السر الخاصة بنا، قمتُ بتشفيرها باستخدام MD5. هكذا ستظهر كلمات السر إذا كانت في ملف كلمات سر محفوظ على الخادم:

  1. 123456: e10adc3949ba59abbe56e057f20f883e
  2. Susan48!: df1ce7227606805745ee6cbc644ecbe4
  3. t9^kJ$2q9a: 450e4e0ad3ed8766cb2ba83081c0a625

الآن، حان الوقت لكسرها.

إجراء كسر بسيط باستخدام هجوم القاموس

إجراء كسر بسيط باستخدام هجوم القاموس

لنبدأ، فلنقم بهجوم القاموس، وهو أحد أكثر الطرق شيوعًا لمهاجمة كلمات السر. وهو هجوم بسيط حيث أنشئ قائمة بكلمات السر المُحتملة، وأطلب من Hashcat تحويلها إلى MD5، وأرى ما إذا كان أي منها يتطابق مع الإدخالات الثلاثة أعلاه. بالنسبة لهذه التجربة، أستخدم ملف “rockyou.txt” كقاموس، والذي كان أحد أكبر تسريبات كلمات السر في التاريخ.

لبدء عملية الاختراق، أذهب إلى المجلد الذي يوجد به Hashcat، وأنقر بزر الماوس الأيمن على مساحة فارغة، ثم أضغط على “فتح في Terminal”. الآن بعد أن تم فتح 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 يسمى “results”.

على الرغم من حجم rockyou الضخم، فقد قام Hashcat بفحص المُحتويات جميعًا في ست ثوانٍ. في ملف النتائج، قال Hashcat إنه تمكن من اختراق كلمة السر 123456، لكن كلمات السر الخاصة بـ Susan و Bitwarden ظلت غير مخترقة. وذلك لأنَّ كلمة السر 123456 تم استخدامها بواسطة شخص آخر في ملف rockyou.txt، لكن لم يستخدم أي شخص آخر كلمات السر الخاصة بـ Susan أو Bitwarden، مما يعني أنها كانت فريدة بما يكفي للبقاء في مأمن أمام هذا الهجوم.

تنفيذ اختراق أكثر تعقيدًا باستخدام هجمات القوة الغاشمة والأقنعة

تنفيذ اختراق أكثر تعقيدًا باستخدام هجمات القوة الغاشمة والأقنعة

تعمل هجمات القاموس عندما يستخدم شخص ما نفس كلمة السر الموجودة في قائمة أكبر من كلمات السر. إنها سريعة وسهلة التنفيذ، لكنها لا تستطيع اختراق كلمات السر غير الموجودة في القاموس. وبالتالي، إذا أردنا اختبار كلمات السر الخاصة بنا حقًا، فنحن بحاجة إلى استخدام هجمات القوة الغاشمة.

إذا كانت هجمات القاموس تتعلق بأخذ قائمة مُحددة مسبقًا وتحويلها واحدة تلو الأخرى، فإنَّ هجمات القوة الغاشمة تفعل الشيء نفسه ولكن مع كل مجموعة مُمكنة من التركيبات. إنها أصعب في التنفيذ وتستغرق وقتًا أطول، لكنها ستكسر أي كلمة سر في النهاية. وكما سنرى قريبًا، يُمكن أن تستغرق هذه الاحتمالية وقتًا طويلاً جدًا في بعض الأحيان.

هذا هو الأمر الذي استخدمته لتنفيذ هجوم القوة الغاشمة “الحقيقي”:

.\hashcat -m 0 -a 3 target.txt --increment ?a?a?a?a?a?a?a?a?a?a -o output.txt

هذا ما يفعله الأمر:

  • a 3: يُحدد هذا المُتغيِّر الهجوم الذي نُريد تنفيذه. تسرد وثائق تعليمات Hashcat هجمات القوة الغاشمة بالرقم 3، لذا نستدعيها هنا.
  • target.txt: الملف الذي يحتوي على كلمة السر المُشفرة التي نُريد اختراقها.
  •  increment: يُخبر هذا Hashcat بتجربة جميع كلمات السر التي تتكون من حرف واحد، ثم حرفين، ثم ثلاثة، وهكذا حتى نحصل على الحل.
  • ?a?a?a?a?a?a?a?a?a?a?a?a?a: هذا ما يُسمى “القناع”. تُتيح لنا الأقنعة إخبار Hashcat بالأحرف التي يجب استخدامها في أي مكان. كل علامة استفهام تُشير إلى موضع حرف في كلمة المرور، والحرف يحدد ما نحاول فعله في كل موضع. يمثل الحرف “a” الأحرف الكبيرة والصغيرة والأرقام والرموز، لذا فإنَّ هذا القناع يقول، “جرب كل شيء في كل خانة”. إنه قناع فظيع، لكننا سنستخدمه بشكل جيد لاحقًا.
  • -o output.txt: يُحدد هذا المُتغيِّر المكان الذي نضع فيه النتيجة. يضع الأمر الخاص بي كلمات السر المكسورة في ملف TXT يسمى “output”.

حتى مع هذا القناع الرهيب، تم كسر كلمة المرور 123456 في غضون 15 ثانية. على الرغم من كونها كلمة السر الأكثر شيوعًا، إلا أنها واحدة من أضعفها.

كانت كلمة السر “Susan48!” أفضل بكثير — قال الكمبيوتر الخاص بي إن الأمر سيستغرق أربعة أيام لكسرها بشكل أعمى. ومع ذلك، كانت هناك مشكلة واحدة. هل تتذكر عندما قلت إن كلمة سر Susan بها بعض العيوب الحرجة؟ أكبرها هو أنَّ كلمة السر مُصممة بشكل يمكن التنبؤ به.

عندما نُنشئ كلمة سر، نضع عادةً عناصر مُحددة في أماكن مُحددة. يمكنك أن تتخيل أنَّ الشخص الذي يُنشئ كلمة السر هو سوزان والذي حاول في البداية استخدام “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 كلمة السر في ثلاث دقائق وعشر ثوانٍ، وهو أسرع كثيرًا من أربعة أيام.

إنَّ كلمة السر الذي أنشأها Bitwarden تتكون من عشرة أحرف ولا تستخدم أي أنماط يُمكن التنبؤ بها، لذا يتعين عليّ القيام بهجوم القوة الغاشمة دون أي قناع لكسرها. لسوء الحظ، عندما طلبت من Hashcat القيام بذلك، ألقى خطأً، قائلاً إن عدد التركيبات المحتملة تجاوز حد الأعداد الصحيحة. يقول IT Security Guru إن كلمة سر Bitwarden ستستغرق ثلاث سنوات لكسرها، لذا فهذا جيد بما فيه الكفاية بالنسبة لي.

كيفية حماية حساباتك من كسر كلمة السر

إذن، ما الذي يُمكننا تعلمه من كل هذا؟ كانت العوامل الرئيسية التي تمنعني من كسر كلمة سر Bitwarden هي طولها (10 أحرف) وعدم القدرة على التنبؤ بها. وبالتالي، عند إنشاء كلمات سر، حاول جعلها طويلة قدر الإمكان وأضف الرموز والأرقام والأحرف الكبيرة في جميع أنحاء كلمة السر. هذا يمنع المُتسللين من استخدام الأقنعة للتنبؤ بمكان كل عنصر ويجعل اختراقها أكثر صعوبة.

ربما تعرف بالفعل أقوال قديمة حول كلمات السر مثل “استخدم مجموعة من الأحرف” و”اجعلها طويلة قدر الإمكان”. نأمل أن تعرف سبب توصية الأشخاص بهذه النصائح المفيدة — فهي تشكل الفرق بين كلمة سر مخترقة بسرعة وأخرى آمنة. يُمكنك الإطلاع الآن على كيف جعلت هذه التعديلات البسيطة كلمات السر الخاصة بي أكثر أمانًا وسهولة.

زر الذهاب إلى الأعلى