彩虹表破解Hash的终极攻略
本文以RainbowCrack为例,详细介绍了如何利用彩虹表破解hash。RainbowCrack是一款基于预先生成的各种散列类型的彩虹表的hash破解工具,支持GPU加速,常用于破解Windows系统用户密码hash(NTLM)。文章详细讲解了RainbowCrack的使用流程,包括创建彩虹表、排序彩虹表以及实际破解hash的步骤,并提供了具体的命令示例,帮助读者掌握这款工具的使用方法。
本文以RainbowCrack为例,展示如何利用彩虹表破解hash。
RainbowCrack简介作为一款实用的hash破解工具,其核心是基于预先生成的各种散列类型的彩虹表,支持GPU(AMD/英伟达)加速,常用于破解Windows系统用户密码hash(NTLM)。与之前介绍的其他两款hash工具相比,RainbowCrack在功能上相对较弱,虽然智能性不如其他工具,但使用简单,易于上手,且平台支持度较高。本文将以Windows平台为例进行简单演示。
关于RainbowCrack套件的基本使用流程首先是创建彩虹表。简单来说,彩虹表内部是由所有可能组合的明文及其对应的hash组成,类似NoSQL中的键值对形式(这是否是高效的原因,具体的数据结构我并不完全清楚,但能用就好)。本质上,彩虹表基于字典,只不过这个字典是经过优化的。rtgen的具体参数作用如下:
rtgen.exe hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index
参数解释:
hash_algorithm 指定生成的彩虹表对应的hash类型,不同类型的彩虹表只能用于破解相应类型的hash charset 明文所使用的字符集范围,如大小写字母、数字、特殊字符等 plaintext_len_min 指定明文密码的最小长度 plaintext_len_max 指定明文密码的最大长度,长度范围越大,组合越多,彩虹表也越大 table_index 彩虹表索引(指生成彩虹表的最大单文件个数) chain_len 彩虹链长度(单文件密码串长度) chain_num 彩虹链数量(数量越大,密码就越多) part_index 彩虹表的标识(用于判断多个单文件是否属于同一个彩虹表)
常用hash类型:
lm ntlm 可能是最常用的,我通常是为了破解它而使用 md5 sha1
可用字符集:
numeric = [0123456789]
alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
loweralpha = [abcdefghijklmnopqrstuvwxyz]
loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789]
mixalpha = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mixalpha-numeric = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
ascii-32-95 = [ !"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]
ascii-32-65-123-4 = [ !"#$%&'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~]
alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"',.?/ ]更多详细内容请参考官方文档:http://project-rainbowcrack.com/documentation.htm
实际测试实例生成彩虹表的过程可能非常耗时,尤其是在彩虹链数量和字符集范围很大时,可能需要几天时间,但一旦生成好,即可永久使用:
rtgen md5 numeric 1 4 5 3800 33554432 0
创建1到4位的由纯数字组成的md5 hash彩虹表

rtgen ntlm numeric 1 2 5 3800 33554432 0
创建1到2位的由纯数字组成的ntlm hash彩虹表

rtgen sha1 numeric 1 4 5 3800 33554432 0
创建1到4位的由纯数字组成的sha1 hash彩虹表

rtgen lm numeric 1 4 5 3800 33554432 0
创建1到4位的由纯数字组成的lm hash彩虹表

在生成彩虹表的过程中,CPU基本一直处于百分百使用状态,这是正常现象。

彩虹表创建成功后,需要立即对其进行排序,如下:
rtsort.exe md5_numeric#1-4_5_3800x33554432_0.rt

正式开始hash破解过程,rcrack的简单使用帮助:
-h hash 破解单条hash -l hash_list_file 从指定的文件中读取hash -f pwdump_file 导入pwdump获取的lm hash -n pwdump_file 导入pwdump获取的ntlm hash
实例破解md5 hash,其他类型的破解可自行尝试,由于机器性能有限,暂且到此为止:
rcrack.exe md5_numeric#1-4_5_3800x33554432_0.rt -l hash.txt

后话你是否觉得RainbowCrack非常简单?至少比之前的hashcat和john简单很多。是的,确实非常简单。在实际破解中,你可以根据自己的需求和喜好选择工具,优秀的工具很多,面面俱到不太现实,找一个容易上手且能完成任务的工具就足够了。
文中关于GPU加速,NTLM,RainbowCrack,彩虹表,hash破解的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《彩虹表破解Hash的终极攻略》文章吧,也可关注golang学习网公众号了解相关技术文章。
uni-app数据导入导出实用攻略
- 上一篇
- uni-app数据导入导出实用攻略
- 下一篇
- PHP中array_splice插入删除元素技巧
-
- 文章 · 软件教程 | 3小时前 | github · npm · CI · 缓存失效 依赖缓存 GitHub Actions actions/cache
- GitHub Actions 缓存依赖并控制失效边界
- 170浏览 收藏
-
- 文章 · 软件教程 | 6小时前 |
- curl 使用 multipart 上传并保留响应头
- 119浏览 收藏
-
- 文章 · 软件教程 | 2天前 | git · 软件教程 · Git GitHub Desktop 恢复单个文件
- GitHub Desktop 按提交恢复单个文件的操作
- 226浏览 收藏
-
- 文章 · 软件教程 | 2天前 |
- Docker Compose 服务名解析与自定义网络配置
- 286浏览 收藏
-
- 文章 · 软件教程 | 3天前 | 开发工具 · 团队协作 · Git 分支管理 Git worktree 并行开发 功能分支
- Git worktree 并行维护多个功能分支的操作方法
- 308浏览 收藏
-
- 文章 · 软件教程 | 3天前 |
- VS Code profiles 按项目隔离扩展与设置
- 260浏览 收藏
-
- 文章 · 软件教程 | 3天前 | 软件教程 · JetBrains IDE Shelf Shelve Changes Unshelve
- JetBrains IDE 怎么用 Shelf 暂存未完成修改
- 173浏览 收藏
-
- 文章 · 软件教程 | 3天前 |
- OBS Studio 怎么备份场景集合与配置文件
- 389浏览 收藏
-
- 文章 · 软件教程 | 3天前 |
- Shotcut 怎么开启代理剪辑提升预览流畅度
- 258浏览 收藏
-
- 文章 · 软件教程 | 3天前 |
- VLC 字幕不同步怎么精确调整延迟
- 263浏览 收藏
-
- 文章 · 软件教程 | 3天前 | Audacity 降噪 Noise Reduction Noise Profile
- Audacity 怎么采样噪声并降低持续底噪
- 285浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 290次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 343次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 345次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 308次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 130次使用
-
- VS Code 怎么给 Go 项目配置测试任务:tasks.json 运行与结果验收
- 2026-07-09 501浏览
-
- Windows 11 如何开启 HEIF 图片支持
- 2026-05-31 501浏览
-
- TikTok用户画像与付费订阅变现方法
- 2026-05-27 501浏览
-
- 学信网学历翻译件申请方法
- 2026-05-27 501浏览
-
- Windows 11 24H2 更新失败0x80070005解决方法
- 2026-05-26 501浏览
