Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
collisions — हैश टकराव और उनका दोहन | Kitploit
उपकरण/GitHubGitHub/decalage2/collisions
शोषणहैश विश्लेषणक्रिप्टोग्राफीबाइनरी विश्लेषणलर्निंग और शिक्षा
GitHubdecalage2/collisions

collisions

हैश टकराव और उनका दोहन

रिपॉजिटरी देखें
91294 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

TL;DR इन दो छवियों का MD5 टकराव प्राप्त करना अब(*) तुच्छ और तुरंत है।

विकिपीडिया पर MD5 पृष्ठ ⟷ <a href=http://gunshowcomic.com/648>

आग से मत खेलो, MD5 पर भरोसा मत करो।

(*) किसी भी दो फ़ाइलों का टकराव पैदा करना कई वर्षों से संभव है, लेकिन हर बार इसमें कई घंटे लगते हैं, बिना किसी शॉर्टकट के। यह पृष्ठ फ़ाइल प्रारूपों और पूर्व-गणना किए गए टकराव उपसर्गों के लिए विशिष्ट तरकीबें प्रदान करता है ताकि टकराव को तुरंत बनाया जा सके। git clone. स्क्रिप्ट चलाएँ। हो गया।

हैश टकराव और शोषण

Ange Albertini और Marc Stevens द्वारा।

  • परिचय
  • स्थिति
  • हमले
    • समान उपसर्ग
      • FastColl (MD5)
      • UniColl (MD5)
      • Shattered (SHA1)
    • चयनित-उपसर्ग टकराव
      • HashClash (MD5)
      • Shambles (SHA1)
    • हमलों का सारांश
  • शोषण
    • मानक रणनीति
      • JPG
        • कस्टम स्कैन
      • PNG
        • असंगति
      • GIF
      • GZIP
      • Portable Executable
      • MP4 और अन्य
        • JPEG2000
      • PDF
        • PDF में JPG
      • ZIP
        • Zip-आधारित प्रारूप
    • असामान्य रणनीतियाँ
      • MultiColls: कई टकरावों की श्रृंखला
      • वैधता
      • 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, malicious SHA-1 और SHA1 के लिए उपयोग की गई थीं), जब तक टकराव समान बाइट पैटर्न का पालन करते हैं।

स्थिति

ज्ञात हमलों की वर्तमान स्थिति - दिसंबर 2018 तक -:

  • किसी फ़ाइल का हैश किसी अन्य फ़ाइल के हैश या दिए गए हैश के बराबर बनाना: असंभव
    • यह MD2 के साथ भी व्यावहारिक नहीं है।
    • सरल हैशों के लिए काम करता है(*)
  • समान MD5 वाली दो अलग-अलग फ़ाइलें प्राप्त करना: तुरंत
    • उदाहरण: 1 ⟷ 2
  • दो मनमानी फ़ाइलों का MD5 समान करना: कुछ घंटे (72 hours.core)
    • उदाहरण: 1 ⟷ 2
  • विशिष्ट फ़ाइल प्रारूपों (PNG, JPG, PE...) की दो मनमानी फ़ाइलों का MD5 समान करना: तुरंत
    • नीचे पढ़ें
  • समान SHA1 वाली दो अलग-अलग फ़ाइलें प्राप्त करना: 6500 years.core
    • समान SHA-1 वाली दो अलग-अलग PDF प्राप्त करना एक अलग चित्र दिखाने के लिए: तुरंत (उपसर्ग पहले से ही गणना किए गए हैं)

(*) crypt के साथ उदाहरण - धन्यवाद Sven!```

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

# हमले

MD5 और SHA1 64 बाइट्स के ब्लॉकों के साथ काम करते हैं।

यदि दो सामग्रियों A और B का हैश समान है, तो दोनों में समान सामग्री C जोड़ने पर हैश समान बना रहेगा।``` text
hash(A) = hash(B) -> hash(A + C) = hash(B + C)

Collisions एक ब्लॉक सीमा पर कुछ गणना किए गए कोलिज़न ब्लॉक डालकर काम करते हैं जो फ़ाइल में पहले जो कुछ आया था उस पर निर्भर करते हैं। ये कोलिज़न ब्लॉक कुछ मामूली अंतरों के साथ बहुत यादृच्छिक दिखते हैं (जो प्रत्येक हमले के लिए एक विशिष्ट पैटर्न का अनुसरण करते हैं) और वे छोटे अंतर उत्पन्न करेंगे जबकि अंततः इन ब्लॉकों के बाद हैश का मान समान हो जाता है।

इन अंतरों का दुरुपयोग विशिष्ट गुणों वाली मान्य फ़ाइलें तैयार करने के लिए किया जाता है।

फ़ाइल प्रारूप भी ऊपर-से-नीचे काम करते हैं, और उनमें से अधिकांश बाइट-स्तरीय चंक्स द्वारा काम करते हैं।

कुछ 'कमेंट' चंक्स को फ़ाइल चंक्स को ब्लॉक सीमाओं के साथ संरेखित करने के लिए डाला जा सकता है, विशिष्ट संरचनाओं को कोलिज़न ब्लॉक अंतरों के साथ संरेखित करने के लिए, बाकी कोलिज़न ब्लॉक यादृच्छिकता को फ़ाइल पार्सर्स से छिपाने के लिए, और अन्यथा मान्य सामग्री को पार्सर से छिपाने के लिए (ताकि वह दूसरी सामग्री देख सके)।

ये 'कमेंट' चंक्स अक्सर आधिकारिक रूप से वास्तविक कमेंट नहीं होते: वे केवल डेटा कंटेनर के रूप में उपयोग किए जाते हैं जिन्हें पार्सर अनदेखा कर देता है (उदाहरण के लिए, लोअरकेस से शुरू होने वाले ID वाले PNG चंक्स सहायक (ancillary) होते हैं, महत्वपूर्ण (critical) नहीं)।

अधिकांश समय, कोलिज़न ब्लॉक में अंतर का उपयोग किसी कमेंट चंक की लंबाई को संशोधित करने के लिए किया जाता है, जो आमतौर पर इस चंक के डेटा से ठीक पहले घोषित किया जाता है: इस चंक के छोटे और लंबे संस्करण के बीच के अंतर में, एक और कमेंट चंक घोषित किया जाता है ताकि वह एक फ़ाइल की सामग्री A को पार कर सके। इस फ़ाइल सामग्री A के बाद, बस एक और फ़ाइल सामग्री B जोड़ दें।

चूँकि फ़ाइल प्रारूप आमतौर पर एक टर्मिनेटर परिभाषित करते हैं जो पार्सर्स को उसके बाद रुकने पर मजबूर कर देता है, A पार्सिंग समाप्त कर देगा, जिससे जोड़ा गया कंटेंट B अनदेखा कर दिया जाएगा।

तो आमतौर पर कम से कम दो कमेंट की आवश्यकता होती है - अक्सर तीन:

  1. संरेखण
  2. कोलिज़न ब्लॉक छिपाना
  3. एक फ़ाइल सामग्री छिपाना (पुनः प्रयोज्य कोलिज़न के लिए)

फ़ाइल प्रारूपों के ये सामान्य गुण इसे संभव बनाते हैं - इन्हें आमतौर पर कमजोरियों के रूप में नहीं देखा जाता, लेकिन इन्हें पहचाना या सामान्यीकृत (normalized) किया जा सकता है:

  • डमी चंक्स - कमेंट के रूप में उपयोग किए जाते हैं
  • एक से अधिक कमेंट
  • विशाल कमेंट (लंबाई: MP4 के लिए 64b, PNG के लिए 32b -> साधारण कोलिज़न। JPG के लिए 16b, GIF के लिए 8b -> GIF के लिए कोई सामान्य कोलिज़न नहीं, JPG के लिए सीमित)
  • कमेंट में कोई भी डेटा संग्रहीत करना (ASCII या UTF8 लागू किया जा सकता है)
  • टर्मिनेटर के बाद कुछ भी संग्रहीत करना (आमतौर पर केवल दुर्भावनापूर्ण उद्देश्यों के लिए उपयोग किया जाता है) - समान ऑफसेट पर समाप्त होने वाले दो कमेंट का उपयोग करके इससे बचा जा सकता है।
  • कोई अखंडता जाँच नहीं। PNG में CRC32 को आमतौर पर अनदेखा किया जाता है। हालाँकि वे सभी सही हो सकते हैं क्योंकि कोलिज़न ब्लॉक विभिन्न लंबाई के चंक्स घोषित करते हैं - इसलिए भले ही चंक का डेटा अलग तरह से शुरू हो, चंक की लंबाइयाँ अलग होती हैं
  • सपाट संरचना: ASN.1 मूल संरचना को सभी संलग्न उप-संरचनाओं की लंबाई के साथ परिभाषित करता है, जो इन निर्माणों को रोकता है: आपको एक लंबाई का दुरुपयोग करना होगा, बल्कि मूल की लंबाई का भी।
  • हेडर से पहले एक कमेंट रखना - यह सामान्य पुनः प्रयोज्य कोलिज़न को संभव बनाता है।

समान उपसर्ग

टूल डाउनलोड करें