أداة Hashcat
أسرع أداة لكسر الهاشات في العالم
دليل شامل لاستخدام Hashcat في Penetration Testing — من تحديد نوع الهاش إلى تنفيذ هجمات Dictionary وMask وRule-Based بقوة الـ GPU
ما هي Hashcat؟
Hashcat هي أداة كسر كلمات المرور Offline تُعتبر الأسرع في العالم. تعمل على تحليل الهاشات المحفوظة — أي الـ Hash المستخرجة من قواعد البيانات، ملفات النظام، أو الشبكة — دون أي تفاعل مباشر مع الخدمة الحية.
تم إطلاقها كأداة مفتوحة المصدر تحت رخصة MIT، وأصبحت المعيار الذهبي في مجال Password Recovery والـ Penetration Testing. الإصدار الحالي هو v7.1.2 ويدعم أكثر من 300 خوارزمية هاش.
ما يميّزها عن جميع المنافسين هو استخدامها GPU Acceleration (عبر CUDA لـ NVIDIA وOpenCL لـ AMD وApple Metal)، مما يجعلها قادرة على معالجة مليارات المحاولات في الثانية على الهاشات البسيطة مثل MD5.
كيف تعمل؟ — Offline vs Online
الفرق الجوهري بين Hashcat وأدوات مثل Hydra هو طريقة العمل:
الحصول على الهاش
أولاً تحتاج للهاش نفسه — يُستخرج من قواعد بيانات مخترقة، ملفات SAM/NTDS في Windows، /etc/shadow في Linux، أو عبر هجمات MitM على الشبكة.
تحديد نوع الهاش
تستخدم أدوات مثل hashid أو hash-identifier لمعرفة نوع الهاش (MD5، SHA1، NTLM...) ثم تحدد رقم الـ -m المناسب.
اختيار وضع الهجوم
تختار استراتيجية الكسر: Dictionary، Brute Force، Mask، أو Rule-Based — كل وضع مناسب لحالة معينة.
تشغيل الـ GPU
Hashcat تُشغّل الـ GPU بأقصى طاقته لتوليد ومقارنة الملايين أو المليارات من المحاولات في الثانية الواحدة.
عرض النتيجة
عند العثور على التطابق، تعرضه بصيغة hash:password وتحفظه في ملف الـ Output أو potfile.
التثبيت
Hashcat مثبتة مسبقًا في Kali Linux، لكن يمكن تثبيتها على أي نظام:
الصياغة الأساسية
جدول المعاملات الكاملة
| الـ Flag | الوصف | مثال |
|---|---|---|
| -m NUM | نوع الهاش (Hash-Type) | -m 0 (MD5) |
| -a NUM | وضع الهجوم (Attack-Mode) | -a 0 (Dictionary) |
| -o FILE | حفظ النتائج في ملف | -o cracked.txt |
| --show | عرض الهاشات المكسورة من الـ Potfile | --show |
| --left | عرض الهاشات غير المكسورة | --left |
| -r FILE | تطبيق Rules على الـ Wordlist | -r rules/best64.rule |
| -w NUM | مستوى الـ Workload (1-4) | -w 3 |
| -d NUM | تحديد Device معين (GPU/CPU) | -d 1 |
| -O | Optimized Kernel (أسرع لكن يحدّ الـ Password Length) | -O |
| --force | تجاهل التحذيرات (تجنّب استخدامه) | --force |
| --status | تفعيل تحديث تلقائي للحالة | --status |
| --status-timer | الوقت بين كل تحديث (ثانية) | --status-timer 10 |
| --session NAME | تسمية الجلسة لإمكانية استعادتها | --session crack01 |
| --restore | استكمال جلسة سابقة منقطعة | --restore |
| -i | Increment — زيادة طول الـ Mask تدريجياً | -i |
| --increment-min | الحد الأدنى للطول عند Increment | --increment-min 4 |
| --increment-max | الحد الأقصى للطول عند Increment | --increment-max 8 |
| -1 CHARSET | Custom Charset رقم 1 | -1 ?l?d |
| -2 CHARSET | Custom Charset رقم 2 | -2 ?u?s |
| --potfile-path | تحديد مسار ملف الـ Potfile | --potfile-path my.pot |
| --potfile-disable | إيقاف حفظ النتائج في Potfile | --potfile-disable |
| -b | Benchmark — قياس أداء الجهاز | -b -m 0 |
| -I | عرض معلومات الـ OpenCL/CUDA Devices | -I |
| --username | تجاهل الـ Username في ملفات user:hash | --username |
| -j RULE | تطبيق Rule مفردة على الـ Left side | -j 'c' |
| -k RULE | تطبيق Rule مفردة على الـ Right side | -k '$1' |
أهم أنواع الهاشات (-m)
الرقم بعد -m يحدد خوارزمية الهاش. إليك أكثرها استخدامًا في Pentesting:
| -m | اسم الهاش | مثال على الهاش | السرعة | أين تجده؟ |
|---|---|---|---|---|
| 0 | MD5 | 5f4dcc3b5aa765d61... | ⚡ سريع جداً | Web Apps, قواعد بيانات |
| 100 | SHA1 | 5baa61e4c9b93f3f... | ⚡ سريع | Git commits, Web Apps |
| 1400 | SHA2-256 | 5e884898da280471... | ⚡ سريع | Linux passwords, APIs |
| 1700 | SHA2-512 | b109f3bbbc244eb8... | ⚡ متوسط | Linux /etc/shadow |
| 1000 | NTLM | 8846F7EAEE8FB117... | ⚡ سريع جداً | Windows SAM / Active Directory |
| 3000 | LM | AAD3B435B51404EE... | ⚡ سريع جداً | Windows قديم |
| 5500 | NetNTLMv1 | u4-netntlm:: | ⚡ سريع | SMB / Responder captures |
| 5600 | NetNTLMv2 | admin::N46iSNekpT:... | ⚡ متوسط | SMB / Responder captures |
| 13100 | Kerberoast (TGS) | $krb5tgs$23$*user*... | ⚡ متوسط | Active Directory Kerberoasting |
| 18200 | AS-REP Roast | $krb5asrep$23$... | ⚡ متوسط | Active Directory |
| 400 | phpass (WordPress) | $P$B... | 🐢 بطيء | WordPress, phpBB |
| 3200 | bcrypt | $2a$05$... | 🐢 بطيء جداً | Modern Web Apps |
| 22000 | WPA-PBKDF2-PMKID | WPA*01*... | 🐢 بطيء | WiFi Handshakes |
| 11300 | Bitcoin Wallet | $bitcoin$... | 🐢 بطيء جداً | Crypto Wallets |
| 7z | 7-Zip Archive | $7z$... | 🐢 بطيء | ملفات 7z محمية |
hashid hash.txt أو hash-identifier لتحديد النوع. أو استخدم موقع hashes.com للتحقق أونلاين.
أوضاع الهجوم (-a)
Hashcat تدعم 11 وضع هجوم مختلف. الأكثر استخدامًا في الـ Pentesting:
?l = a-z |
?u = A-Z |
?d = 0-9 |
?s = رموز |
?a = الكل |
?b = 0x00-0xff
أمثلة عملية مفصّلة
01 / كسر هاش MD5
02 / كسر هاشات NTLM (Windows)
03 / كسر NetNTLMv2 (Responder Captures)
04 / Kerberoasting (Active Directory)
05 / Mask Attack — Brute Force ذكي
06 / كسر WiFi WPA/WPA2
07 / Hybrid Attack — Wordlist + Mask
هجمات Rules المتقدمة
الـ Rules هي أقوى ميزة في Hashcat — تحوّل كل كلمة في الـ Wordlist إلى عشرات أو مئات الاحتمالات (Capitalize، إضافة أرقام، استبدال حروف بأرقام، لعبة الحالة...).
1.
best64.rule — سريع وفعّال دائماً
2. d3ad0ne.rule — للحالات الأصعب
3. OneRuleToRuleThemAll.rule — الأشمل (من GitHub)
نصائح احترافية
-w 3 (High) أو -w 4 (Nightmare) لأقصى سرعة — لكن انتبه لدرجة حرارة الـ GPU وأوقف أي تطبيقات أخرى.
rockyou.txt (14M)،
SecLists (مجموعة ضخمة)،
kaonashi.txt،
weakpass_3a — كلها متاحة على GitHub.
--session mycrack، واستعدها بـ: hashcat --session mycrack --restore عند انقطاع الكهرباء أو إغلاق النافذة.
1. Dictionary (rockyou) → 2. Dictionary + best64.rule → 3. Hybrid (-a 6/7) → 4. Mask (-a 3) بتزايد تدريجي → 5. Rules أضخم (d3ad0ne, Dive)
Hashcat مقابل الأدوات المماثلة
| الأداة | نوع الهجوم | GPU Support | +300 Hash Type | Rules | سرعة | مناسب CTF |
|---|---|---|---|---|---|---|
| Hashcat | Offline | ✔✔ | ✔ | ✔ | ⚡⚡⚡ | ✔ |
| John the Ripper | Offline | ✔ | ✔ | ✔ | ⚡⚡ | ✔ |
| Hydra | Online | ✘ | ✘ | ✘ | ⚡ | ✔ |
| Medusa | Online | ✘ | ✘ | ✘ | ⚡ | محدود |
| CrackStation | Online (Rainbow) | ✘ | محدود | ✘ | ⚡⚡ | ✔ |
كيف تحمي نفسك من Hashcat؟
استخدم خوارزميات هاش قوية
تجنّب MD5 وSHA1 في تخزين كلمات المرور. استخدم bcrypt أو Argon2id أو scrypt — هذه الخوارزميات مصممة لتكون بطيئة عمداً.
إضافة Salt عشوائي لكل هاش
الـ Salt يجعل Rainbow Tables عديمة الفاعلية ويجبر المهاجم على كسر كل هاش بشكل مستقل، مما يُضاعف وقت الاختراق بشكل هائل.
سياسة كلمات مرور قوية
إلزامية 12+ حرفاً بتنوع كبير. كلمة مرور عشوائية من 12 حرفاً تأخذ أحياناً آلاف السنين حتى بـ GPU.
حماية قاعدة البيانات
Hashcat تشتغل على الهاشات المسروقة — الحماية الحقيقية هي منع الوصول لقاعدة البيانات من الأصل. Encryption at rest، تحديث منتظم، وCVE patching.
تفعيل MFA
حتى لو اخترق المهاجم كلمة المرور، لن يقدر على الدخول بدون الـ MFA Token.
Pepper إضافي للأمان
الـ Pepper هو سر ثابت يُضاف للـ Password قبل التهشير ويُخزَّن خارج قاعدة البيانات — حتى لو سُرقت البيانات، الهاش غير قابل للكسر.
Hashcat هي المعيار الذهبي في عالم كسر كلمات المرور. قوتها الحقيقية تكمن في الجمع بين سرعة الـ GPU، مرونة الـ Attack Modes، وعمق الـ Rules System. إتقانها يعني إتقان فهم نقاط ضعف الـ Password Policies وتعزيز الدفاعات في أي بنية تحتية. الأداة محايدة — الاستخدام الأخلاقي هو ما يصنع الفرق.
