Crunch是密码一种创建密码字典工具,按照指定的字典规则生成密码字典,可以灵活的生成制定自己的字典文件。使用Crunch工具生成的工具密码可以输出到屏幕,保存到文件、密码或另一个程序。字典知道密码的生成一部分细节后,可以针对性的工具生成字典 ,目前版本3.6
。密码其开源代码地址
: https://github.com/jaalto/external-sf--crunch-wordlist https://github.com/crunchsec/crunch (1)kali默认安装 (2)centos安装 说明 : (1)如果是工具基于32版本编译 ,需要安装相应的密码组件
,否则编译会出错 ,字典如下图所示。生成 图 编译出错 (2)分别安装相应的库文件 crunch <min-len> <max-len> [<charset string>] [options] crunch 密码最小长度 密码最大长度 [字符集] [命令选项] [命令选项] -b number[type] 指定输出文件的大小,只有在使用 -o START 时才有效
,例如:60MB ,模板下载输出文件将以起始字母-结束字母的格式命名,例如 :./crunch 4 5 -b 20mib -o START 将生成4个文件:aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt 。类型的有效值为 kb, mb, gb, kib, mib, 和 gib。前三种类型基于1000,而后三种类型基于1024
。注意数字和类型之间没有空格 。例如 500mb 是正确的 ,而 500 mb 是不正确的。 -c number 指定写入输出文件的行数,源码下载只有在使用 -o START 时才有效 ,例如 :60 ,输出文件将以起始字母-结束字母的格式命名
,例如 :./crunch 1 1 -f /pentest/password/crunch/charset.lst mixalpha-numeric-all-space -o START -c 60 将生成2个文件:a-7.txt 和 8-\ .txt 。第二个文件名中的斜杠是因为结束字符是空格,ls 必须转义它才能打印出来。当指定文件名时
,确实需要输入 \
,因为最后一个字符是空格。 -d numbersymbol 限制重复字符的数量
。源码库-d 2@ 会将小写字母限制为输出类似 aab 和 aac
。aaa 不会被生成 ,因为这是3个连续的 a 字母 。格式是数字后跟符号,其中数字是最大连续字符数 ,符号是你想要限制的字符集的符号,例如 @,%^ -e string 指定 crunch 应该提前停止的时间点。 -f /path/to/charset.lst charset-name 指定一个来自 charset.lst 的高防服务器字符集 。 -i 反转输出 ,所以不是 aaa,aab,aac,aad, 等等,而是得到aaa,baa,caa,daa,aba,bba, 等等。 -l 当使用 -t 选项时 ,此选项告诉 crunch 哪些符号应被视为字面量
。这允许你在模式中将占位符用作字母
。-l 选项的长度应该与 -t 选项相同。参见示例15。 -m 已合并到 -p 中。请改用 -p。 -o wordlist.txt 指定要写入输出的文件 ,云计算例如 :wordlist.txt -p charset 或 -p word1 word2 ... 告诉 crunch 生成没有重复字符的单词。默认情况下
,crunch 会生成一个字符集中的字符数量的幂次方(#of_chars_in_charset ^ max_length)大小的单词表 。此选项将生成字符集中的字符数量的阶乘(#of_chars_in_charset!)。! 表示阶乘
。例如
,如果字符集是 abc ,最大长度是 4,crunch 默认会生成 3^4 = 81 个单词。此选项将生成 3! = 3x2x1 = 6 个单词(abc, acb, bac, bca, cab, cba)
。这必须是最后一个选项 !此选项不能与 -s 一起使用
,并且它忽略了最小和最大长度,但你仍然必须指定两个数字。 -q filename.txt 告诉 crunch 读取 filename.txt 并排列读取的内容 。这类似于 -p 选项,但它从 filename.txt 获取输入
。 -r 告诉 crunch 从中断的地方继续生成单词。-r 仅在使用 -o 时有效 。你必须使用与最初生成单词时相同的命令。唯一的例外是 -s 选项
。如果你最初的命令使用了 -s 选项,在恢复会话之前你必须移除它
。只需在原始命令的末尾添加 -r 即可。 -s startblock 指定一个起始字符串,例如 :03god22fs -t @,%^ 指定一个模式,例如:@@god
@77yM@@@其中只有 @, , %, 和 ^ 会发生变化。 @ 将插入小写字母 , 将插入大写字母 % 将插入数字 ^ 将插入符号 -u -u 选项禁用打印百分比线程@@@44CC 44CC l)^~,q)ޅ蠆4^֥ yfj"-Ҝs8o8\kngnh44CC8o8\k44CC877yM44CCo877yM44CC77yM44CCwܥzױby^~ٚnmmtwܥy'ȳ{_)XzxҜm{Z('홪v&Jqrrv44CC
ur"|b^mJqmjXWf)ۢh})uiܥy'ȳ{_)XzxҜm{Z('홪v&Jqrr<<44CC
r"|b^mJqmjXWf)ۢh})vuul)^~,q)ޅ蠆4^֥ yfj"-Ҝgn\܅uj 44CC@@@ crunch 1 6 abcdefg\ 字符串末尾有一个空格@@@44CC
rr77yM44CC77yM77yM77yMiy44CCrrqן44CC8r"|b^mJqmjXWf)ۢh})vu!j[-,ZZ鞮'[)iǨݖ+--W{l7ewz(!)ױby^~ٚnmm۲+w!re٢ũiqe77yMݖ+-44CC77yM
))))44CCyr"|b^mJqmjXWf)ۢh})v|!j[-,ZZ鞮'[)iǨݖ+-mv -s cbdogaaa crunch 将使用 charset.lst 中的 mixalpha-numeric-all-space 字符集生成一个 8 个字符的单词列表,并将单词列表写入名为 wordlist.txt 的文件。文件将从 cbdogaaa 开始
,以 " dog " 结束
。 crunch 2 3 -f charset.lst ualpha -s BB crunch 将从 BB 开始生成单词列表,以 ZZZ 结束。这在你需要中途停止生成单词列表时很有用。只需执行 `tail wordlist.txt` 并将 -s 参数设置为序列中的下一个单词。开始前确保重命名原始单词列表,因为 crunch 会覆盖现有的单词列表
。 crunch 4 5 -p abc crunch 将生成 abc, acb, bac, bca, cab, cba
。 crunch 4 5 -p dog cat bird crunch 将生成 birdcatdog, birddogcat, catbirddog, catdogbird, dogbirdcat, dogcatbird。 crunch 1 5 -o START -c 6000 -z bzip2 crunch 将生成每个包含 6000 个单词的 bzip2 压缩文件。压缩文件的文件名将是 first_word-last_word.txt.bz2。 crunch 4 5 -b 20mib -o START 将生成 4 个文件 :aaaa-gvfed.txt, gvfee-ombqy.txt, ombqz-wcydt.txt, wcydu-zzzzz.txt。前三个文件是 20MB(实际为 2 的幂次兆字节),最后一个文件是 11MB。 crunch 3 3 abc + 123 !@# -t @%^ 将生成一个 3 个字符长的单词
,第一个字符是一个字母,第二个字符是一个数字,第三个字符是一个符号
。你指定想要使用的字符的顺序很重要。你必须按小写字母
、大写字母、数字和符号的顺序指定 。如果你不打算使用特定的字符集,你可以使用加号作为占位符。如上所示,我未使用大写字母集
,因此我使用了加号占位符 。这将从 a1! 开始
,以 c3# 结束 。 crunch 3 3 abc + 123 !@# -t ^%@ 将生成从 !1a 开始到 #3c 结束的 3 个字符的单词。 crunch 4 4 + + 123 + -t %%@^ 加号 (+) 是一个占位符,因此你可以为字符类型指定字符集。当 crunch 在命令行中遇到加号时,它将使用默认的字符集。你必须为每个字符类型指定值或使用加号 。所以在这个例子中
,字符集将是: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 123 !@#$%^&*()-_+=~`[]{ }|\:;"<>,.?/ 字符串末尾有一个空格 输出将从 11a! 开始,以 "33z " 结束 。引号显示了字符串末尾的空格 。 crunch 5 5 -t ddd@@ -o j -p dog cat bird 任何除了 @,%^ 之外的字符都是用于排列的单词的占位符
。@,%^ 符号具有与 -t 相同的功能。 如果你想在输出中使用 @,%^,你可以使用 -l 选项来指定你希望 crunch 将哪个字符视为字面量。 所以结果是 birdcatdogaa birdcatdogab birdcatdogac <省略> dogcatbirdzy dogcatbirdzz crunch 7 7 -t p@ss,%^ -l a@aaaaa crunch 将把 @ 符号视为字面量字符,而不是用大写字母替换它。 这将生成 p@ssA0! p@ssA0@ p@ssA0# p@ssA0$ <省略> p@ssZ9 crunch 5 5 -s @4#S2 -t @%^,2 -e @8 Q2 -l @dddd -b 10KB -o START crunch 将生成从 @4#S2 开始到 @8 Q2 结束的 5 个字符的字符串。输出将被分割成 10KB 大小的文件 ,文件名基于文件的起始和结束字符串 。 crunch 5 5 -d 2@ -t
l)^~,q)ޅ蠆4^֥ yfj"-Ҝgn\܅Ly44CC i44CC|l)^~,q)ޅ蠆4^֥ yfj"-Ҝgn\܇]5^%%%%^^ -d 2@ -d 3% -b 20mb -o START crunch 将生成从 aab!0001!! 开始到 zzy 9998 结束的 10 个字符的字符串。输出将写入 20MB 的文件中。 crunch 8 8 -d 2@ crunch 将生成限制相同数量的小写字母为 2 个的 8 个字符 。Crunch 将从 aabaabaa 开始
,以 zzyzzyzz 结束
。 crunch 4 4 -f unicode_test.lst japanese -t @@%% -l @xdd crunch 将从 unicode_test 字符集文件中加载一些日文字符。输出将从 @日00 开始,以 @語99 结束 。 (1)生成长度为 4 到 6 的所有小写字母组合。 crunch 4 6 abcdefghijklmnopqrstuvwxyz -o dict.txt 或者 crunch 4 6 -f /usr/share/crunch/charset.lst lalpha -o dict2.txt 执行完毕后会显示字典大小为2132MB,一共有321254128个密码 ,接着会显示生成的进度条,如图2所示
。 图2 生成6位小写字母组合 (2)生成长度为 4 到 6 的密码 ,使用小写字母和数字 crunch 4 6 -f /usr/share/crunch/charset.lst lalpha-numeric (3)生成长度为 4 到 6 的密码,使用所有字符(包括符号) crunch 4 6 -f /usr/share/crunch/charset.lst all (1)生成包含特定字符的密码 生成长度为 4 到 6 的密码,包含特定字符 "abc123" crunch 4 6 abc123 (2)某个字符的所以组合 crunch 4 6 -p admin # 生成abc的组合的字典 (3)生成包含特定字符组合的密码 生成长度为 4 到 6 的密码
,包含特定字符组合 "abc123" 和 "def456" crunch 4 6 -p abc123 def456 (1)crunch 1 3 -f /usr/share/crunch/wordlists/english.txt -o /dev/null 1 3 指定最小和最大长度。 -f 指定使用的字典文件(根据您的需求选择) 。 -o /dev/null 表示不实际输出文件。 (2)crunch 1 3 -o /dev/null -s (3)计算包含#字符+大小写字母+数字八位字符的字典大小 网上一堆人声称该工具非常好用,确实好用 ,需要自定义规则,在以前估计算一个不错的工具,但国人比较聪明,实用
,操作简单。后续会继续对一些密码工具进行实际使用和测试。喜欢的朋友可以收藏。
1.1简介
1.Crunch简介
1.2安装及使用
1.安装


1.4比较有用的示例
1.生成简单字典

