Nouvelles Du Monde

Un fichier ZIP crypté peut avoir deux mots de passe corrects – voici pourquoi

Un fichier ZIP crypté peut avoir deux mots de passe corrects – voici pourquoi

Les archives ZIP protégées par mot de passe sont des moyens courants de compresser et de partager des ensembles de fichiers, des documents sensibles aux échantillons de logiciels malveillants en passant par les fichiers malveillants (c’est-à-dire les “factures” de phishing dans les e-mails).

Mais saviez-vous qu’il est possible qu’un fichier ZIP crypté ait deux mots de passe corrects, les deux produisant le même résultat lors de l’extraction du ZIP ?

Un fichier ZIP avec deux mots de passe

Arseni Sharoglazovun chercheur en cybersécurité chez Positive Technologies a partagé au cours du week-end une expérience simple où il a produit un fichier ZIP protégé par mot de passe appelé x.zip.

Le mot de passe que Sharoglazov a choisi pour crypter son ZIP était un jeu de mots sur le tube de 1987 c’est devenu un mème technologique populaire :

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You

Mais le chercheur démontré que lors de l’extraction x.zip en utilisant un mot de passe complètement différent, il n’a reçu aucun message d’erreur.

En fait, l’utilisation d’un mot de passe différent a abouti à une extraction réussie du ZIP, avec le contenu d’origine intact :

pkH8a0AqNbHcdw8GrmSp

mots de passe différents pour le même ZIP
Deux mots de passe différents pour le même fichier ZIP entraînent une extraction réussie (Sharoglazov)

BleepingComputer a réussi à reproduire l’expérience en utilisant différents programmes ZIP. Nous avons utilisé les deux p7zip (équivalent 7-Zip pour macOS) et un autre utilitaire ZIP appelé tchèque.

Comme l’archive ZIP du chercheur, la nôtre a été créée avec le mot de passe plus long susmentionné, et avec Mode de cryptage AES-256 activé.

Alors que le ZIP était chiffré avec le mot de passe le plus long, l’utilisation de l’un ou l’autre mot de passe a extrait l’archive avec succès.

Comment est-ce possible ?

Répondant à la démo de Sharoglazov, lecteur curieux, Rafa a soulevé une question importante, “Comment ????”

utilisateur Twitter Déblvr semble avoir percé le mystère:

Lors de la production d’archives ZIP protégées par mot de passe avec le mode AES-256 activé, le format ZIP utilise le PBKDF2 algorithme et hache le mot de passe fourni par l’utilisateur, si le mot de passe est trop long. Par trop long, on entend plus de 64 octets (caractères), explique le chercheur.

Lire aussi  née en Ukraine, maintenant une actrice hollywoodienne à succès

Au lieu du mot de passe choisi par l’utilisateur (dans ce cas “Nev1r-G0nna-G2ve-…”) ce hachage nouvellement calculé devient le mot de passe réel du fichier.

Lorsque l’utilisateur tente d’extraire le fichier et saisit un mot de passe de plus de 64 octets (“Nev1r-G0nna-G2ve-… “), l’entrée de l’utilisateur sera à nouveau hachée par l’application ZIP et comparée au mot de passe correct (qui est maintenant lui-même un hachage). Une correspondance conduirait à une extraction de fichier réussie.

Le mot de passe alternatif utilisé dans cet exemple (“pkH8a0AqNbHcdw8GrmSp“) est en fait une représentation ASCII du mot de passe le plus long Hachage SHA-1.

Somme de contrôle SHA-1 de “Nev1r-G0nna-G2ve-…” = 706b4838613041714e62486364773847726d5370.

Cette somme de contrôle lorsque converti en ASCII produit : pkH8a0AqNbHcdw8GrmSp

Notez cependant que lors du chiffrement ou du déchiffrement d’un fichier, le processus de hachage ne se produit que si la longueur du mot de passe est supérieure à 64 caractères.

En d’autres termes, les mots de passe plus courts ne seront pas hachés à l’une ou l’autre des étapes de compression ou de décompression du ZIP.

Lire aussi  Pas d'adversaires ! ASUS Zenbook 14 OLED apporte beaucoup d'innovation

C’est pourquoi lors de la cueillette du long “Nev1r-G0nna-G2ve-… ” comme mot de passe au stade du cryptage, le mot de passe réel défini par le programme ZIP est en fait le hachage (SHA1) de cette chaîne.

A l’étape du déchiffrement, si vous deviez saisir “Nev1r-G0nna-G2ve-…,” il sera haché et comparé au mot de passe précédemment stocké (qui est le hachage SHA1). Cependant, la saisie du mot de passe plus court “pkH8a0AqNbHcdw8GrmSp” à l’étape de décryptage permettra à l’application de comparer directement cette valeur au mot de passe stocké (qui est, encore une fois le hachage SHA1).

La Collisions HMAC La sous-section de PBKDF2 sur Wikipedia fournit des informations plus techniques aux lecteurs intéressés.

“PBKDF2 a une propriété intéressante lors de l’utilisation de HMAC comme fonction pseudo-aléatoire. Il est possible de construire de manière triviale n’importe quel nombre de paires de mots de passe différentes avec des collisions au sein de chaque paire”, note l’entrée.

“Si un mot de passe fourni est plus long que la taille de bloc de la fonction de hachage HMAC sous-jacente, le mot de passe est d’abord pré-haché dans un résumé, et ce résumé est utilisé à la place comme mot de passe.”

Mais, le fait qu’il y ait maintenant deux mots de passe possibles pour le même ZIP ne représente pas une faille de sécurité, “car il faut toujours connaître le mot de passe d’origine pour générer le hachage du mot de passe”, explique en outre l’entrée.

Arriver à un mot de passe parfait

Un aspect clé intéressant à noter ici est que les représentations ASCII de chaque hachage SHA-1 n’ont pas besoin d’être alphanumériques.

En d’autres termes, supposons que nous ayons choisi le mot de passe suivant pour notre fichier ZIP lors de cette expérience. Le mot de passe fait plus de 64 octets :

Lire aussi  Un transistor synaptique extensible et bio-inspiré peut améliorer ou affaiblir la mémoire de l'appareil

Bl33pingC0mputer-Sh0w-M3-H0W-t0-pR0Duc3-an-eNcRyPT3D-ZIP-File-de-la-façon-la-plus-simple

C’est la somme de contrôle SHA-1 qui s’avère être : bd0b8c7ab2bf5934574474fb403e3c0a7e789b61

Et la représentation ASCII de cette somme de contrôle ressemble à un ensemble d’octets charabia – pas aussi élégant que le mot de passe alternatif généré par le chercheur pour son expérience :

mot de passe charabia
Représentation ASCII du hachage SHA-1 de Bl33pingOrdinateur… le mot de passe

BleepingComputer a demandé à Sharoglazov comment était-il capable de choisir un mot de passe dont la somme de contrôle SHA-1 serait telle que sa représentation ASCII donne une chaîne alphanumérique propre.

“C’est pourquoi le hashcat a été utilisé”, explique le chercheur à BleepingComputer.

En utilisant une version légèrement modifiée de l’outil de récupération de mot de passe open source, hashcatle chercheur a généré des variantes de la chaîne “Never Gonna Give You Up…” en utilisant des caractères alphanumériques jusqu’à ce qu’il parvienne à un mot de passe parfait.

“J’ai testé Nev0r, Nev1r, Nev2r et ainsi de suite… Et j’ai trouvé le mot de passe dont j’avais besoin.”

Et c’est ainsi que Sharoglazov est arrivé à un mot de passe qui se lit à peu près comme “Never Gonna Give You Up…”, mais la représentation ASCII de sa somme de contrôle SHA-1 est une chaîne alphanumérique soignée.

Pour la plupart des utilisateurs, la création d’un fichier ZIP protégé par mot de passe avec le choix de leur mot de passe devrait suffire et c’est tout ce qu’ils auraient besoin de savoir.

Mais si vous décidez de devenir aventureux, cette expérience vous donne un aperçu de l’un des nombreux mystères entourant les ZIP cryptés, comme avoir deux mots de passe pour votre secret gardé.

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ADVERTISEMENT