05/08/2024

Cybersécurité

Comment casser le mot de passe d’une archive ZIP protégée ?

I. Présentation

Comment retrouver le mot de passe d'un fichier ZIP protégé ? Comment casser le mot de passe d'une archive ZIP ? Voici deux questions que vous pourriez vous poser dans les où vous avez perdu le précieux sésame permettant d'accéder au contenu d'une archive ZIP chiffrée. Voici des éléments de réponse dans cet article !

Bien qu'il existe d'autres formats d'archives, le format ZIP est très couramment utilisé pour compresser des fichiers, ou pour protéger des données importantes grâce à l'ajout d'un mot de passe. Ceci en fait, en quelque sorte, un conteneur chiffré et protégé à moins de connaître le mot de passe. Comme tout mot de passe, celui-ci est susceptible d'être perdu s'il n'est pas stocké en lieu sûr, c'est-à-dire dans un gestionnaire de mots de passe, par exemple.

Que ce soit pour vos besoins personnels, pour dépanner un collègue ou un ami, vous pourriez avoir besoin de cracker le mot de passe d'une archive ZIP... Il ne vous reste plus qu'à lire la suite de cet article pour en apprendre plus sur le sujet.

Disclaimer : veillez à utiliser ces techniques dans un cadre légal, sur un fichier dont vous êtes le propriétaire et sur lequel vous disposez d'une autorisation.

II. Comment protéger une archive ZIP par un mot de passe ?

Nous allons commencer par créer une archive ZIP protégée par mot de passe à partir de l'application 7-Zip. Ceci permettra d'avoir une archive ZIP chiffrée sur laquelle travailler dans le cadre de cette démonstration.

Même si la fonction de gestion des archives ZIP de Windows 11 tend à s'étoffer, elle ne permet pas encore de protéger l'archive ZIP créée par un mot de passe. Ainsi, nous allons utiliser une application tierce, en l'occurrence, le célèbre 7-Zip (que vous pouvez télécharger sur cette page).

Ici, nous allons stocker dans l'archive ZIP le dossier "Backup_Vault_Keys". Il contient deux fichiers : "Key1.txt" et "Key2.txt". Nous effectuons un clic droit sur le dossier afin de choisir l'option "Ajouter à l'archive..." sous 7-Zip.

7-Zip - Créer une archive ZIP protégée par mot de passe - 1

Ensuite, nous choisirons "zip" comme format d'archive puis nous allons saisir un mot de passe par deux fois dans les champs prévus à cet effet dans la zone "Chiffrement". Dans un cas réel, veillez à stocker ce mot de passe dans votre gestionnaire de mots de passe pour éviter d'avoir à le craquer par la suite...! Quand c'est fait, cliquez sur "OK".

7-Zip - Créer une archive ZIP protégée par mot de passe - 2

7-Zip offre deux principales méthodes de chiffrement pour les fichiers ZIP : ZipCrypto et AES-256.

  • ZipCrypto est une méthode de chiffrement plus ancienne et plus simple. Elle est compatible avec de nombreux logiciels et systèmes d'exploitation, ce qui en fait un choix courant pour la création de fichiers ZIP chiffrés. C'est surement pour cette raison que 7-Zip utilise cette méthode de chiffrement par défaut.
  • AES-256 (AES une clé de 256 bits) offre un niveau de sécurité beaucoup plus élevé que ZipCrypto. Autrement dit, cet algorithme de chiffrement est plus robuste.

L'archive ZIP chiffrée étant créée, nous pouvons lister son contenu, mais il n'est pas possible d'ouvrir un fichier. Un mot de passe est demandé... Mais, partons du principe que nous ne connaissons pas ce mot de passe : comment faire ?

Fichier ZIP protégé par mot de passe

III. Les solutions possibles pour faire sauter le mot de passe d'un ZIP

Pour casser le mot de passe d'une archive ZIP, et ainsi accéder à son contenu, il n'y a pas d'autres choix que de découvrir le mot de passe. Ce n'est qu'en possession du précieux sésame qu'il sera possible d'ouvrir les fichiers présents dans le fichier ZIP protégé.

Ceci implique d'effectuer une attaque par brute force sur le hash du mot de passe utilisé pour protéger l'archive ZIP. Autrement dit, nous devons tester une multitude de combinaisons jusqu'à trouver le mot de passe correct... Nous pouvons tenter de générer et de tester l'ensemble des combinaisons correspondantes à certains critères (longueur du mot de passe, types de caractère, etc...) ou récupérer ces combinaisons dans un dictionnaire de mots de passe (créés sur-mesure, récupéré sur Internet, intégré à l'outil, etc.).

Partant de ce constat, quels outils allons-nous pouvoir utiliser ?

Il existe de nombreux outils, dont certains payants et d'autres gratuits, mais à chaque fois, c'est bien la méthode du brute force qui est employée. La différence se situe surtout dans la simplicité d'utilisation d'un outil vis-à-vis d'un autre. Un outil que l'on peut installer sur Windows et qui dispose d'une interface graphique sera accessible à tous les utilisateurs, tandis qu'un outil en ligne de commande impliquera de disposer de certaines compétences techniques.

Dans tous les cas, gardez à l'esprit que l'opération peut être un échec : tout dépend de la complexité du mot de passe et des performances de votre machine. Plus le mot de passe est robuste, plus il sera difficile de le craquer.

Remarque : afin de ne pas vous exposer à une fuite de données, évitez l'utilisation de services en ligne dont la promesse est de vous aider à craquer le mot de passe de votre archive ZIP.

À l'heure actuelle, avec une archive ZIP, il n'existe pas de manipulation simple et efficace que l'on peut faire pour casser le mot de passe, comme c'est le cas avec les feuilles Excel. Ici, cela peut être une question de secondes, de minutes, d'heures, de jours...

IV. Attaque par brute force sur une archive ZIP

Dans le cas présent, nous allons utiliser une machine Linux (en l'occurrence sous Kali Linux) afin d'effectuer une attaque brute force par dictionnaire avec l'outil "John The Ripper". Dans un second temps, nous utiliserons l'outil "fcrackzip". Kali Linux peut être utilisé sur une machine physique, en machine virtuelle, et même sur Windows par l'intermédiaire de WSL.

Nous partons du principe que la machine Kali Linux est prête à l'emploi. Nous allons déposer le fichier ZIP protégé sur cette machine afin de pouvoir travailler dessus. Dans le cas présent, le fichier est déposé dans "Documents" :

A. Brute force sur un fichier ZIP avec John The Ripper

John The Ripper est déjà préinstallé sur Kali Linux, comme de nombreux autres outils. Il est possible de l'installer sur d'autres distributions. Voici, par exemple, pour Debian :

sudo apt-get update
sudo apt-get install john

Désormais, nous devons utiliser le Terminal pour exécuter l'outil "zip2john".

Son objectif est d'extraire le hash du mot de passe du fichier ZIP chiffré et protégé par un mot de passe. Nous allons cibler le fichier "Backup_Vault_Keys.zip" et stocker le résultat dans le fichier "HashZip.john", que vous pouvez nommer comme bon vous semble. Ensuite, John the Ripper va pouvoir être utilisé pour tenter de cracker le mot de passe à partir du contenu du fichier "HashZip.john".

zip2john Backup_Vault_Keys.zip > HashZip.john

Nous obtenons ceci :

La prochaine étape consiste à déclencher l'attaque par brute force. John The Ripper intègre son propre dictionnaire de mots de passe qu'il peut utiliser ("/usr/share/john/password.lst"). Vous pouvez aussi utiliser votre propre dictionnaire (il en existe beaucoup sur Internet).

Ici, deux dictionnaires de mots de passe sont utilisés pour cette démo, dont celui issus du piratage de l'entreprise Rock You qui est utilisé : il contient plus de 14 millions de mots de passe.

# Effectuer la recherche avec le dictionnaire interne de John
john HashZip.john
# Effectuer la recherche avec un dictionnaire personnalisé
john HashZip.john --wordlist=/home/kali/Documents/rockyou.txt
john HashZip.john --wordlist=/home/kali/Documents/000webhost.txt

La première analyse à partir du fichier "rockyou.txt" est un échec. Ceci signifie que le mot de passe utilisé pour protéger mon archive ZIP ne fait pas partie des 14 344 392 mots de passe testés.

La seconde analyse effectuée à partir du dictionnaire "000webhost.txt" donne un résultat plus concluant : John The Ripper est parvenu à craquer le mot de passe de l'archive ZIP ! Ici, nous pouvons voir que le mot de passe de l'archive ZIP serait "P@ssword!".

Rendez-vous dans la prochaine grande partie de cet article pour apprendre à tester ce mot de passe et voir s'il est correct !

A. Brute force sur un fichier ZIP avec fcrackzip

À la place d'utiliser John The Ripper, nous pourrions utiliser un autre outil : fcrackzip. Il décrit de cette façon sur le site de Kali Linux : "fcrackzip est un craqueur de mots de passe rapide partiellement écrit en assembleur. Il est capable de craquer des fichiers zip protégés par un mot de passe avec des attaques basées sur le brute force ou un dictionnaire, en testant éventuellement ses résultats avec unzip."

Sur Kali Linux, il doit être installé avec cette commande :

sudo apt-get install fcrackzip

L'exemple ci-dessous permet de réaliser une attaque brute force par dictionnaire sur notre fichier ZIP. Nous précisons à la fois le nom du fichier ZIP et le nom du dictionnaire à utiliser.

fcrackzip -u -D -p "/home/kali/Documents/000webhost.txt" Backup_Vault_Keys.zip

En ce qui concerne les options utilisées, voici quelques précisions :

  • -u : utiliser unzip pour tester le mot de passe probable et ainsi éviter les faux positifs. Cette option améliore les résultats de l'outil.
  • -D : utiliser un dictionnaire.
  • -p : spécifier un fichier ZIP

À l'instar du premier outil utilisé, celui-ci parvient également à découvrir le mot de passe :

Démo Brute force fichier ZIP

Nous n'avons plus qu'à vérifier pour voir si ce mot de passe correspond réellement à celui de l'archive ZIP chiffrée.

V. Tester le mot de passe

Allons-nous pouvoir accéder aux fichiers présents dans l'archive ZIP chiffrée avec le mot de passe "P@ssword!" ? Nous allons essayer de décompresser l'archive ZIP avec la commande "unzip" en spécifiant ce mot de passe.

Voici la commande à exécuter :

unzip -P "P@ssword!" Backup_Vault_Keys.zip

Le mot de passe est accepté puisque l'outil parvient à décompresser le contenu de l'archive ZIP. Ensuite, nous parvenons bien à lire le contenu de l'un des fichiers, et nous pourrions faire la même chose avec le second fichier.

Ce qui donne :

Unzip - Décompresser archive ZIP protégée par mot de passe

VI. Conclusion

Libre à vous d'utiliser John The Ripper, fcrackzip ou un autre outil non présenté dans cet article pour tenter de casser le mot de passe d'une archive ZIP. L'essentiel étant de connaître ce qu'il est possible, ou pas possible de faire, à l'heure actuelle pour accéder au contenu d'un fichier ZIP protégé.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.