crunch

Générateur de wordlist. Crée des wordlists personnalisées à partir de jeux de caractères, de motifs et de plages de longueur. Utile pour des attaques ciblées contre des politiques de mot de passe connues. Wordlist generator. Creates custom wordlists based on character sets, patterns, and length ranges. Useful for targeted password attacks against known password policies.

↗ https://sourceforge.net/projects/crunch-wordlist/

Overview

crunch generates wordlists based on specified character sets, minimum/maximum lengths, and patterns. Unlike rockyou.txt, crunch-generated lists are targeted to a specific policy (e.g., exactly 8 chars, uppercase + digits) and are piped directly to cracking tools to avoid large disk writes.

Basic Syntax

crunch <min-len> <max-len> [charset] [options]

Common Usage

Generate all combinations of lowercase letters, 4-6 chars

crunch 4 6 abcdefghijklmnopqrstuvwxyz

Save to file

crunch 4 6 abcdefghijklmnopqrstuvwxyz -o wordlist.txt

Pipe directly to hashcat (avoids disk write)

crunch 8 8 abcdefghijklmnopqrstuvwxyz0123456789 | hashcat -m 1000 hash.txt --stdin

Pipe directly to aircrack

crunch 8 12 abcdefghijklmnopqrstuvwxyz | aircrack-ng -w - handshake.cap

Character Sets

Lowercase

crunch 6 6 abcdefghijklmnopqrstuvwxyz

Uppercase

crunch 6 6 ABCDEFGHIJKLMNOPQRSTUVWXYZ

Digits only

crunch 4 4 0123456789

Mixed (upper + lower + digits)

crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

Use built-in charset file

crunch 8 8 -f /usr/share/crunch/charset.lst mixalpha-numeric
# Common built-in charsets (from charset.lst)
# ualpha       A-Z
# lalpha       a-z
# mixalpha     A-Za-z
# numeric      0-9
# mixalpha-numeric  A-Za-z0-9
# mixalpha-numeric-all  A-Za-z0-9!@#$%...

Pattern-based Generation

crunch 8 8 -t Pass@@@@     # Pass followed by 4 lowercase
crunch 8 8 -t @@@@%@%@     # 4 lower, digit, lower, digit, lower
crunch 10 10 -t Company@@%% # "Company" + 2 lowercase + 2 digits

Mix pattern with charset

crunch 8 8 -t "Summer%%" 0123456789   # Summer + 2 digits
crunch 10 10 -t admin%%%%%   # admin + 5 digits
crunch 12 12 -t Password%%%%  # Password + 4 digits

Splitting Output (for large lists)

Split into multiple files of 100MB each

crunch 8 8 abcdefghijklmnopqrstuvwxyz -o START -b 100mb

Split by number of lines

crunch 8 8 abcdefghijklmnopqrstuvwxyz -c 1000000 -o wordlist

Targeted Policy Attacks

Password policy: 8 chars, at least 1 upper, 1 lower, 1 digit Use hashcat mask attack instead of crunch for this — more efficient:

hashcat -m 1000 hash.txt -a 3 ?u?l?l?l?l?l?d?d

Numeric PINs (4-digit)

crunch 4 4 0123456789 -o pins.txt

Common WiFi passwords: exactly 8 chars all digits

crunch 8 8 0123456789 | aircrack-ng handshake.cap -w -

Tips

  • For policies with mixed requirements, hashcat’s mask attack (-a 3) is faster than crunch
  • Always pipe to the cracking tool rather than saving to disk — avoids TB-sized files
  • crunch output is deterministic — you can estimate generation time with small ranges first
  • -b file splitting is useful for distributing work across multiple cracking machines
Help / Man page
crunch <min> <max> [charset] [options]

-b size         Max file size (e.g. 100mb, 1gb)
-c count        Max line count per file
-d N            Limit consecutive identical characters
-e string       Stop at this string
-f file         Charset file path
-i              Invert output order
-l              Literal interpretation of @ , % ^
-o file         Output file (START = auto-name)
-p strings      Permutation mode (no min/max needed)
-q file         Like -p but reads from file
-r              Resume from last position
-s string       Start at this string
-t pattern      @ = lower, , = upper, % = digit, ^ = special
-u              Suppress percent complete output
-z type         Compress output (gzip, bzip2, lzma, 7z)

Vue d’ensemble

crunch génère des wordlists à partir de jeux de caractères, de longueurs minimale/maximale et de motifs spécifiés. Contrairement à rockyou.txt, les listes générées par crunch sont ciblées sur une politique précise (par ex. exactement 8 caractères, majuscules + chiffres) et sont redirigées directement vers les outils de crack pour éviter de grosses écritures disque.

Syntaxe de base

crunch <min-len> <max-len> [charset] [options]

Utilisation courante

# Générer toutes les combinaisons de lettres minuscules, 4 à 6 caractères
crunch 4 6 abcdefghijklmnopqrstuvwxyz

# Sauvegarder dans un fichier
crunch 4 6 abcdefghijklmnopqrstuvwxyz -o wordlist.txt

# Rediriger directement vers hashcat (évite l'écriture disque)
crunch 8 8 abcdefghijklmnopqrstuvwxyz0123456789 | hashcat -m 1000 hash.txt --stdin

# Rediriger directement vers aircrack
crunch 8 12 abcdefghijklmnopqrstuvwxyz | aircrack-ng -w - handshake.cap

Jeux de caractères

# Minuscules
crunch 6 6 abcdefghijklmnopqrstuvwxyz

# Majuscules
crunch 6 6 ABCDEFGHIJKLMNOPQRSTUVWXYZ

# Chiffres uniquement
crunch 4 4 0123456789

# Mixte (majuscules + minuscules + chiffres)
crunch 8 8 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

# Utiliser un fichier de charset intégré
crunch 8 8 -f /usr/share/crunch/charset.lst mixalpha-numeric
# Charsets intégrés courants (depuis charset.lst)
# ualpha       A-Z
# lalpha       a-z
# mixalpha     A-Za-z
# numeric      0-9
# mixalpha-numeric  A-Za-z0-9
# mixalpha-numeric-all  A-Za-z0-9!@#$%...

Génération basée sur un motif

crunch 8 8 -t Pass@@@@     # Pass suivi de 4 minuscules
crunch 8 8 -t @@@@%@%@     # 4 minuscules, chiffre, minuscule, chiffre, minuscule
crunch 10 10 -t Company@@%% # "Company" + 2 minuscules + 2 chiffres
# Mixer motif et charset
crunch 8 8 -t "Summer%%" 0123456789   # Summer + 2 chiffres
crunch 10 10 -t admin%%%%%   # admin + 5 chiffres
crunch 12 12 -t Password%%%%  # Password + 4 chiffres

Découper la sortie (pour les grosses listes)

# Découper en plusieurs fichiers de 100 Mo chacun
crunch 8 8 abcdefghijklmnopqrstuvwxyz -o START -b 100mb

# Découper par nombre de lignes
crunch 8 8 abcdefghijklmnopqrstuvwxyz -c 1000000 -o wordlist

Attaques ciblées sur une politique

# Politique de mot de passe : 8 caractères, au moins 1 majuscule, 1 minuscule, 1 chiffre
# Utilisez plutôt une attaque par masque de hashcat que crunch pour ça : plus efficace
hashcat -m 1000 hash.txt -a 3 ?u?l?l?l?l?l?d?d
# PINs numériques (4 chiffres)
crunch 4 4 0123456789 -o pins.txt

# Mots de passe WiFi courants : exactement 8 caractères, tous chiffres
crunch 8 8 0123456789 | aircrack-ng handshake.cap -w -

Conseils

  • Pour les politiques aux exigences mixtes, l’attaque par masque de hashcat (-a 3) est plus rapide que crunch
  • Redirigez toujours vers l’outil de crack plutôt que de sauvegarder sur disque : évite les fichiers de plusieurs To
  • La sortie de crunch est déterministe : vous pouvez estimer le temps de génération en testant d’abord de petites plages
  • Le découpage de fichiers -b est utile pour répartir le travail sur plusieurs machines de crack
Aide / Page de manuel
crunch <min> <max> [charset] [options]

-b size         Max file size (e.g. 100mb, 1gb)
-c count        Max line count per file
-d N            Limit consecutive identical characters
-e string       Stop at this string
-f file         Charset file path
-i              Invert output order
-l              Literal interpretation of @ , % ^
-o file         Output file (START = auto-name)
-p strings      Permutation mode (no min/max needed)
-q file         Like -p but reads from file
-r              Resume from last position
-s string       Start at this string
-t pattern      @ = lower, , = upper, % = digit, ^ = special
-u              Suppress percent complete output
-z type         Compress output (gzip, bzip2, lzma, 7z)