• Kali-linux创建密码字典


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

    8.7.1 Crunch工具

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

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

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

    root@kali:~# crunch
    

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

    crunch version 3.4
    Crunch can create a wordlist based on criteria you specify. The outout 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)创建一个密码列表文件,并保存在桌面上。其中,生成密码列表的最小长度为8,最大长度为10,并使用ABCDEFGabcdefg0123456789为字符集。执行命令如下所示:

    root@kali:~# crunch 8 10 ABCDEFGabcdefg0123456789 –o /root/Desktop/
    generatedCrunch.txt
    Notice: Detected unicode characters. If you are piping crunch output
    to another program such as john or aircrack please make sure that program
    can handle unicode input.
    Do you want to continue? [Y/n] y
    Crunch will now generate the following amount of data: 724845943848960 bytes
    691266960 MB
    675065 GB
    659 TB
    0 PB
    Crunch will now generate the following number of lines: 66155263819776
    AAAAAAAA
    AAAAAAAB
    AAAAAAAC
    AAAAAAAD
    AAAAAAAE
    AAAAAAAF
    AAAAAAAG
    AAAAAAAa
    AAAAAAAb
    AAAAAAAc
    ……
    AAdb6gFe
    AAdb6gFf
    AAdb6gFg
    AAdb6gF0
    AAdb6gF1
    AAdb6gF2
    AAdb6gF3
    AAdb6gF4
    AAdb6gF5
    

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

    (3)以上密码字典文件生成后,使用Nano命令打开。执行命令如下所示:

    root@kali:~# nano /root/Desktop/generatedCrunch.txt
    

    执行以上命令后,将会打开generatedCrunch.txt文件。该文件中保存了使用crunch命令生成的所有密码。

    8.7.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…
    

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

  • 相关阅读:
    mybatis中的#和$的区别
    spring ioc三种注入方式
    JSP中动态INCLUDE与静态INCLUDE的区别
    j2ee部分
    面试 框架部分
    注册Jdbc驱动程序的三种方式
    union和union all有什么不同?
    面试 JavaWeb 部分
    Cordova插件开发(iOS/Android)--看这篇就够了
    程序员,请不要只看技术
  • 原文地址:https://www.cnblogs.com/student-programmer/p/6729015.html
Copyright © 2020-2023  润新知