利用彩虹表破解Hash

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字典来完成相应的hash的值。(这个和我们跑WiFi密码,需要对用的密码字典一个道理。)

格式如下

rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index

说明

  • hash_algorithm      指定生成的彩虹表对应的hash类型,不同hash类型的彩虹表只能用于破解对应类型的hash
  • hashcharset            明文所使用的字符集范围,比如,大小写字母,数字,特殊字符等等...
  • plaintext_len_min    指定明文密码最小长度
  • plaintext_len_max    指定明文密码最大长度,它会按所你给定的长度,来生成hash,范围越大,组合自然就越多,彩虹表也就会越大
  • table_index         彩虹表索引

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

rtgen.exe md5 numeric 4 4 0 3000 4000 0

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

图片

彩虹表的排序.

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

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

解密MD5

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

图片执行解密

rcrack.exe . -h CF79AE6ADDBA60AD018347359BD144D2

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

图形化工具

根据自己的GPU来使用相同的exe文件.当然rcrack_gui.exe 是可以什么GPU都能使用的,在File中Add Hashes中添加md5密文,每一行输入一组密文。

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

图片

总结

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

posted @ 2023-03-17 14:46  狂客  阅读(1392)  评论(0编辑  收藏  举报