zoukankan      html  css  js  c++  java
  • 彩虹表完全参考手册

    最近弄了个一T的硬盘,研究了一下目前网上彩虹表的现状,因此总结成此文,国内关于彩虹表的文章少得可怜,而且好多文章和地址都是旧的了。

    彩虹表就是一个庞大的、针对各种可能的字母组合预先计算好的哈希值的集合,不一定是针对MD5算法的,各种算法的都有,有了它可以快速的破解各类密码。越是复杂的密码,需要的彩虹表就越大,现在主流的彩虹表都是100G以上,目前主要的算法有LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM, MD5-HALF。

    先科普个概念,就是彩虹表的成功率,在下面网站中大家会看到,在下载时,都会分成四个目录,从index的0到3,那么为什么一个表会分成四部分呢。其实这四个部分都是独立的彩虹表,他们的绝大多数覆盖的内容是一样的,只有少部分区别。也就是说,单个表的成功率并不是100%的,根据算法看,以4个表的一个set来看,整个set的成功率达到99.9%,分为4个表,那么有:

     
    1 In the 99.9% 4 table sets then each table represents ~ 82.217205900844901813% success rate
    2 2 tables represents ~ 96.837722340270546200%
    3 3 tables represents ~ 99.437658674926730755%
    4 4 tables represents ~ 99.900000000027760089%

    也就是说,为了追求空间和成功率间的平衡,我们不需要下载所有的表,下2-3个表的成功率已经足以应付普通的追求了,如果你空间很多那就另当别论了,嘿嘿。

    目前来说主要是老外在做着方面的工作,国内基本没什么网站在弄了,贴几个经典的彩虹表网站:

    http://project-rainbowcrack.com
    主要是下载生成程序和买现成的彩虹表的地方,主要的格式是rc和rtc,自带有GUI查询程序,支持GPU加速查询,速度肯定刷刷的。最郁闷的是没有现成的表下载,如果自己生成,基本上等死人,不推荐,除非你有分布式大型运算系统。但是这里提供购买,我发询问邮件回复的是中文你信不信,嘿嘿:

    project-rainbowcrack_buy

    project-rainbowcrack_buy

     

    Smaller Tables:
    Table md5_ascii-32-95#1-7 (64 GB)
    Table md5_mixalpha-numeric#1-8 (160 GB)
    Table md5_loweralpha-numeric#1-9 (80 GB)

    这三个表加一个500G的移动硬盘,包邮卖300美元,一个字,贵!但是有了这四个表基本cmd5.com上收费的数据都能够查出来,听说北京中关村也有卖,好像是500多块钱,我没有证实,有兴趣的可以去证实一下。还有一个1000美金

    http://freerainbowtables.com/
    福音啊,要是没有这个网站,真不知道去哪下载了,目前提供下载的表已经十分多和大了,采用的是志愿者分布式运算,可以下载网站上的软件加入这个计算系统,利用电脑的剩余资源计算彩虹表,运算的速度还是蛮快的:

    统计

    活跃主机
    4339
    在线主机
    2590
    当前计算能力
    21015 GIOPS
    最近24小时
    8178 百万彩虹链
    当前速率
    56.9 十亿链/秒
    数据增长
    121.86 GB

    主要提供的下载格式是rti和rti2,新算出来的表都是rti2的了,这种类型的表需要使用 rcracki_mt来查找,大小好像也会比rt小一点。当然,这个网站也是提供购买数据服务的了。下载地址:
    http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/RTI2/
    http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/
    顺便说一下软件rcracki_mt,它是支持CPU和GPU的,也就是支持使用CUDA,现在的大表,一般都需要使用GPU来跑,要不然会等死你。下载地址:
    https://sourceforge.net/projects/rcracki/files/rcracki_mt/rcracki_mt_0.7.0/
    For cpu only runs on windows use the default win32_mingw built. 
    For gpu only runs on windows use the win32_vc build.
    For linux pre-built binaries for gpu/cpu use the linux_x86_64.

    http://ophcrack.sourceforge.net/
    针对windows系统的彩虹表,优化过,体积大大减少,xp的表全免费,vista的大表是收费的,但是网上有网友放出下载,但是平时使用根本不需要用到那么大的了,基本上普通人的电脑密码强度都是很简单的,主要不要下german的表了,那是包含德语符号的,贴下官方的覆盖图。
    tables_xpophcrack_graph_free

    下面的是收费表的

    ophcrack_graph_prof
    下载地址:

     
    http://ophcrack.sourceforge.net/tables.php
     
    http://www.pwcrack.com/rainbowtables.shtml
    是个下载彩虹表的种子的分流站,可以去下载种子,不过如果迅雷离线里面有的话,就很快了,单表,成功率在80%多吧。
     
    http://www.ha97.com/code/tables.rar
    国内流出的120G彩虹表,好像包括了md5和lm什么的,我没下,感觉还是自己找的靠谱点。国内真正流传出的好东西太少了。
     
    找了找看了下还是觉得那套300美元的小表比较适合国内使用,为什么呢,我觉得它的覆盖面和自身大小比例非常棒,我们来看看charset.txt:
     
     
    numeric            = [0123456789] 
     
    alpha              = [ABCDEFGHIJKLMNOPQRSTUVWXYZ] 
    alpha-numeric      = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] 
     
    loweralpha         = [abcdefghijklmnopqrstuvwxyz] 
    loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789] 
     
    mixalpha           = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] 
    mixalpha-numeric   = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] 
     
    # The charset "ascii-32-95" includes all 95 characters on standard US keyboard 
    ascii-32-95                  = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~]
    ascii-32-65-123-4            = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`{|}~]
    alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|:;"'<>,.?/ ]
     
    oracle-alpha-numeric-symbol3 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#$_]
    freerainbowtables上的很多表都是包含了空格的,而国内由于母语不是英文基本上是不会用到空格的的,因此造成了很多的数据冗余,不过硬盘大的话,没关系啦,嘿嘿嘿。如果有好的下载源,欢迎各位留言补上,嘿嘿
  • 相关阅读:
    简单的签到日历
    CSS样式命名整理
    Vue 数组中更新属性值后,视图不更新,等待其他元素更新后会触发的解决办法
    linux之cp/scp命令+scp命令详解
    js 进制转换
    博主QQ
    JSP的介绍及语法详解
    通过jdbc连接MySql数据库的增删改查操作
    在JAVA中自定义连接数据库的工具类
    通过sql语句对MySql数据库的基本操作
  • 原文地址:https://www.cnblogs.com/shanmao/p/3427907.html
Copyright © 2011-2022 走看看