جدول المحتويات
التجزئة (Hashing) هي واحدة من ركائز الأمن السيبراني. من تأمين كلمات المرور إلى حماية البيانات الحساسة، هناك العديد من الاستخدامات للتجزئة.
كثيرًا ما يتم الخلط بين التجزئة والتشفير. الفرق البسيط هو أن البيانات المجزأة لا يمكن عكسها، بينما يمكن عكس البيانات المشفرة باستخدام مفتاح. لهذا السبب، تستخدم تطبيقات مثل Telegram التشفير بينما تُجزّأ كلمات المرور.
في هذه المقالة، سنتعرف على كيفية تثبيت واستخدام أداة Hashcat. وهي أداة بسيطة لكنها قوية تعمل عبر سطر الأوامر لمساعدتنا على كسر التجزئات.
سنبدأ بشرح كيفية عمل التجزئة بالتفصيل.
ملاحظة: جميع مقالاتنا تهدف إلى أغراض تعليمية.
ما هي تجزئة كلمات المرور؟
التجزئة هي عملية تحويل سلسلة نصوص أبجدية رقمية إلى سلسلة ثابتة الحجم باستخدام دالة تجزئة. دالة التجزئة هي وظيفة رياضية تأخذ السلسلة المدخلة وتولد سلسلة أخرى من النصوص الأبجدية الرقمية.
أشهر خوارزميات التجزئة:
- MD5
- SHA1
- SHA256 للتعرف على المزيد حول خوارزميات التجزئة المختلفة، يمكنك قراءة المقال هنا.
أمثلة:
عند استخدام خوارزمية MD5 لتجزئة السلسلة “Password123″، ستكون النتيجة:
42f749ade7f9e195bf475f37a44cafcb
وعند تجزئة “HelloWorld1234″، ستكون النتيجة:
850eaebd5c4bb931dbb2bbcf7994c021
الفرق بين التجزئة والترميز:
عند ترميز النص “Password123” باستخدام خوارزمية Base64، ستكون النتيجة:
UGFzc3dvcmQxMjM=
- التجزئة: لا يمكن عكسها إلى النص الأصلي.
- الترميز: يمكن عكسه بسهولة.
التجزئة تستخدم لتأمين البيانات الحساسة مثل كلمات المرور، بينما يستخدم الترميز لتبسيط أو إخفاء النصوص.
ما هي Hashcat؟
Hashcat هي أداة قوية لاسترجاع كلمات المرور تساعد في كسر التجزئات المعقدة. تتميز الأداة بالمرونة والغنى بالميزات.
مميزات Hashcat:
- مفتوحة المصدر بالكامل.
- تدعم أكثر من 200 خوارزمية تجزئة.
- متوافقة مع أنظمة Windows وLinux وMac.
- تدعم كسر التجزئات بالتوازي باستخدام معالجات متعددة.
- تتضمن نظام قياس أداء مدمج.
الـ Hashcat أيضًا واحدة من الأدوات القليلة التي تدعم العمل مع وحدات معالجة الرسوميات (GPU). للمزيد حول الفرق بين وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسوميات (GPU)، يمكنك قراءة هذا المقال.
كيفية تثبيت Hashcat
على أنظمة Kali و Parrot OS:
تأتي Hashcat مثبتة مسبقًا.
على أنظمة Ubuntu / Debian:
استخدم الأمر التالي لتثبيتها:
$ apt install hashcat
على أجهزة Mac:
يمكنك استخدام Homebrew:
$ brew install hashcat
لأنظمة التشغيل الأخرى:
يمكنك العثور على إرشادات التثبيت الكاملة هنا.
بعد التثبيت، تحقق من قائمة المساعدة لـ Hashcat باستخدام الأمر:
$ hashcat -h
كيفية استخدام Hashcat
إنشاء تجزئات للعمل عليها
يمكنك استخدام موقع مثل Browserling لإنشاء التجزئات. على سبيل المثال:
- تجزئة MD5 لكلمة “Password123”:
42f749ade7f9e195bf475f37a44cafcb
- تجزئة SHA1 لكلمة “Password123”:
b2e98ad6f6eb8508dd6a14cfa704bad7f05f6fb1
قم بحفظ هذه التجزئات في ملفات md5.txt
و sha1.txt
لاستخدامها لاحقًا.
كسر تجزئة باستخدام Hashcat
الصيغة العامة للأمر:
$ hashcat -m value -a value hashfile wordlist
مثال:
لنفترض أننا نريد كسر تجزئة MD5 باستخدام وضع القاموس. نستخدم القيمة 0
لتحديد نوع التجزئة والقيمة 0
لتحديد وضع الهجوم. الأمر:
$ hashcat -m 0 -a 0 md5.txt rockyou.txt
كسر تجزئة SHA1:
لنوع التجزئة SHA1، نستخدم القيمة 100
. الأمر:
$ hashcat -m 100 -a 0 sha1.txt rockyou.txt
أوضاع الهجوم في Hashcat
هجوم القاموس Dictionary attack (-a 0)
في هذا النوع من الهجوم، يتم استخدام قائمة كلمات مرور معروفة (Wordlist) مثل قائمة Rockyou لإجراء المقارنة مع التجزئة الهدف. تقوم Hashcat بتوليد تجزئات من كلمات المرور في القائمة وتقارنها مع التجزئة المخزنة.
ملحوظة: جودة قائمة كلمات المرور تلعب دورًا كبيرًا في نجاح هذا الهجوم؛ كلما كانت القائمة شاملة، زادت فرص كسر كلمة المرور.
هجوم المزيج Combinator attack (-a 1)
في هجوم المزيج، تقوم Hashcat بمحاولة توليد كلمات مرور عبر الجمع بين كلمات مختلفة من القائمة المتوفرة.
مثال:
إذا كانت القائمة تحتوي على الكلمات التالية: “pass”، “123”، “hello”، فإن Hashcat ستولد التوليفات التالية:
passpass
pass123
passhello
123pass
123123
123hello
hellopass
hello123
hellohello
هذا النوع من الهجوم مفيد إذا كانت لديك فكرة عن الكلمات أو الأرقام التي قد تكون ضمن كلمة المرور.
هجوم القناع Mask attack (-a 3)
هجوم القناع يشبه هجوم القاموس ولكنه أكثر تحديدًا. بدلاً من محاولة جميع الكلمات في القائمة، يمكنك تقليل نطاق البحث بناءً على معلومات معروفة مسبقًا حول كلمة المرور، مثل:
- طول كلمة المرور.
- وجود رموز أو أرقام معينة.
مثال:
إذا كنت تعرف أن كلمة المرور تتكون من 6 أحرف تبدأ بحرف كبير وتنتهي برقم، يمكنك تحديد قناع مخصص لتقليل وقت البحث.
هجوم القناع يمكن أن يوفر الوقت مقارنة بالهجمات العشوائية التقليدية، لكنه يتطلب معرفة مسبقة لتخصيص القناع بشكل فعال. يمكنك التعرف أكثر على هجمات القناع من خلال هذا المقال.
كيفية الدفاع ضد هجمات Hashcat
- استخدام كلمات مرور قوية: يمكنك التحقق من قوة كلمة مرورك باستخدام Have I Been Pwned.
- استخدام الـ Salts: إضافة Salt (سلسلة إضافية) إلى كلمة المرور يجعل الهجمات القائمة على الجداول القوس قزحية (Rainbow Tables) غير فعالة. للمزيد حول كيفية عمل Salts، اقرأ هذا المقال.
الخلاصة
- التجزئة هي طريقة لتأمين البيانات باستخدام دالة رياضية لتحويل النصوص إلى سلسلة ثابتة.
- Hashcat أداة قوية يمكنها كسر كلمات المرور باستخدام أوضاع هجوم مختلفة.
- حماية التجزئات تتطلب كلمات مرور قوية وإضافة Salts لتصعيب الكسر.