crunch笔记
简述
Crunch 是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。
使用 Crunch 工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。尤其是在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用。
在 Debian 系的 Linux 系统中可以使用 apt install crunch
直接安装。
也可以在 SourceForge 中获取资源 https://sourceforge.net/projects/crunch-wordlist/。
使用
语法
1 | crunch <min> <max> [options] |
参数详解
必选参数
min
→ 设定最小字符串长度(必选)max
→ 设定最大字符串长度(必选)
可选参数
参数 | 作用 |
---|---|
-b |
指定文件输出的大小,避免字典文件过大 |
-c |
指定文件输出的行数,即包含密码的个数 |
-d |
限制相同元素出现的次数 |
-e |
定义停止字符,即到该字符串就停止生成 |
-f |
调用库文件(/etc/share/crunch/charset.lst) |
-i |
改变输出格式,即 aaa,aab → aaa,baa |
-l |
通常与 -t 联合使用,表明该字符为实义字符 |
-m |
通常与 -p 搭配 |
-o |
将密码保存到指定文件 |
-p |
指定元素以组合的方式进行 |
-q |
读取密码文件,即读取 pass.txt |
-r |
定义重某一字符串重新开始 |
-s |
指定一个开始的字符,即从自己定义的密码 xxxx 开始 |
-t |
指定密码输出的格式 |
-u |
禁止打印百分比(必须为最后一个选项) |
-z |
压缩生成的字典文件,支持 gzip,bzip2,lzma,7z |
通配符
%
→ 代表数字^
→ 代表特殊符号@
→ 代表小写字母,
→ 代表大写字母
实例
生成一个字典文件,用自己指定的字符(默认为26个小写字母为元素的所有组合)
1
crunch 1 3 123
若字典中需要空格
,;
等用双引号来表示1
crunch 3 3 "ab "
生成几个元素的组合(可以用于社工中收集的信息)
1
crunch 4 4 -p zhangsan 2018 0101 ..
生成指定的字符串(比如生成编号,手机号等)
1
crunch 9 9 -t 201800%%%
多种组合生成 3 个元素的组合,前三位为定义的字符串
1
crunch 3 3 -t d@% -p aaa bbb
通过
-l
参数来使@,%^
等特殊字符输出1
crunch 7 7 -t p@ss,%^ -l a@aaaaa
-o
参数也可使用>>
来简化1
crunch 4 4 -d 2@ -t @@@% >> passwdlist.txt
调用密码库
charset.lst
中的hex-upper
项目字符,生成 4 位密码charset.lst
文件在目录/usr/share/crunch/
中1
crunch 4 4 -f charset.lst hex-upper -t @@%% -l @xdd