Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
collisions — تصادمات التجزئة والاستغلالات | Kitploit
أدوات/GitHubGitHub/corkami/collisions
الاستغلالتحليل التجزئةالتشفيرتحليل الملفات الثنائيةالتعلم والتعليم
GitHubcorkami/collisions

collisions

تصادمات التجزئة والاستغلالات

عرض المستودع
3.4k21038منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

تصادمات التجزئة والاستغلالات

بقلم Ange Albertini و Marc Stevens.

FAQ (TL;DR)

س: هل من الممكن جعل ملف يحصل على تجزئة اعتباطية MD2/MD4/MD5/MD6/SHA1/SHA2/SHA3، أو على نفس تجزئة ملف آخر؟
ج: لا.

س: هل يمكن إنشاء ملفين مختلفين لهما نفس التجزئة؟
ج: مع MD5، في بضع ثوانٍ على حاسوب عادي. مع SHA1، الأمر ممكن لكنه غير عملي للمستخدمين النهائيين (التعقيد: 2^61.2 السعر: $11k).

س: هل يمكن جعل ملفين مختلفين يحصلان على نفس التجزئة بإلحاق بيانات؟
ج: مع MD5، في بضع ساعات على حاسوب عادي. مع SHA1، الأمر ممكن لكنه غير عملي للمستخدمين النهائيين (التعقيد: 2^63.4 السعر: $45K).

س: هل سيظل الملفان صالحَين؟
ج: بشكل عام، نعم، لأن معظم تنسيقات الملفات تتحمل البيانات المُلحقة. ومن ناحية أخرى، من المرجح أن تكون توقيعات الملفات مكسورة.

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

  1. ترويسة تنسيق خاصة (أو زوج منها) بحيل تعمل كمبدّل بين محتويين (بعض التنسيقات لن تسمح بمثل هذه الحيل).
  2. تصادمات محسوبة مسبقًا بناءً على الترويسة (الترويسات) المحددة.
  3. محتويان من تنسيقات محددة، وكلاهما حاضر بعد التصادم (يُضافان بعد الحساب).

س: ما التنسيقات التي يمكنني فيها الحصول على زوج ملفات متصادم فورًا في MD5؟
ج: JPG، PNG، GIF، GZIP، Portable Executable، MP4، JPEG2000، PDF، DOCX/PPTX/XSLX، EPUB، 3MF، XPS. فقط قم بتشغيل السكربت المحدد.

س: وماذا عن SHA1؟
ج: بالنسبة لـ SHA1، تم حساب وتنفيذ JPG داخل PDF.

س: وماذا عن التنسيقات المدعومة بالفعل لـ MD5 (JPG، PNG...) لكن لـ SHA1 بدلاً من ذلك؟
ج: على الأرجح أنها مدعومة مع SHA1 أيضًا، لكن لم يتم حساب تصادماتها بعد.

س: هل تكون الحسابات أسرع للمحتويات المتشابهة (ولكن المختلفة)؟
ج: لا. أي اختلاف بسيط يتطلب حسابًا كاملاً.

س: ما التنسيقات التي لا تملك مثل هذا الاختصار؟
ج: ELF، Mach-O، Java Class، TAR، ZIP (من بين أخرى...)

س: هل ما تزال التصادمات التقليدية (في غضون بضع ساعات) ممكنة مع هذه التنسيقات؟
ج: نعم، طالما أنه يتم التسامح مع أي كمية من البيانات المُلحقة (أي على الأرجح ليس ZIP أو Class).

س: هل تقدّمون أمثلة على التصادمات؟
ج: نعم.

جدول المحتويات

  • مقدمة
  • الحالة
  • الهجمات
    • بادئة متطابقة
      • FastColl (MD5)
      • UniColl (MD5)
      • Shattered (SHA1)
    • تصادمات بادئة مختارة
      • HashClash (MD5)
      • Shambles (SHA1)
    • ملخص الهجمات
  • الاستغلالات
    • الاستراتيجية القياسية
      • JPG
        • custom scans
      • PNG
        • عدم التوافق
      • GIF
      • GZIP
      • LZ4 / Zstandard
      • Portable Executable
      • MP4 وغيرها
        • JPEG2000
      • PDF
        • JPG في PDF
      • ZIP
        • التنسيقات المعتمدة على ZIP
      • أخرى
    • استراتيجيات غير شائعة
      • MultiColls: سلسلة تصادمات متعددة
        • Hashquines
      • الصلاحية
      • PolyColls: تصادمات أنواع ملفات مختلفة
        • PE - JPG
        • PDF - PE
        • PDF - PNG
      • PileUps (تصادم متعدد)
        • PE - PNG - MP4 - PDF
    • حالات الاستخدام
      • اجعلها كلها تتصادم!
      • ملفات الإدانة
    • حالات الفشل
      • ELF
      • Mach-O
      • Java Class
      • TAR
    • ملخص الاستغلالات
    • ملفات الاختبار
  • الكشف
    • التجزئة الآمنة
  • المراجع
  • الاعتمادات
  • الاستنتاج

مقدمة

الهدف هو استكشاف الهجمات الحالية على نطاق واسع - وإظهار على طول الطريق مدى ضعف MD5 (تصادمات فورية لأي JPG أو PNG أو PDF أو MP4 أو PE...) - وأيضًا استكشاف تنسيقات الملفات الشائعة بالتفصيل لتحديد كيف يمكن استغلالها مع الهجمات الحالية أو المستقبلية.

في الواقع، يمكن استخدام نفس حيلة تنسيق الملف مع عدة تجزئات (استُخدمت نفس حيل JPG مع MD5، وSHA-1 الخبيث وSHA1)، طالما أن التصادمات تتبع نفس أنماط البايت.

هذه الوثيقة ليست حول هجمات جديدة (أحدثها تم توثيقه في 2012)، بل حول أشكال جديدة من استغلال الهجمات القائمة.

الحالة

الوضع الحالي للهجمات المعروفة:

  • الحصول على ملف يحمل تجزئة ملف آخر أو تجزئة معينة: مستحيل

    • لا يزال غير عملي حتى مع MD2 أو MD4.
    • يعمل مع تجزئات أبسط(*)
  • الحصول على ملفين مختلفين بنفس MD5: فوري

    • أمثلة: 1 ⟷ 2
  • جعل ملفين اعتباطيين يحصلان على نفس MD5: بضع ساعات (72 hours.core)

    • أمثلة: 1 ⟷ 2
  • جعل ملفين اعتباطيين من تنسيقات ملفات محددة (PNG، JPG، PE...) يحصلان على نفس MD5: فوري

    • اقرأ أدناه
  • الحصول على ملفين مختلفين بنفس SHA1: 6500 years.core

    • الحصول على ملفي PDF مختلفين بنفس SHA-1 لإظهار صورة مختلفة: فوري (البادئات محسوبة مسبقًا)

(*) مثال مع crypt - شكرًا لـ Sven!```

import crypt crypt.crypt("5dUD&66", "br") 'brokenOz4KxMc' crypt.crypt("O!>',%$", "br") 'brokenOz4KxMc'

# الهجمات

تعمل خوارزميتا MD5 وSHA1 مع كتل بحجم 64 بايت.

إذا كان لمحتويين A وB نفس التجزئة (hash)، فإن إضافة نفس المحتوى C إلى كليهما ستحافظ على نفس التجزئة.``` text
hash(A) = hash(B) -> hash(A + C) = hash(B + C)

تعمل التصادمات (Collisions) عبر إدراج عدد من كتل التصادم المحسوبة عند حد كتلة (block boundary)، ويعتمد هذا العدد على ما سبق في الملف. تبدو كتل التصادم هذه عشوائية جدًا مع بعض الاختلافات الطفيفة (التي تتبع نمطًا محددًا لكل هجوم) وستُدخل اختلافات طفيفة، مع بلوغ نفس قيمة التجزئة في النهاية بعد هذه الكتل.

تُستغل هذه الاختلافات لصنع ملفات صالحة بخصائص محددة.

تعمل تنسيقات الملفات أيضًا من الأعلى إلى الأسفل، ومعظمها يعمل عبر كتل (chunks) على مستوى البايت.

يمكن إدراج بعض كتل 'التعليقات' لمحاذاة كتل الملف إلى حدود الكتل، ولمحاذاة بنى محددة مع اختلافات كتل التصادم، ولإخفاء بقية العشوائية الناتجة عن كتل التصادم عن محللات الملفات، ولإخفاء محتوى صالح بخلاف ذلك عن المحلل (بحيث يرى محتوى آخر).

تنزيل الأداة