Crunch Linux密码生成工具
TIME 2023-02-16 19:57
▊Crunch
是一个Linux系统下的生成密码字典工具,可以根据用户的实际使用情况,灵活的制定密码生成规则
Debian 11 安装 crunch 命令
apt install -y crunch
查看crunch版本
crunch –version
返回结果
crunch version 3.6
命令语法
crunch 密码最小位数 密码最大位数 参数
❗其中,“密码最小位数”和“密码最大位数”是必不可缺的
参数默认是小写英文字母
命令参数
-b:指定文件输出的大小,避免字典文件过大
-c:指定文件输出的行数,即包含密码的个数
-d:限制相同元素出现的次数
-e:定义停止字符,即到该字符串就停止生成
-i:改变输出格式,即aaa,aab -> aaa,baa (感觉意义不大)
-o:将密码保存到指定文件
-q:读取密码文件,即读取pass.txt
-p:指定元素以组合的方式进行
-s:指定起始字符串
-t:指定密码输出的格式
% / / 代表数字
^ / / 代表特殊符号
@ / / 代表小写字母
, / / 代表大写字母
-f:调用库文件
/usr/share/crunch/charset.lst
范例1:生成1-2位的小写英文字母词典
crunch 1 2 #“1”就是最小密码位数 “2”是最大密码位数 这里的参数缺省那就是默认的小写英文字母
Crunch will now generate the following amount of data: 2080 bytes #Crunch现在将生成以下数据量:2080字节
Crunch will now generate the following number of lines: 702 #Crunch现在将生成以下行数:702,也就是生成了702个密码
a #会按顺序从“a”开始生成最小位数的密码
b
c
d
….中间省略若干行
zv
zw
zx
zy
zz #一直到到最大位数密码的最后组合
范例2:参数”-c“指定文件输出的行数,即包含密码的个数
crunch 1 2 -c 10 #基于上面那个范例,上面那个范例输出了702个密码,太多了,我只要10个
Crunch will now generate the following amount of data: 82 bytes #Crunch现在将生成以下数据量:82字节
Crunch will now generate the following number of lines: 36 #Crunch现在将生成以下数量的行:36,实质上只有10个,原因是最大密码位数没必要是”2″
a
b
c
d
e
f
g
h
i
j #以上就是生成的指定的行数,即生成的密码个数
范例3:参数”-e“定义停止字符,即到该字符串就停止生成
crunch 1 1 -e g #还是基于第一个范例,我们密码生成到”g”的时候就终止生成密码
Crunch will now generate the following amount of data: 14 bytes #Crunch现在将生成以下数据量:14字节
Crunch will now generate the following number of lines: 7 #Crunch现在将生成以下数量的行:7,也就是7个密码
a
b
c
d
e
f
g #我们参数设置的是到”g”的时候就终止生成密码
范例4:参数”-o“将密码保存到指定文件
crunch 1 2 -o 1.txt #生成1-2位的小写字母密码字典,并且将其保存为”1.txt”保存在当前目录
Crunch will now generate the following amount of data: 2080 bytes #Crunch现在将生成以下数据量:2080字节
Crunch will now generate the following number of lines: 702 #Crunch现在将生成以下行数:702,也就是生成了702个密码
crunch: 100% completed generating output #Crunch100%完成生成输出
ls -lh #查看刚刚生成名为“1.txt”的密码字典
-rw-r–r– 1 root root 2.1K Feb 16 20:50 1.txt #文件占用2.1K
范例5:参数”-p“指定元素以组合的方式进行
crunch 1 3 -p a1A #“1”就是最小密码位数 “3”是最大密码位数 这里的-p参数就是 a 1 A 三个字母的组合
Crunch will now generate approximately the following amount of data: 24 bytes #Crunch现在将生成以下数据量:24字节
Crunch will now generate the following number of lines: 6 #Crunch现在将生成以下行数:6,也就是生成了6个密码
1Aa
1aA
A1a
Aa1
a1A
aA1 #这里一共生成了六种组合
范例6:参数”-s“指定起始字符串
crunch 3 3 -s zyx #”3“是最小密码位数 “3“是最大密码位数 参数-s zyx就是让它从zyx按顺序开始生产密码
Crunch will now generate the following amount of data: 116 bytes
Crunch will now generate the following number of lines: 29
zyx #从zyx按顺序开始生产密码
zyy
zyz
…..省略若干
zzx
zzy
zzz #一共生成了29个密码
范例7:参数-t指定密码输出的格式
crunch 1 1 -t % #生成最小1位数,最大1位数的数字密码,将会生成0-9一共10个密码
crunch 4 4 -t %^@, #生成最小4位数,最大4位数的【数字+特殊符号+大写字母+小写字母】的组合密码,将会生成223080个密码
范例8:生成一组截取手机号码
假设我们要生成以136开头的11位手机号码,并且截取4567-5678段的号码
crunch 11 11 -t 136%%%%%%%% -s 13645670000 -e 13656789999 #这样将生成11120000(一千一百万)个密码范例8b:生成一组截取手机号码
假设我们要生成以13开头的11位手机号码,并且截至到160段的号码,并且保存为130-160.txt的文本文档
crunch 11 11 -t 1%%%%%%%%%% -s 13000000000 -e 15999999999 -o 130-160.txt #将会生成3000000000(三十亿)个电话号码,占用33GB空间
范例9:社工张三的密码,并将生成的密码字典保存为zhangsan.txt文档
已知社工对象姓名张三,生日1988年08月08号,最短密码为6位,那么我们将会用到一下关键词
zhangsan zhang san zs 1988 88 08 08
命令就是
crunch 6 16 -o zhangsan.txt -p zhangsan zhang san zs 1988 88 08 08
密码一共有40320中组合
最小密码6位,一般的最低要求都是6位
最大密码16位,根据最大组合一共是16位,密码再长可能张三自己也不一定能记得住
-o 参数要放在前面,不然它就把-o当作字符串了
范例
返回:《Linux Debian 11 学习笔记》 目录
点击数:12