Kali Linux实用的密码字典生成工具——crunch
引入
在网络安全领域,密码字典是一种非常重要的工具,用于进行密码破解、渗透测试和安全评估等任务。密码字典包含了各种可能的密码组合,包括常见密码、特定用户的信息、常用单词和短语等。通过使用密码字典,安全专家和黑客可以尝试使用已知的密码和模式来破解用户的登录凭据,从而获取未经授权的访问权限。
在Kali Linux中,安全专家和渗透测试人员经常需要使用密码字典来执行各种安全任务。而crunch作为Kali Linux中内置的一个密码字典生成工具,提供了一个强大且灵活的方式来生成自定义密码字典。通过crunch,用户可以根据自己的需求和要求轻松生成各种类型的密码字典,包括不同长度、不同字符集合、特定模式等。这使得crunch成为Kali Linux中不可或缺的一部分,为用户提供了一个方便、快速而且高效的工具,用于密码破解、渗透测试和其他安全评估任务中。
什么是crunch
Crunch是一个密码字典生成工具,通常用于创建定制的密码列表,以供密码破解、渗透测试和安全评估等用途。它是Kali Linux操作系统中的一个实用工具,为安全专家和渗透测试人员提供了一个强大而灵活的方式来生成各种类型的密码字典。
作用:
Crunch的主要作用是生成密码字典,用户可以根据自己的需求和要求定制密码列表。这些密码列表可以包含不同长度、不同字符集合、特定模式等各种密码组合,以满足各种密码破解和安全评估的需求。生成的密码字典可以用于尝试破解密码、进行渗透测试、评估系统的安全性等任务。
特点和功能:
灵活的密码生成: Crunch允许用户根据自己的需求定义密码的长度、字符集合和模式,从而生成符合特定要求的密码列表。自定义字符集合: 用户可以指定密码生成时所使用的字符集合,包括数字、字母、特殊字符等,以满足不同的密码策略和安全要求。支持模式定义: Crunch支持用户定义密码的模式,比如指定一定数量的数字、字母和特殊字符的组合,从而生成符合特定模式的密码列表。生成大规模密码字典: Crunch能够快速生成大规模的密码字典,覆盖各种可能的密码组合,以提高破解密码的成功率。内置于Kali Linux: 作为Kali Linux操作系统的一部分,Crunch可以轻松访问和使用,成为安全专家和渗透测试人员的首选工具之一。总的来说
Crunch是一个强大而灵活的密码字典生成工具,具有丰富的特点和功能,为用户提供了一个方便、快速而且高效的方式来生成定制的密码字典,用于各种安全评估和密码破解任务中。
使用之前
在Kali Linux中内置了crunch,所以你无需安装。验证或寻求帮助: 输入代码简易查看:crunch -h
输入代码查看完整说明:
man crunch
使用crunch生成密码字典
crunch的基本格式是:
crunch <min> <max> [options] # min、max:设定生成的密码的最小与最大字符长度
在上面的"options"选项中,我们可以按照自己的需求填入各种限制所生成密码的格式、数量等的参数,常用的参数有以下这些:
-t :指定输出完整字符串的组成规则或字符类别,其中’@‘代表小写字母;’,‘代表大写字母;’%‘代表数字;’^'代表特殊符号。运用举例:
crunch 5 5 -t @,%%^ #生成包含5位字符密码的字典,所生成的密码都满足【小写字母+大写字母+数字+数字+特殊符号】的形式。
-o :指定输出文件的路径或名称,可以使用-o START(这里必须用大写的START),系统将自动生成文件名。注意:crunch生成的密码字典默认是从小到大排列的。 运用举例:
示例1
crunch 4 4 0123456789 -o 四位数字密码.txt# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典。
示例2
crunch 4 4 0123456789 -o START# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典。
-b :指定输出文件的大小,达到指定大小继续写入下一个文件,直到所有密码生成完毕。 运用举例:
crunch 4 4 0123456789 -b 10kb -o START# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典,指定输出文件最大为10kb,#达到10kb后写入下一个文件,直到所有密码生成完毕。
-c :指定输出的每个文件中密码的最大个数,超过的写入下一个文件,直到所有密码生成完毕。 运用举例:
crunch 4 4 0123456789 -c 2000 -o START# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典,指定输出的每个文件中密码的#最大个数为2000,超过的写入下一个文件,直到所有密码生成完毕。
-d :指定同一字符在一个密码中能连续出现的最大次数。如果你确定要破解的密码肯定不存在连续出现同一字符的情况(例如有些姓名拼音不存在连续两个同一字符),可以使用参数"-d 1"限制生成的密码不连续出现同一字符。 运用举例:
crunch 4 4 0123456789 -d 1# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典,指定同一字符在一个密码中能#连续出现的最大次数为1,即生成的密码将不会连续出现同一字符。
注意:这里的’-d’并不是限定一个密码出现同一字符的次数,而是限定同一字符在一个密码中连续出现的次数,所以使用参数’‘-d 1’'所生成的密码仍会出现存在重复字符的现象。
可以使用cat /usr/share/crunch/charset.lst
查看Kali Linux自带的一些库文件,它们可以作为你生成密码的字符集。
运用举例:
crunch 4 4 -f /usr/share/crunch/charset.lst numeric -o START# 使用数字的字符集numeric(0123456789)生成4位字符的密码字典。
-p :指定密码通过给定字符或字符串排列组合生成,注意-p必须是最后一个参数,最大最小字符参数失效但必须有,与-s参数不兼容。 运用举例:
示例1:
crunch 4 4 -p 0123456789 # 生成10位字符密码,由0到9这10位数字排列组合生成的密码字典,此时最大最小字符参数失效但必须有
示例2:(为什么参数’-p‘一定要放在最后?)
crunch 4 4 -p 0123456789 -t %# 生成10位字符密码,由0到9这10位数字排列组合生成的密码字典,此时最大最小字符参数失效但必须有
可以看到,如果不将参数‘-p’放在最后,参数’-p‘将会把后面的参数识别为一个个整体元素进行排列组合生成密码。
运用举例:
crunch 4 4 0123456789 -s 3333 # 生成4位字符密码,由0到9这10位数字组成的,从字符串’3333‘开始生成的从小到大排序的字典。
-e :指定停止字符串,即到该字符串就停止生成。 运用举例:
crunch 4 4 0123456789 -e 0012 # 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的到字符串’0012‘就停止生成的字典。
-q :指定一个文件,里面的每一行都会作为一个基本元素进行排列组合生成密码字典,最大最小字符失效但必须有。 运用举例:
crunch 1 1 -q zdwf.txt# 指定文件'zdwf.txt',里面的每一行都会作为一个基本元素进行排列组合生成密码字典#最大最小字符失效但必须有。
-z :指定将字典文件以什么格式压缩,需要配合-o参数一起使用,有7z、gzip、bzip2、lzma多种格式,其中7z压缩比最大。用于节约存储空间。 运用举例:
crunch 4 4 0123456789 -o START -z 7z# 生成4位字符密码,由0到9这10位数字组成的,从小到大排序的字典,以7z方式压缩。
-l :使’@‘,’%‘,’,‘,’^'等格式化字符实义化,即可以让生成的密码中包含这四个字符。 运用举例:
crunch 3 3 -l @@@ -t @^,
这里要说明,参数’-l’的参数长度要与密码字长一致,同时参数’-t’后如果出现参数‘-l’实义化的字符,该字符将也被实义化而失去格式化字符的作用。
实际应用
示例1
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o zdwf.txt -t @d@, -s ddbA# 生成4位字符密码的字典,选用字符集mixalpha-numeric-all-space,输出文件名为zdwf.txt,#满足【小写字母+d+小写字母+大写字母】的样式,起始密码为'ddba'
示例2:
crunch 3 5 -p man can say I what # 生成密码的基本元素为man、can、say、I、what,前面的最小、最大字符长度失效。
示例3:
crunch 5 5 abc DEF +\!@# -t ,@^%,# 生成5位字符密码的字典,字符从‘abc’、‘DEF’、‘!@#’以及所有特殊字符中选取#满足【大写字母+小写字母+特殊符号+数字+大写字母】的样式。其中\是转义字符,+是占位符。#使用转义也可以使格式化字符实义化。
示例4:
crunch 6 6 -t abcd%% -p zhan duan wang feng# 生成密码的基本元素为zhan、duan、wang、feng,前面的最小最大字符长度失效,任何不同于#’-p‘参数指定的值都是占位符,所以参数‘-t’后面的abcd是占位符,'%'代表数字#即生成的字典组成是zhanduanwangfeng00等等
示例5:
crunch 5 5 -d 2, -t ,,,@@# 生成5位字符密码的字典,其中同一大写字母不能连续出现两个以上#满足的形式为【大写字母+大写字母+大写字母+小写字母+小写字母】。