8.7 创建密码字典
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8.7 创建密码字典相关的知识,希望对你有一定的参考价值。
参考技术A 所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码。这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间。当然,如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密码破解所需要的时间。在Linux中有Crunch和rtgen两个工具,可以来创建密码字典。为方便用户的使用,本节将介绍这两个工具的使用方法。Crunch是一种创建密码字典工具,该字典通常用于暴力破解。使用Crunch工具生成的密码可以发送到终端、文件或另一个程序。下面将介绍使用Crunch工具创建密码字典。
使用Crunch生成字典。具体操作步骤如下所示。
(1)启动crunch命令。执行命令如下所示。
执行以上命令后,将输出如下所示的信息:
输出的信息显示了crunch命令的版本及语法格式。其中,使用crunch命令生成密码的语法格式如下所示:
crunch命令常用的选项如下所示。
(2)创建一个密码列表文件,并保存在桌面上。其中,生成密码列表的最小长度为8,最大长度为10,并使用ABCDEFGabcdefg0123456789为字符集。执行命令如下所示:
从以上输出的信息中,可以看到将生成659TB大的文件,总共有66155263819776行。以上命令执行完成后,将在桌面上生成一个名为generatedCrunch.txt的字典文件。由于组合生成的密码较多,所以需要很长的时间。
(3)以上密码字典文件生成后,使用Nano命令打开。执行命令如下所示:
执行以上命令后,将会打开generatedCrunch.txt文件。该文件中保存了使用crunch命令生成的所有密码。
rtgen工具用来生成彩虹表。彩虹表是一个庞大的和针对各种可能的字母组合预先计算好的哈希值的集合。彩虹表不一定是针对MD5算法的,各种算法都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。
使用rtgen工具生成彩虹表。具体操作步骤如下所示:
(1)切换到rtgen目录。执行命令如下所示。
(2)使用rtgen命令生成一个基于MD5的彩虹表。执行命令如下所示:
以上信息显示了彩虹表的参数及生成过程。例如,生成的彩虹表文件名为md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt;该表使用MD5散列算法加密的;使用的字符集abcdefghijklmnopqrstuvwxyz0123456789等。
(3)为了容易使用生成的彩虹表,使用rtsort命令对该表进行排序。执行命令如下 所示:
输出以上信息表示生成的彩虹表已成功进行排序。
python自动生成对应位数的密码字典
写个简单的demo获取相应位数的密码字典,用于强制破解密码的密码字典。
import itertools,string
words = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
def generatePassword(repeat):
for item in itertools.product(words,repeat=repeat):
yield ''.join(item)
def generatePasswordForRepeat(min,max):
for i in range(max-min):
generatePassword(min+i)
# 获取9位密码字典
passwords = generatePassword(9)
print(next(passwords))
# 获取4到9位密码
passwords = generatePasswordForRepeat(4,9)
print(next(passwords))
以上是关于8.7 创建密码字典的主要内容,如果未能解决你的问题,请参考以下文章