B
Block user
زائر
السمعة:
هذي الروم تتطلب أشتراك

السلام عليكم ورحمة الله وبركاته
1- ماهو الـHASH
2-استخدامات الـHASH
3-التعرف على تجزئات كلمات المرور
4-Cracking لـ كلمة المرور
5- التحقق من صحة الـHASH
المصطلحات الرئيسية Key Terms
Plaintext:البيانات قبل تشفيرها أو تجزئتها ممكن يكون نص وليس بالضروره نصا ممكن تكون صورة او ملف من اي نوع
Encoding: هذه ليست عملية تشفير بل مجرد طريقة لتمثيل البييانات مثل Base64
Hash: هي الناتج النهائي لوظيفة ال الترميز يستخدم المصطلح ايضا كفعل مثال: "جَزَّأَ البيانات" لوصف عملية إنتاج قيمة ال Hash
Brute force: اسلوب اختراق يعتمد على تخمين كل الاحتمالات. كلمات سر, المفاتيح الخ
Cryptanalysis: اسلوب اختراق يعتمد على اكتشاف نقاط ضعف في الخوارزميات أو الأسس الرياضية المستخدمة في التشفير
هل ال Base64 تشفير أم ترميز
الأجابة
encoding
ما هي دالة التجزئة What's a hash function
تختلف وظائف ال hash عن التشفير مالها مفتاح, و المفروض ان يكون من المستحيل ألانتقال من ال output الى input مستحيل تعيد الداتا الأصلية من البصمةتعطيها أي داتا (صورة، ملف، نص) تطلعلك بصمة حجمها ثابت
التغيير ولو ببت واحد في الداتا البصمة تتغير كليا
للهاش بصمة فريدة للداتا بتستخدم في التأكد من سلامة الملفات وكلمات المرور (بدلا من تخزن الباسورد نفسه)

لماذا يجب أن أهتم؟
انت ك طالب أمن سيبراني من المهم ان تعرف ال hashing لان تستخدم كثير في المجال
يعني لما قمت بتسجيل الدخول الى sh3ll.cloud استخدمنا ال hash لتحقق من كلمة المرور الخاصه بك او لما سجلت الدخول الى جهازك النظام استخدم ال hash ايضا لتحقق من كلمة المرور الخاصه بك , النظام بيشوف الباسورد عن طريق مقارنة الهاش(مش كلمة المرور نفسها)
بالمختصر انت تتفاعل معا ال hash بشكل غير مباشر كثير
تصادم الهاش Hash Collision
يحدث تصادم الهاش عندما تعطي مدخلات مختلفة نفس الناتج. صممت دوال الهاش لتجنب هذا الأمر قدر الإمكان، خاصةً تجنب القدرة على هندسة تصادمات متعمدة بسبب مبدأ Pigeonhole Effect لا يمكن تفادي التصادمات نهائيًا.
ينص هذا المبدأ على أن عدد القيم المخرجة الممكنة لدالة الهاش محدود بينما يمكن إدخال بيانات بأحجام غير محدودة. وبما أن المدخلات أكثر من المخرجات فلا بد أن يحصل أن بعض المدخلات تتشارك نفس المخرجات
مثلاً، إذا كان لديك 128 حمامة و 96 عشًا، فستضطر بعض الحمام إلى المشاركة في الأعشاش
---
تعرضت خوارزميات MD5 و SHA1 لهجمات, وأصبحتا غير أمنتين تقنيا بسبب القدره على هندسة تصادمات هاشيه متعمدة engineering hash collisions ومعا ذلك لم تظهر اي هجمة حتى الأن لحدوث تصادم بين خوارزمية SHA1 و MD5 معًا في نفس الوقت فا اذا استخدمت كلا من MD5 و SHA1 للمقارنة ستلاحظ انهما مختلفان
امثلة للتصادم
MD5
SHA1
الأجوبة
What is the output size in bytes of the MD5 hash function?
128bits÷8bits=16الجواب 16
Nay
2^8=256 الجواب 256
Uses for hashing
ما الذي يمكننا فعله في الـHashing
تستخدم في مجالنا لغرضين رئيسيين
1- التحقق من سلامة البيانات
2- التحقق من كلمات المرور
Hashing for password verification
اغلب المواقع و التطبيقات تحتاج للتحقق من كلمة مرور المستخدم لما يسجل دخوللما تخزن هذي الكلمات كا نص واضح Plaintext مش هاش يعتبر خطير كلنا نسمع دايما ان الشركة الفلانيه تعرضت للاختراق وتم تسريب الكلمات السريه وللاسف الأغلب يستخدم نفس كلمة المرور لكل حياته وهذا خطير ونحن ك مختبرين اختراق راح نستفيد من هذي البيانات لاغراض اخلاقية طبعا

حدثت العديد من الاختراقات التي كشفت عن كلمات مرور مُخزَّنة كنص واضح طبعا اكيد تعرف rockyou.txt اذا ماتعرف هو عباره عن كلمات مرور يتجاوز عددها 14 مليون كلمة مسربة منين جابوا هذي الكمية من الكلمات, تخمين ؟ ممكن بس لا
هذي جت من شركة rockyou كانت تُطور إضافات لموقع MySpace، حيث كانت تُخزن كلمات المرور كنص واضح، وتعرضت لاختراق (طبعا في بيانات وكلمات سر اكبر من rockyou لكن انت ب ctf ماراح تحتاج غيرها غالبا و في داتا اكبر تحصلها هنا
اختراقات شهيرة توضح أهمية Hashing verification
كارثة Adobe
تعرضت شركة ادوبي لاختراق بيانات شهير اختلف عن غيره حيث قامت بتخزين كلمات المرور باستخدام التشفير بدلاً من ال Hashing وكان التشفير المستخدم ضعيفا هذا سمح للمهاجمين باستعادة كلمات المرور الأصلية بسرعة بمجرد الوصول إلى مفتاح التشفير
- لماذا يعد هذا خطأً فادحا؟
التشفير عملية عكسية (يتطلب مفتاحا لفكها) بينما الHashing عملية أحادية الاتجاه (لا يمكن عكسها)
تخزين المفتاح في النظام يجعل كلمات المرور عرضة للسرقة إذا اُخترق الخادم
التحليل كامل هنا
اختراق Linkedin مشكلة خوارزمية SHA1
تعرضت لينكدإن أيضا لاختراق نتيجة استخدامها خوارزمية SHA1 لتجزئة كلمات المرور المشكلة أن SHA1 سريعة الحوسبة مما يسمح للمهاجمين كسرها باستخدام بطاقات الرسوميات GPUs في brute force attacks
لماذا ال hashing افضل من التشفير (في تخزين كلمات المرور )
دعني اجاوبك ياعزيزي. التشفير يحتاج الى مفتاح والمفتاح يكون موجود في السيرفر (احيانا) واذا وصل المخترق للمفاح GG كل الداتا اصبحت عنده
وهنا يأتي دور ال hashing ليش ما أخزن كلمات المرور ك hash بدلا من تشفيرها او تخزينها ك نص
حتى لو اُخترقت قاعدة البيانات سيحتاج المهاجم إلى كسر كل Hash على حدة لمعرفة كلمة المرور بتقول اوك اكيد هذي الطريقة امنه
اممم ياعزيزي لايوجد شي أمن ماذا لو كان لدى مستخدمين أثنين او ثلاث او اكثر نفس كلمة المرور ؟
نظرا الى أن دالة ألهاش ستحول دائما نفس المدخلات الى نفس المخرجات راح يتخزن كلمات المرور المتشابها نفس الهاش
وهذا يعني شخص واحد منهم تم كسر الهاش تبعه جميعهم سيخترقون ايضا
وايضا يمكن انشاء Rainbow table لكسر كل كل هاش
ياساتر ياسلم وش بعد Rainbow table انت كل شوي جاي بمسطلح اغرب من الثاني .... صبرك علي ياعزيزي
وش ال Rainbow table
هي قواعد بيانات جاهزة تربط بين الـ Hashes الأكثر شيوعًا وكلمات المرور المقابلة لها. مثال:
| كلمة المرور | الـ Hash (MD5) |
| 5f4dcc3b5aa765d61d8327deb882cf99 | password|
|e10adc3949ba59abbe56e057f20f883e | 123456 |
طيب شلون استفيد منه
إذا كان Hash كلمة المرور موجودا في الجدول يمكن للمهاجم معرفة كلمة المرور في ثوان
طبعا يوجد حل لهذا الموضوع سادعك تبحث بنفسك لتجده keyword للبحث: Salted Hashing
ايضا ستحتاج هذا الموقع لكسر الهاش crackstation
ايضا هذا الموقع hashes
الأجوبه
Crack the hash "d0199f51d2728db6011945145a1b607a" using the rainbow table manually
basketball
tryhackme
nay
Recognising password hashes
هنالك أدوات لتعرف التلقائي على أنواع الـ Hashes مثل hashID موجدة لكنها ليست دقيقة دائما خاصةً اذا كان الـ Hash لا يحتوي على بادئة Prefix واضحة تعتمد هذه الأدوات بشكل أساسي على الأنماط الشائعة، مثل:
البادئات مثال: $1$ لـ MD5 في أنظمة Unix
الطول مثال : 32 حرفا ل md5 و 40 حرفا ل SHA1
هاشات كلمات المرور في أنظمة unix من السهل جدا التعرف عليها لانها تحتوي على بادئة تخبرك بخوارزمية ال hash المستخدمة الصيغة العامة هي:
كود:
$algorithm$salt$hash
الموقع الذي يتم فيه تخزين الHashes في ملف /etc/shadow يمكن للمستخدم root فقط قراءته
في الماضي كانت تخزن في /etc/passwd (مفتوح للجميع) مما كان يعد ثغرة أمنية
التنسيق تحتوي الـ Hashes على بادئة (Prefix) تشير إلى الخوارزمية المستخدمة
جدول سريع لبعض بادئات (prefixes) كلمات المرور في أنظمة Unix:

في أنظمة Windows يتم تشفير كلمات المرور باستخدام NTLM وهو نوع متقدم من ال MD4 هذه الهاشات تشبه MD4 وMD5 لذا من المهم استخدام السياق لتحديد نوع الhash
يتم تخزين هاش كلمات المرور في ملف SAM (Security Account Manager)
يحاول Windows منع المستخدمين العاديين من الوصول إليه لكن أدوات مثل mimikatz يمكنها استخراج الـ Hashes
تنقسم ال hashes في SAM الى نوعين
-NT hashes:أكثر امانا و تستخدم خوارزمية NTLM
-LM hashes:قديمه وضعيفة تقسم كلمات المرور الى اجزاء يسهل كسرها
تقدر تحصل امثلة كثير عن الهاش و البادئات هنا hashcat
الأجوبة
How many rounds does sha512crypt ($6$) use by default?
5000
1765058016a22f1b4e076dccd1c3df4e8e5c0839ccded98ea
32
Password Cracking
التاسك هذا بنحاول نختصره لان مافيه معلومات كثيره مجرد نصايح
rainbow tables: فعالة لكسر الهاشات بدون salt اذا كان هناك salt يجب ان يتم استخدام مزيج بين الأدوات و السياق لكسر الهاشات
كسر الهاشات باستخدام ال GPU:ال GPUS تحتوي على الاف الانوية يمكنها كسر الهاشات بسرعة كبيره مقارنة بال CPU ومعا ذلك بعض خوارزميات الهاش مثل bcrypt مصممة لتكون مقاومة لهذا النوع من الكسر
استخدام الVirtual Machines:عادةً لايمكن للVirtual Machines الوصول الى ال GPU الخاص بجهازك يفضل تشغيل Hashcat على جهازك الاساسي لاتسختدم خيار --force لأنه قد يؤدي إلى نتائج سلبية كاذبة
طيب اركن على جمب يا TryHckme تعال اعلمك شلون نكسر الهاشات
أنا استخدمت جهاز Windows فيه كرت nvidia فا حملت CUDA Toolkit وأستخدمت hashcat
طيب بسم الله نبدا
الهاش الأول:
كود:
$2a$06$7yoU3Ng8dHTXphAg913cyO6Bjs3K5lBnwq5FJyA6d01pMSrddr1ZG
باستخدام امر
كود:
hashcat.exe -m 3200 -a 0 -o cracked.txt hash.txt rockyou.txt
طبعا ناخذ الامر حبه حبه عشان نفهمه
كود:
hashcat.exe واضح
-m نوع الهاش
-a نوع الهجوم
-o ملف الاستخراج
cracked.txt ملف الاستخراج
hash.txt ملف الهاش الي نبي نكسره
rockyou.txt شارح شنو هذا الملف اعتقد
الأجابة
85208520
الهاش الثاني:
كود:
9eb7ee7f551d2f0ac684981bd1f1e2fa4a37590199636753efe614d4db30e8e1
كود:
hashcat.exe -m 1400 -a 0 -o cracked2.txt hash.txt rockyou.txt
سامعك تقول كيف اجيب ارقام انواع الهاشات فا لانك مش مركز ولا تدخل على الروابط الي قاعد احطها لك فا ماراح اعلمك ارجع وراجع

الأجابة
halloween
الهاش الثالث:
كود:
$6$GQXVvW4EuM$ehD6jWiMsfNorxy5SINsgdlxmAEl3.yif0/c3NqzGLa0P.S7KRDYjycw5bnYkF5ZtB8wQy8KnskuWQS3Yr1wQ0
الأمر
كود:
hashcat.exe -m 1800 -a 0 -o cracked3.txt hash.txt rockyou.txt
الأجابة
spaceman
الهاش الرابع:
كود:
b6b0d451bbf6fed658659a9e7e5598fe
من موقع crackstation نكسر الهاش
الأجابة
funforyou
Hashing for integrity checking
التحقق من النزاهة integrity Checking
ال hashing تستخدم ايضا للتحقق من ان الملفات لم يتم تغيرها او التلاعب بها أذا ادخلت نفس البيانات ستحصل على نفس الناتج حتا لو ببت واحد نفس مافهمنا طبعا نقدر نستفيد من هذا الشي اننا ممكن نتحقق ان الملفات لم تعدل اثناء التحميل او للتاكد ان تم تنزيلها بشكل صحيح
HMACs
هو اختصار لHash-based Message Authentication Code
وهي طريقة تتيح لك التأكد من أن الرسالة اللي استلمتها هي فعلاً من الشخص اللي أرسلها وما تم التلاعب فيها
الفكرة تعتمد على استخدام دالة تجزئة (مثل SHA-256) ومفتاح سري الشخص اللي يرسل الرسالة يقوم بإضافة المفتاح السري إلى البيانات ثم يجري عملية التجزئة (hashing) الناتج يكون كود HMAC
عندما تستلم الرسالة تقوم بنفس العملية: تضيف المفتاح السري إلى البيانات وتُجري عملية ال hashing. إذا كان الكود الناتج يطابق الكود اللي وصلك فهذا يعني أن الرسالة صحيحة ولم يتم تعديلها بهذا الشكل، تتأكد من صحة وسلامة البيانات وتتحقق من هوية المرسل
What's the SHA1 sum for the amd64 Kali 2019.4 ISO
http://old.kali.org/kali-images/kali-2019.4/
نحمل ملف ال SHA1 sum ونفتح في ال notepad او نسوي له cat في لينكس
الأجابة
186c5227e24ceb60deb711f1bdc34ad9f4718ff9
What's the hashcat mode number for HMAC-SHA512 (key = $pass)?
نروح موقع https://hashcat.net/wiki/doku.php?id=example_hashes
ونبحث عن رقم HMAC-SHA512
الأجابة
1750
بالتوفيق لكم ياهكرجية
رابط الروم
التعديل الأخير بواسطة المشرف: