← retour aux outils back to tools

# 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)