Aller au contenu

Crack ZIP

df
Il existe un bon nombre de façons de casser le mot de passe d’un fichier zippé. La plus simple et rapide consiste à extraire le Hash du mot de passe avec John the ripper, puis de casser le mot de passe soit avec John, soit avec HashCat.
John the ripper permet de faire des attaques avec son algorithme, ou bien d’utiliser un dictionnaire comme Rockyou, le plus populaire et déjà intégré à Kali Linux nativement.

Création de l'archive

1. Pour faire un test, vous pouvez créer un fichier zip avec les commandes suivantes :
zip --password password archive.zip file
unzip archive.zip

Crack de l'archive

2. Ensuite, il faut utiliser l’outil zip2john et lui demander de l’inscrire dans un fichier
zip2john archive.zip > hash
3. Copier le fichier hash dans le dossier de votre wordlist, ici rockyou.txt inclue dans Kali Linux
cp hash /usr/share/wordlists
cd /usr/share/wordlists
4. Attaquer le hash du mot de passe de l’archive (Dictionnaire)
gzip -d  rockyou.txt.gz
john --wordlist=rockyou.txt hash
5. La sortie de la commande :
┌──(root💀kali-linux-2021-1)-[/usr/share/wordlists]
└─# john --wordlist=rockyou.txt hash
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
password         (archive.zip/file)     
1g 0:00:00:00 DONE (2023-02-16 20:06) 100.0g/s 6553Kp/s 6553Kc/s 6553KC/s 123456..sabrina7
Use the "--show" option to display all of the cracked passwords reliably
Session completed. 

En cas de succès, le mot de passe est inscrit en clair en jaune, ici c’est « password »

Le contenu du hash est vérifiable avec la commande suivante :

┌──(root💀kali-linux-2021-1)-[/usr/share/wordlists]
└─# john --show hash
archive.zip/file:pass:file:archive.zip::archive.zip

Attaquer le hash avec Hashcat

Il est aussi possible d’attaquer le hash de l’archive avec Hashcat :
──(root💀kali-linux-2021-1)-[/usr/share/wordlists]
└─# cat hash 
archive.zip/file:$pkzip$1*2*2*0*12*6*363a3020*0*3e*0*12*a014*b0e8c59c84cc9756430fd4cab0a668daa891*$/pkzip$:file:archive.zip::archive.zip
Récuperer le type de hash avec hashcat –show hash
┌──(root💀kali-linux-2021-1)-[/usr/share/wordlists]
└─# hashcat --show hash.hash
The following 2 hash-modes match the structure of your input hash:

      # | Name                                                | Category
  ======+=====================================================+======================================
  17225 | PKZIP (Mixed Multi-File)                            | Archive
  17210 | PKZIP (Uncompressed)                                | Archive

Please specify the hash-mode with -m [hash-mode].
Une fois le hash extrait, il faut le copier et le mettre dans la commande suivante :
┌──(root💀kali-linux-2021-1)-[/usr/share/wordlists]
└─# hashcat -m17210 hash.hash -a3 ?l?l?l?l --show
$pkzip$1*2*2*0*12*6*363a3020*0*3e*0*12*a014*b0e8c59c84cc9756430fd4cab0a668daa891*$/pkzip$:pass

Explication de la commande : 

hashcat (-m *type de hash*) (*hash de l’archive*) -a (*type d’attaque*) (*inconues du masque*) –incrément (*pour dire au programme de tester les combinaisons une par une*)

Le hash est récupéré en faisant une concaténation d’un fichier