所谓的密码字典主要是配合密码破解软件所使用,密码字典里包括许多人们习惯性设置的密码。这样可以提高密码破解软件的密码破解成功率和命中率,缩短密码破解的时间。当然,如果一个人密码设置没有规律或很复杂,未包含在密码字典里,这个字典就没有用了,甚至会延长密码破解所需要的时间。在Linux中有Crunch和rtgen两个工具,可以来创建密码字典。为方便用户的使用,本节将介绍这两个工具的使用方法。

1 .Crunch工具

Crunch是一种创建密码字典工具,该字典通常用于暴力破解。使用Crunch工具生成的密码可以发送到终端、文件或另一个程序。

下面将介绍使用Crunch工具创建密码字典。

使用Crunch生成字典。具体操作步骤如下所示。

(1)启动crunch命令。执行命令如下所示。

 qi@zhuandshao:/home$ crunch

执行以上命令后,将输出如下所示的信息:

 qi@zhuandshao:/home$ crunch
crunch version 3.6 Crunch can create a wordlist based on criteria you specify. The output from crunch can be sent to the screen, file, or to another program. Usage: crunch <min> <max> [options]
where min and max are numbers Please refer to the man page for instructions and examples on how to use crunch.

输出的信息显示了crunch命令的版本及语法格式。其中,使用crunch命令生成密码的语法格式如下所示:

crunch [minimum length] [maximum length] [character set] [options]

crunch命令常用的选项如下所示。

-o:用于指定输出字典文件的位置。
-b:指定写入文件最大的字节数。该大小可以指定KB、MB或GB,但是必须与-o START选项一起使用。
-t:设置使用的特殊格式。
-l:该选项用于当-t选项指定@、%或^时,用来识别占位符的一些字符。

(2)创建一个密码列表文件,并保存主目录上。其中,生成密码列表的最小长度为4,最大长度为6,并使用0123456789为字符集。执行命令如下所示:

 qi@zhuandshao:~$ crunch    -o passwd.txt
Crunch will now generate the following amount of data: bytes
MB
GB
TB
PB
Crunch will now generate the following number of lines: crunch: % completed generating output

从以上输出的信息中,可以看到将生成7MB大的文件,总共有1110000行。以上命令执行完成后,将在主目录上生成一个名为pass.txt的字典文件。由于组合生成的密码较多,所以需要很长的时间。

(3)以上密码字典文件生成后,查看生成的密码文件的首与尾。执行命令如下所示:

 qi@zhuandshao:~$ head passwd.txt 

 qi@zhuandshao:~$ tail  passwd.txt 

  我们可以看到生成的字典文件符合我们的要求。

2. rtgen工具

rtgen工具用来生成彩虹表。彩虹表是一个庞大的和针对各种可能的字母组合预先计算好的哈希值的集合。彩虹表不一定是针对MD5算法的,各种算法都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上。

使用rtgen工具生成彩虹表。具体操作步骤如下所示:

(1)切换到rtgen目录。执行命令如下所示。

root@kali:~# cd /usr/share/rainbowcrack/

(2)使用rtgen命令生成一个基于MD5的彩虹表。执行命令如下所示:

root@kali:/usr/share/rainbowcrack# ./rtgen md5 loweralpha-numeric 1 5 0 3800 33554432 0
rainbow table md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt parameters
hash algorithm: md5
hash length: 16
charset: abcdefghijklmnopqrstuvwxyz0123456789
charset in hex: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39
charset length: 36
plaintext length range: 1 - 5
reduce offset: 0x00000000
plaintext total: 62193780
sequential starting point begin from 0 (0x0000000000000000)
generating…
131072 of 33554432 rainbow chains generated (0 m 42.5 s)
262144 of 33554432 rainbow chains generated (0 m 39.2 s)
393216 of 33554432 rainbow chains generated (0 m 41.6 s)
524288 of 33554432 rainbow chains generated (0 m 42.0 s)
655360 of 33554432 rainbow chains generated (0 m 39.1 s)
786432 of 33554432 rainbow chains generated (0 m 40.1 s)
917504 of 33554432 rainbow chains generated (0 m 39.9 s)
1048576 of 33554432 rainbow chains generated (0 m 38.8 s)
1179648 of 33554432 rainbow chains generated (0 m 39.2 s)
1310720 of 33554432 rainbow chains generated (0 m 38.2 s)
.....
33161216 of 33554432 rainbow chains generated (0 m 40.2 s)
33292288 of 33554432 rainbow chains generated (0 m 38.9 s)
33423360 of 33554432 rainbow chains generated (0 m 38.1 s)
33554432 of 33554432 rainbow chains generated (0 m 39.1 s)

以上信息显示了彩虹表的参数及生成过程。例如,生成的彩虹表文件名为md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt;该表使用MD5散列算法加密的;使用的字符集abcdefghijklmnopqrstuvwxyz0123456789等。

(3)为了容易使用生成的彩虹表,使用rtsort命令对该表进行排序。执行命令如下 所示:

root@kali:/usr/share/rainbowcrack# rtsort md5_loweralpha-numeric#1-5_0_
3800x33554432_0.rt
md5_loweralpha-numeric#1-5_0_3800x33554432_0.rt:
1351471104 bytes memory available
loading rainbow table…
sorting rainbow table by end point…
writing sorted rainbow table…

输出以上信息表示生成的彩虹表已成功进行排序。

  本文在原作者文章上进行了改动,仅作为备忘博客。如有任何侵权问题,请联系我。

  原文链接:http://www.cnblogs.com/student-programmer/p/6729015.html

linux下字典生成工具-crunch与rtgen的更多相关文章

  1. linux字典生成工具crunch

    安装 tar zxvf crunch-3.6.tgz cd crunch-3.6 gcc -Wall -lm -pthread -std=c99 -m64 -D_LARGEFILE_SOURCE -D ...

  2. 密码字典生成工具crunch的简单使用

      案例1: crunch 1 8 #生成最小1位,最大8位,由26个小写字母为元素的所有组合   案例2: crunch 1 6 abcdefg #生成最小为1,最大为6.由abcdefg为元素的所 ...

  3. linux下C++开发工具

    就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, anjuta,kd ...

  4. SQL Server2005+、MySQL、Oracle 数据库字典生成工具

    之前找的数据库字典生成工具基本上都依赖于 Office Com 组件,在不安装 Office的情况下无法使用.怒,于是自己用C# 写了一个.     特征如下:         一.支持的数据库 MS ...

  5. Linux下安装项目管理工具Redmine

    http://www.redmine.org.cn/download Linux下安装项目管理工具Redmine1.Ruby安装Ruby on Rails网站推荐使用1.8.7版. 点击(此处)折叠或 ...

  6. 【转】Linux下XenServer管理工具安装

    转载文章 - Linux下XenServer管理工具安装 Xen-Server 6.5 虚拟机安装Linux系统 vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化) ...

  7. linux磁盘清理方法 Linux 下垃圾清理工具 BleachBit

    由于当初安装系统设计不合理,有些分区的过小,以及网络通讯故障等造成日志文件速度增长等其他原因都可以表现为磁盘空间满,造成无法读写磁盘,应用程序无法执行等.下面就给你支几招(以/home空间满为例): ...

  8. Linux下安装yum工具

    Linux下安装yum工具 http://blog.csdn.net/caoshichaocaoshichao/article/details/13171919

  9. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

随机推荐

  1. UIWebview打开.txt文件中文乱码解决

    用UIWebview打开txt文件有时候会出现乱码的情况,这种情况应该是txt的编码问题,解决方案如下: txt分带编码和不带编码两种,带编码的如UTF-8格式txt,不带编码的如ANSI格式txt. ...

  2. Delphi StringReplace – 替换字符函数

    Delphi StringReplace – 替换字符函数 Delphi中的StringReplace函数是SysUtils单元中自带的函数,该函数可以替换字符串中的指定字符. 1 2 3 4 5 6 ...

  3. 2154: Crash的数字表格

    2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 3372  Solved: 1258[Submit][Status][ ...

  4. windows平台 - 0基础学习node.js(一)

    首先得明白node.js做什么用的: 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Nod ...

  5. XMLHttpRequest 对象 status 和statusText 属性对照表

    XMLHttpRequest 对象 status 和statusText 属性对照表 status statusText 说明 0** - 未被始化 1** - 请求收到,继续处理 100 Conti ...

  6. 下载苹果APP历史版本

    1.参考教程: iOS 下载旧版本 app 或者已下架 app 方法 - 简书 https://www.jianshu.com/p/33dc8bfd4134 2.步骤总结: 下载旧版带 app 管理的 ...

  7. Oracle数据库设计第三范式

    一.数据库设计范式及其意义和不足 数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁.实践中,通常把一个数据库分成两个或多 ...

  8. You must reset your password using ALTER USER

    mac mysql error You must reset your password using ALTER USER statement before executing this statem ...

  9. Compilation failed: internal java compiler error

    在Idea中编译时出现这个错误:Error:java: Compilation failed: internal java compiler error. Information:Using java ...

  10. 让Windows Server 2008+IIS 7+ASP.NET支持10万个同时请求

    具体设置如下: 1. 调整IIS 7应用程序池队列长度 由原来的默认1000改为65535. IIS Manager > ApplicationPools >Advanced Settin ...