CRUNCH(1) | General Commands Manual | CRUNCH(1) |
NAME¶
crunch - generate wordlists from a character setSYNOPSIS¶
crunch <min-len> <max-len> [<charset string>] [options]DESCRIPTION¶
Crunch can create a wordlist based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program. The required parameters are:min-len
The minimum length string you want crunch to start at. This option is required
even for parameters that won't use the value.
max-len
The maximum length string you want crunch to end at. This option is required
even for parameters that won't use the value.
charset string
You may specify character sets for crunch to use on the command line or if you
leave it blank crunch will use the default character sets. The order MUST BE
lower case characters, upper case characters, numbers, and then symbols. If
you don't follow this order you will not get the results you want. You MUST
specify either values for the character type or a plus sign. NOTE: If you want
to include the space character in your character set you must escape it using
the \ character or enclose your character set in quotes i.e. "abc ".
See the examples 3, 11, 12, and 13 for examples.
OPTIONS¶
-b number[type]
Specifies the size of the output file, only works if -o START is used, i.e.:
60MB The output files will be in the format of starting letter-ending letter
for example: ./crunch 4 5 -b 20mib -o START will generate 4 files:
aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt valid values
for type are kb, mb, gb, kib, mib, and gib. The first three types are based on
1000 while the last three types are based on 1024. NOTE There is no space
between the number and type. For example 500mb is correct 500 mb is NOT
correct.
-c number
Specifies the number of lines to write to output file, only works if -o START is
used, i.e.: 60 The output files will be in the format of starting
letter-ending letter for example: ./crunch 1 1 -f
/pentest/password/crunch/charset.lst mixalpha-numeric-all-space -o START -c 60
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
because the last character is a space.
-d numbersymbol
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. @,%^ See examples 17-19.
-e string
Specifies when crunch should stop early
-f /path/to/charset.lst charset-name
Specifies a character set from the charset.lst
-i Inverts the output so instead of aaa,aab,aac,aad, etc you get
aaa,baa,caa,daa,aba,bba, etc
-l When you use the -t option this option tells crunch which
symbols should be treated as literals. This will allow you to use the
placeholders as letters in the pattern. The -l option should be the same
length as the -t option. See example 15.
-m Merged with -p. Please use -p instead.
-o wordlist.txt
Specifies the file to write the output to, eg: wordlist.txt
-p charset OR -p word1 word2 ...
Tells crunch to generate words that don't have repeating characters. By default
crunch will generate a wordlist size of #of_chars_in_charset ^ max_length.
This option will instead generate #of_chars_in_charset!. The ! stands for
factorial. For example say the charset is abc and max length is 4.. Crunch
will by default generate 3^4 = 81 words. This option will instead generate 3!
= 3x2x1 = 6 words (abc, acb, bac, bca, cab, cba). THIS MUST BE THE LAST
OPTION! This option CANNOT be used with -s and it ignores min and max length
however you must still specify two numbers.
-q filename.txt
Tells crunch to read filename.txt and permute what is read. This is like the -p
option except it gets the input from filename.txt.
-r Tells crunch to resume generate words from where it left off.
-r only works if you use -o. You must use the same command as the original
command used to generate the words. The only exception to this is the -s
option. If your original command used the -s option you MUST remove it before
you resume the session. Just add -r to the end of the original command.
-s startblock
Specifies a starting string, eg: 03god22fs
-t @,%^
Specifies a pattern, eg: @@god@@@@ where the only the @'s, ,'s, %'s, and ^'s
will change.
@ will insert lower case characters
, will insert upper case characters
% will insert numbers
^ will insert symbols
-u
The -u option disables the printpercentage thread. This should be the last
option.
-z gzip, bzip2, lzma, and 7z
Compresses the output from the -o option. Valid parameters are gzip, bzip2,
lzma, and 7z.
gzip is the fastest but the compression is minimal. bzip2 is a little slower
than gzip but has better compression. 7z is slowest but has the best
compression.
EXAMPLES¶
Example 1REDIRECTION¶
You can use crunch's output and pipe it into other programs. The two most popular programs to pipe crunch into are: aircrack-ng and airolib-ng. The syntax is as follows:NOTES¶
1. Starting in version 2.6 crunch will display how much data is about to be generated. In 2.7 it will also display how many lines will be generated. Crunch will now wait 3 seconds BEFORE it begins generating data to give you time to press Ctrl-C to abort crunch if you find the values are too large for your application. 2. I have added hex-lower (0123456789abcdef) and hex-upper (0123456789ABCDEF) to charset.lst. 3. Several people have requested that I add support for the space character to crunch. crunch has always supported the space character on the command line and in the charset.lst. To add a space on the command line you must escape it using the / character. See example 3 for the syntax. You may need to escape other characters like ! or # depending on your operating system. 4. Starting in 2.7 if you are generating a file then every 10 seconds you will receive the % done. 5. Starting in 3.0 I had to change the -t * character to a , as the * is a reserved character. You could still use it if you put a \ in front of the *. Yes it breaks crunch's syntax and I do my best to avoid doing that, but in this instance it is easier to make the change for long term support. 6. Some output is missing. A file didn't get generated.AUTHOR¶
This manual page was written by bofh28@gmail.com Crunch version 1.0 was written by mimayin@aciiid.ath.cxFILES¶
None.BUGS¶
If you find any please email bofh28 <bofh28@gmail.com> or post to http://www.backtrack-linux.orgCOPYRIGHT¶
Copyright (c) 2009-2013 bofh28 <bofh28@gmail.com> This file is a part of Crunch. Crunch is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 only of the License. Crunch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Crunch. If not, see <http://www.gnu.org/licenses/>.May 2014 | Version 3.6 |