- add more information to help section
- Fixed mem leaks, invalid comparisons – fixed by JasonC
- Error messages and startup summary now go to stderr (-u now unnecessary) – fixed by JasonC
- Fixed startup delay due to long sequences of dupe-skipped strings – fixed by JasonC
- Added unicode support – written by JasonC
- fix write and compress error – reported and fixed by amontero
- fix printpercentage -> linecounter should be ->linetotal add support for 7z
Crunch is a wordlist generator where you can specify a standard character set or a character set you specify. crunch can generate all possible combinations and permutations.
- crunch generates wordlists in both combination and permutation ways
- it can breakup output by number of lines or file size
- now has resume support
- pattern now supports number and symbols
- pattern now supports upper and lower case characters separately
- adds a status report when generating multiple files
- new -l option for literal support of @,%^
- new -d option to limit duplicate characters see man file for details
- now has unicode support
TODO: Listed in no particular order
add resume support to permute (I am not sure this is possible)
make permute more intelligent (min, max) (I am not sure this is possible either)
support SIGINFO when Linux supports it, use SIGUSR1 until SIGINFO is available
finalbytecount isn’t currently correct for unicode chars unless -p used
let user specify placeholder characters (@,%^)
add date support?
specify multiple charset names using -f i.e. -f charset.lst + ualpha 123 +
make permute use -e
revamp compression part of renamefile 7z doesn’t delete original file
maybe fork compression part of renamefile
usage: ./crunch [charset] [-t [FIXED]@@@@] [-s startblock]
e.g: ./crunch 3 7 abcdef
This example will compute all passwords between 3 and 7 chars
using ‘abcdef’ as the character set and dump it to stdout.
usage: ./crunch [-f charset-name] [-o wordlist.txt or START] [-t [FIXED]@@@@] [-s startblock]
-b : maximum bytes to write to output file. depending on the blocksize
files may be some bytes smaller than specified but never bigger.
-c : numbers of lines to write to output file, only works if “-o START”
is used, eg: 60 The output files will be in the format of starting
letter – ending letter for example:
crunch 1 5 -f /pentest/password/charset.lst mixalpha -o START -c 52
will result in 2 files: a-7.txt and 8- .txt The reason for the
slash in the second filename is the ending character is space and
ls has to escape it to print it. Yes you will need to put in
the when specifying the filename.
-d : limits the number of duplicate characters. -d 2@ limits the
lower case alphabet to output like aab and aac.
aaa would not be generated as that is 3 consecutive letters of a.
The format is number then symbol where number is the maximum number
of consecutive characters and symbol is the symbol of the the
character set you want to limit i.e. @,%^
-e : tells crunch to stop generating words at string. Useful when piping
-f : path to a file containing a list of character sets, eg: charset.lst
name of the character set in the above file eg:
-i : inverts the output so the first character will change very often
-l : literal characters to use in -t @,%^
-o : allows you to specify the file to write the output to, eg:
-p : prints permutations without repeating characters. This option
CANNOT be used with -s. It also ignores min and max lengths.
-q : Like the -p option except it reads the strings from the specified
file. It CANNOT be used with -s. It also ignores min and max.
-r : resume a previous session. You must use the same command line as
the previous session.
-s : allows you to specify the starting string, eg: 03god22fs
-t [FIXED]@,%^ : allows you to specify a pattern, eg: @@god@@@@
where the only the @’s will change with lowercase letters
the ,’s will change with uppercase letters
the %’s will change with numbers
the ^’s will change with symbols
-u : only print words; supress file size information, aka unheard
not need since version 3.3
-z : adds support to compress the generated output. Must be used
with -o option. Only supports gzip, bzip, and lzma.
This code can be easily adapted for use in brute-force attacks
against network services or cryptography.
Compiles on: any 32 or 64 bit Linux distribution should work without issue. I have
received word that crunch compiles MacOS. You can also compile crunch on FreeBSD
although you must manually compile on FreeBSD using gcc. Apparently FreeBSD
can’t use Makefiles.
Crunch should compile on ms visual c++ and other operating systems but I don’t
have access to any of the those systems. Please let me know.