Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
collisions — Collisions de hachage et exploitations | Kitploit
Outils/GitHubGitHub/corkami/collisions
ExploitationAnalyse de HachageCryptographieAnalyse de BinairesApprentissage et Éducation
GitHubcorkami/collisions

collisions

Collisions de hachage et exploitations

Voir le dépôt
3.4k21038il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Collisions de hachage et exploitations

Par Ange Albertini et Marc Stevens.

FAQ (TL;DR)

Q : Est-il possible de faire en sorte qu'un fichier obtienne un MD2/MD4/MD5/MD6/SHA1/SHA2/SHA3 arbitraire, ou le même hachage qu'un autre fichier ?
R : Non.

Q : Peut-on créer 2 fichiers différents avec le même hachage ?
R : Avec MD5, en quelques secondes sur un ordinateur standard. Avec SHA1, c'est possible mais pas pratique pour les utilisateurs finaux (Complexité : 2^61.2 Prix : 11 k$).

Q : Peut-on faire en sorte que 2 fichiers différents obtiennent le même hachage en ajoutant des données ?
R : Avec MD5, en quelques heures sur un ordinateur standard. Avec SHA1, c'est possible mais pas pratique pour les utilisateurs finaux (Complexité : 2^63.4 Prix : 45 k$).

Q : Les 2 fichiers resteront-ils valides ?
R : En général, oui, car la plupart des formats de fichiers tolèrent l'ajout de données. En revanche, les signatures de fichiers seront probablement cassées.

Q : Peut-on créer 2 fichiers différents avec des contenus arbitraires et le même hachage ?
R : Oui, cela peut être instantané en s'appuyant sur des structures de fichiers spéciales :

  1. un en-tête de format spécial (ou une paire) avec des astuces, agissant comme un commutateur entre 2 contenus (certains formats n'autorisent pas de telles astuces).
  2. des collisions précalculées, basées sur le ou les en-têtes spécifiques.
  3. deux contenus de formats spécifiques, tous deux présents après la collision (ajoutés après le calcul).

Q : Pour quels formats puis-je obtenir instantanément une paire de fichiers en collision MD5 ?
R : JPG, PNG, GIF, GZIP, Portable Executable, MP4, JPEG2000, PDF, DOCX/PPTX/XSLX, EPUB, 3MF, XPS. Il suffit d'exécuter le script spécifique.

Q : Qu'en est-il pour SHA1 ?
R : Pour SHA1, JPG dans un PDF est calculé et implémenté.

Q : Qu'en est-il des formats déjà pris en charge pour MD5 (JPG, PNG...), mais pour SHA1 à la place ?
R : Ils sont très probablement pris en charge avec SHA1 aussi, mais leurs collisions n'ont pas été calculées.

Q : Les calculs sont-ils plus rapides pour des contenus similaires (mais différents) ?
R : Non. La moindre petite différence exige un calcul complet.

Q : Quels formats n'ont pas ce raccourci ?
R : ELF, Mach-O, Java Class, TAR, ZIP (entre autres...)

Q : Les collisions classiques (en quelques heures) sont-elles toujours possibles avec ces formats ?
R : Oui, tant qu'une quantité quelconque de données ajoutées est tolérée (c.-à-d. probablement pas ZIP ou Class).

Q : Fournissez-vous des exemples de collisions ?
R : Oui.

Table des matières

  • Introduction
  • Statut
  • Attaques
    • Préfixe identique
      • FastColl (MD5)
      • UniColl (MD5)
      • Shattered (SHA1)
    • Collisions à préfixe choisi
      • HashClash (MD5)
      • Shambles (SHA1)
    • Résumé des attaques
  • Exploitations
    • Stratégie standard
      • JPG
        • scans personnalisés
      • PNG
        • incompatibilité
      • GIF
      • GZIP
      • LZ4 / Zstandard
      • Portable Executable
      • MP4 et autres
        • JPEG2000
      • PDF
        • JPG dans PDF
      • ZIP
        • Formats basés sur ZIP
      • Autres
    • Stratégies inhabituelles
      • MultiColls : chaîne de collisions multiples
        • Hashquines
      • Validité
      • PolyColls : collisions de différents types de fichiers
        • PE - JPG
        • PDF - PE
        • PDF - PNG
      • PileUps (multi-collision)
        • PE - PNG - MP4 - PDF
    • Cas d'usage
      • Collisionnez-les tous !
      • Fichiers incriminants
    • Échecs
      • ELF
      • Mach-O
      • Java Class
      • TAR
    • Résumé des exploitations
    • Fichiers de test
  • Détection
    • Hachages sûrs
  • Références
  • Crédits
  • Conclusion

Introduction

L'objectif est d'explorer en profondeur les attaques existantes - et de montrer au passage à quel point MD5 est faible (collisions instantanées de n'importe quel JPG, PNG, PDF, MP4, PE...) - et aussi d'explorer en détail les formats de fichiers courants pour déterminer comment ils peuvent être exploités avec des attaques présentes ou futures.

En effet, la même astuce de format de fichier peut être utilisée sur plusieurs hachages (les mêmes astuces JPG ont été utilisées pour MD5, malicious SHA-1 et SHA1), tant que les collisions suivent les mêmes motifs d'octets.

Ce document ne traite pas de nouvelles attaques (la plus récente a été documentée en 2012), mais de nouvelles formes d'exploitation d'attaques existantes.

Statut

État actuel des attaques connues :

  • faire en sorte qu'un fichier obtienne le hachage d'un autre fichier ou un hachage donné : impossible

    • ce n'est d'ailleurs toujours pas pratique avec MD2 ou MD4.
    • fonctionne pour des hachages plus simples(*)
  • obtenir deux fichiers différents avec le même MD5 : instantané

    • exemples : 1 ⟷ 2
  • faire en sorte que deux fichiers arbitraires obtiennent le même MD5 : quelques heures (72 heures.core)

    • exemples : 1 ⟷ 2
  • faire en sorte que deux fichiers arbitraires de formats de fichiers spécifiques (PNG, JPG, PE...) obtiennent le même MD5 : instantané

    • voir ci-dessous
  • obtenir deux fichiers différents avec le même SHA1 : 6500 ans.core

    • obtenir deux PDF différents avec le même SHA-1 pour montrer une image différente : instantané (les préfixes sont déjà calculés)
Télécharger l’outil