JWK - Jackall's IT Wiki

Sécurité, Système, Réseau

Outils pour utilisateurs

Outils du site


crunch

Crunch

Introduction

Crunch est un générateur de liste (dictionnaire) sous GNU/Linux disponible sous licence GPL. Il permet de générer des listes de mots à partir de classes de caractères données qui peuvent être utilisées pour des attaques par dictionnaires.
Dans cette article, nous ferons un tour rapide des fonctionnalités et de la syntaxe de base.

Fonctionnalités

Génération "sans limitation"

Crunch générera une liste contenant toutes les combinaisons et permutations possible de la taille spécifiée en entrée.

Répétition de caractère

En allant plus loin, il est possible de limiter le nombre de répétition successive du même caractère.

Pattern

Les patterns (ou patrons) permettent de “donner un forme” aux mots de passe qui seront générés.

En vrac d'autres fonctionnalités intéressantes du point de vue sécurité:

  • Limitation de la taille des fichiers générés
  • Resume (reprise après arrêt)
  • Support de l'unicode

.

Installation sous GNU/linux

Crunch est installé de base sous Kali Linux. Ici, installation sous Ubuntu:

<note important>Apparement pas de package pour Ubuntu</note>

Téléchargement de crunch

Disponible sur sourceforge dans le projet crunch-wordlist 1)

Installation

  • Décompressez l'archive
jackall@EDO:~$ cd /usr/src/
jackall@EDO:/usr/src$ sudo tar -xvzf /home/jackall/Documents/crunch-3.6.tgz     
crunch-3.6/
crunch-3.6/crunch.1
crunch-3.6/charset.lst
crunch-3.6/unicode_test.lst
crunch-3.6/Makefile
crunch-3.6/crunch.c
crunch-3.6/COPYING
jackall@EDO:/usr/src$ cd crunch-3.6/
  • Compilation
jackall@EDO:/usr/src/crunch-3.6$ cat Makefile 
<...>
# Default target
all: build
 
build: crunch
<...>
crunch: crunch.c
        @echo "Building binary..."
        $(CC) $(CPPFLAGS) $(CFLAGS_STD) $(CFLAGS) $(LFS) $? $(LIBFLAGS) $(LDFLAGS) -o $@
        @echo ""
 
jackall@EDO:/usr/src/crunch-3.6$ sudo make 
Building binary...
/usr/bin/gcc  -pthread -Wall -pedantic -std=c99   crunch.c -lm  -o crunch
  • Installation
jackall@EDO:/usr/src/crunch-3.6$ sudo make install
Creating directories...
sudo /usr/bin/install -d -g root -o root \
                /usr/bin \
                /usr/share/man/man1 \
                /usr/share/crunch \
                /usr/share/doc/crunch
Copying binary...
sudo /usr/bin/install crunch /usr/bin
Copying charset.lst...
sudo /usr/bin/install charset.lst /usr/share/crunch
Copying COPYING...
sudo /usr/bin/install COPYING /usr/share/doc/crunch
Installing man page...
sudo /usr/bin/install crunch.1 /usr/share/man/man1

Utilisation

Génération simple

Pour générer une liste de taille fixe à partir d'un ensemble de caractère, on utilise la syntaxe de base :

crunch tailleMin tailleMax caractères

Avec tailleMin=tailleMax Exemple:

# crunch  3 3 aze
Crunch will now generate the following amount of data: 108 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 27 
aaa
aaz
aae
aza
azz
aze
aea
aez
aee
zaa
zaz
zae
zza
zzz
zze
zea
zez
zee
eaa
eaz
eae
eza
ezz
eze
eea
eez
eee 

Sortie dans un/des fichier(s)

Pour diriger la sortie dans un seul fichier (attention à la taille…)

crunch tailleMin tailleMax caractère -o fichier.lst

Exemple:

~# crunch 3 4  -o fichier.lst
Crunch will now generate the following amount of data: 2355184 bytes
2 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 474552
 
~# wc -l fichier.lst
474552 fichier.lst
 
~# du -sh fichier.lst
2.3M    fichier.lst

Pour limiter la taille du fichier de sortie on utilise les options -o START + -b tailleFichierMax

~# crunch 3 4 -b 500kb -o START
 
Crunch will now generate the following amount of data: 2355184 bytes
2 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 474552
 
crunch:  21% completed generating output
 
crunch:  42% completed generating output
 
crunch:  63% completed generating output
 
crunch:  85% completed generating output
 
crunch: 100% completed generating output
 
~# wc -l *.txt
 103515 aaa-exdi.txt
 100000 exdj-kpbm.txt
 100000 kpbn-qgzq.txt
 100000 qgzr-vyxu.txt
  71037 vyxv-zzzz.txt
 474552 total
 
~# du -sh *.txt
492K    aaa-exdi.txt
492K    exdj-kpbm.txt
492K    kpbn-qgzq.txt
492K    qgzr-vyxu.txt
348K    vyxv-zzzz.txt

Conclusion

Avec cela, il est possible de générer des listes personalisées, bien utile durant les pentests.

<note>Un second article évoquera les utilisations plus avancées de crunch telles que:

  • Patterns
  • Classes de caractères
  • Répétition

</note>

search?q=S%C3%A9curit%C3%A9%20Soft%20Crunch%20Pentest%20Kali%20Crack%20FR&amp;btnI=lucky

crunch.txt · Dernière modification: 2018/02/18 16:01 (modification externe)