jpg 改 pdf

在前面我们讲过利用神器hashcat来破解WiFi和压缩包的密码。其原理是通过破解文件对应的hash值来实现的。本文我们简单的来看看利用彩虹表来破解hash。

关于彩虹表

rainbowCrack本质是基于事先生成好的对应的各种散列类型的彩虹表,支持GPU加速,用来破解hash的。相比之下他没有hashcat那么强大,但它使用非简单,极易上手,平台支持也相对比较好。

特征

  • 彩虹表的生成、排序、合并、转换和查找
  • 支持LM、NTLM、MD5、SHA1、SHA256 和可自定义哈希算法的彩虹表
  • 可自定义字符集的彩虹表
  • 使用 AMD GPU 进行 GPU 加速(OpenCL 技术)
  • 使用 NVIDIA GPU 进行 GPU 加速(CUDA 技术)
  • 使用多个 GPU 进行 GPU 加速
  • 支持命令行和图形用户界面
  • 支持Windows 和 Linux

工具下载

我们只需到官网下载对应的程序即可。

利用彩虹表破解Hash_自定义

解压后,文件如下:

利用彩虹表破解Hash_自定义_02

生成彩虹表

所谓生成彩虹表就是生成对应的hash字典。通过跑hash字典来完成相应的hash的值。(这个和我们跑WiFi密码,需要对用的密码字典一个道理。)

格式如下

rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index

说明

hash_algorithmhashcharsetplaintext_len_minplaintext_len_maxtable_index

示例生成一个只能解密md5的密码位数为4位(必须是4位)的纯数字的彩虹表

rtgen.exe md5 numeric 4 4 0 3000 4000 0

利用彩虹表破解Hash_CUDA_03

因为是四位数字,所以在不到1s的时间内便生成了彩虹表。如下图中的md5_numeric#4-4_0_3000x4000_0.rt便是我们生成的彩虹表。

利用彩虹表破解Hash_CUDA_03

彩虹表的排序.

彩虹表是一串彩虹链。每条彩虹链都有一个起点和一个终点。rtsort程序通过终点对彩虹链进行排序,使二进制搜索成为可能。运行以下命令对当前目录中的所有.rt彩虹表进行排序:

rtsort.exe . #不要漏掉后面的点

利用彩虹表破解Hash_自定义_05

解密MD5

rainbowCrack 解密的md5必须是32位的。我们随便找个MD5加密网站,进行加密测试。

利用彩虹表破解Hash_自定义_06

执行解密

rcrack.exe . -h CF79AE6ADDBA60AD018347359BD144D2

利用彩虹表破解Hash_CUDA_03

可以看到,只用了0.2s的时间便得到了md5的值。

图形化工具

根据自己的GPU来使用相同的exe文件.当然rcrack_gui.exe

利用彩虹表破解Hash_c#_08

点击 Rainbow Table中的 Search Rainbow tables选择需要用到的彩虹表开始破解。如下GPU参与破解。

利用彩虹表破解Hash_CUDA_09

总结

rainbowCrack相对来说是一款比较轻巧的md5破解工具。虽然没有hashcat支持的类型多。但小而巧是他最大的亮点。当然在使用GPU加速时,需要显卡的支持。如果不能正常使用显卡,建议更新驱动程序或者检查显卡是否支持CUDA技术。