Fichier ZIP protégé par mot de passe

Flag: flag{we_can_bruteforce_anything_to_get_what_we_want}

Challenge

Description


J'ai oublié le mot de passe de mon fichier ZIP, pouvez-vous m'aider à récupérer mon fichier précieux, s'il vous plaît ?

Solution

On va utiliser John The Ripper pour trouver le mot de passe. Pour ça on commence par faire une empreinte du zip compréhensible par john avec la commande :

┌──(kali㉿kali)-[~/StarHack 2024]
└─$ zip2john flag.zip > flag.zip.john

Pour ceux qui se demandent, l'empreinte ressemble à ça :

┌──(kali㉿kali)-[~/StarHack 2024]
└─$ cat flag.zip.john
flag.zip/flag.txt:$zip2$010f09619c024e2f49b17e734a538da68813721c8e75dcad045c5ce3d030d3aab8201aa94bcab6cc12b58cb83352311a277256a164c065a57022b8da00100d7aa429511879cc3a15c176a*$/zip2$:flag.txt:flag.zip:flag.zip

Maintenant, on peut lancer john avec son dictionnaire de base sur ce nouveau fichier :

┌──(kali㉿kali)-[~/StarHack 2024]
└─$ john flag.zip.john
Using default input encoding: UTF-8
Loaded 1 password hash (ZIP, WinZip [PBKDF2-SHA1 128/128 AVX 4x])
Cost 1 (HMAC size) is 52 for all loaded hashes
Will run 4 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Proceeding with wordlist:/usr/share/john/password.lst
friendster       (flag.zip/flag.txt)
1g 0:00:00:00 DONE 2/3 (2024-11-07 01:35) 1.538g/s 40890p/s 40890c/s 40890C/s 123456..Peter
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Le mot de passe était dans notre dictionnaire : friendster

Le fichier dans l'archive s'appelle flag.txt, on a plus qu'à l'ouvrir. Ici, j'utilise 7z avec la commande avec :

  • e flag.zip pour extraire l'archive

  • -p<mot_de_passe> pour préciser le mot de passe à utiliser

  • -so flag.txt pour filtrer les fichiers à extraire et les afficher dans stdout sans les enregistrer sur mon disque dur.

┌──(kali㉿kali)-[~/StarHack 2024]
└─$ 7z e flag.zip -pfriendster -so flag.txt
flag{we_can_bruteforce_anything_to_get_what_we_want}

Dernière mise à jour

Cet article vous a-t-il été utile ?