当前位置: 首页 > news >正文

rcrack使用教程

rcrack 是 Kali Linux 中一款轻量级、高效的彩虹表(Rainbow Table)密码破解工具,核心功能是通过预计算的彩虹表反向查询哈希值对应的明文密码,支持多种主流哈希算法,无需传统暴力破解的逐一枚举,适用于渗透测试、密码审计和合法授权的密码恢复场景。

其核心特性与适用范围如下:

  • 支持的哈希算法:覆盖 Windows 系统常用哈希(LM、NTLM)与通用哈希(MD5、SHA-1、SHA-256),满足多场景破解需求。
  • 明文长度限制:不同算法对应不同明文长度上限(如 LM 哈希限 0-7 位、SHA-256 限 0-20 位),需提前匹配彩虹表的明文长度范围。
  • 彩虹表格式:仅支持自定义格式的彩虹表文件(扩展名为 *.rt、*.rtc),需确保彩虹表与目标哈希算法、明文长度匹配。
  • 运行特点:命令行交互,参数简洁易上手;体积轻量,资源占用低,适合在资源有限的环境(如轻量服务器、虚拟机)中运行。
  • 法律前提:仅可用于合法授权的目标(如自有系统、客户授权的渗透测试),未经授权破解他人密码涉嫌违法,需承担法律责任。

二、核心信息解析(命令格式、支持算法、参数)

1. 基础命令格式

命令格式中文说明核心作用
./rcrack path [path] […] -h hash指定彩虹表目录(path),破解单个哈希值(hash)快速破解少量独立哈希(如单个用户密码哈希)
./rcrack path [path] […] -l hash_list_file指定彩虹表目录(path),破解哈希列表文件(每行一个哈希)批量破解多个哈希(如多用户系统的哈希文件)
./rcrack path [path] […] -lm pwdump_file指定彩虹表目录(path),破解 pwdump 格式文件中的 LM 哈希针对性破解 Windows 系统的 LM 哈希(旧系统常用)
./rcrack path [path] […] -ntlm pwdump_file指定彩虹表目录(path),破解 pwdump 格式文件中的 NTLM 哈希针对性破解 Windows 系统的 NTLM 哈希(主流系统常用)

2. 支持的哈希算法与限制

哈希算法哈希长度(字节)明文长度限制(字符)适用场景
LM80-7Windows XP/2003 等旧系统的密码哈希
NTLM160-15Windows 7/10/Server 等主流系统的密码哈希
MD5160-15通用哈希(如网站后台密码、文件校验、数据库密码)
SHA-1200-20安全等级较高的场景(如旧版 SSL 证书、部分系统密码)
SHA-256320-20高安全场景(如新版系统密码、加密文件校验)

3. 命令参数详解

参数英文说明中文解析示例
path [path] […]directory where rainbow tables (*.rt, *.rtc) are stored彩虹表文件(*.rt、*.rtc)所在的目录,支持多个目录(用空格分隔)./rcrack /root/rt/md5 /root/rt/ntlm …(指定 2 个彩虹表目录)
-h hashload single hash加载单个哈希值进行破解,哈希需与彩虹表算法匹配-h 5d41402abc4b2a76b9719d911017c592(单个 MD5 哈希)
-l hash_list_fileload hashes from a file (each hash per line)加载哈希列表文件,文件需满足“每行一个哈希”格式,算法需统一-l md5_hashes.txt(破解文件中所有 MD5 哈希)
-lm pwdump_fileload LM hashes from pwdump file加载 pwdump 格式文件,仅提取并破解其中的 LM 哈希(Windows 系统导出格式)-lm windows_hash.txt(破解 pwdump 文件中的 LM 哈希)
-ntlm pwdump_fileload NTLM hashes from pwdump file加载 pwdump 格式文件,仅提取并破解其中的 NTLM 哈希-ntlm windows_hash.txt(破解 pwdump 文件中的 NTLM 哈希)

4. 官方示例解析

官方示例命令中文解析执行结果
./rcrack . -h 5d41402abc4b2a76b9719d911017c5921. “.” 表示当前目录为彩虹表目录(需确保当前目录有 MD5 算法的 *.rt/*.rtc 文件);
2. -h 指定单个 MD5 哈希(对应明文“hello”);
3. 执行后用当前目录的彩虹表破解该哈希
终端输出“Found: hello (hash: 5d41402abc4b2a76b9719d911017c592)”
./rcrack . -l hash.txt1. 当前目录为彩虹表目录;
2. -l 加载 hash.txt 文件(每行一个哈希,需与彩虹表算法一致);
3. 批量破解文件中的所有哈希
终端逐行输出“Found: 明文 (hash: 目标哈希)”(破解成功)或“Not found: 目标哈希”(破解失败)

三、rcrack 完整使用教程(全场景覆盖)

1. 前提准备:两大核心要素

使用 rcrack 前需准备目标哈希匹配的彩虹表,缺一不可,步骤如下:

1.1 准备目标哈希(3 种常见方式)

  1. 单个哈希(手动输入)

    已知目标哈希(如 MD5 哈希“5d41402abc4b2a76b9719d911017c592”对应“hello”),直接通过 -h 参数传入。

  2. 哈希列表文件(批量破解)

    创建 hash_list.txt 文件,每行写入一个同算法的哈希(如全部为 MD5):
    echo "5d41402abc4b2a76b9719d911017c592" > hash_list.txt
    echo "e10adc3949ba59abbe56e057f20f883e" >> hash_list.txt(对应明文“123456”)

  3. pwdump 格式文件(Windows 哈希)

    在 Windows 系统中用 pwdump7 导出哈希(管理员权限):
    pwdump7.exe > windows_pwdump.txt
    文件格式示例:
    Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
    (格式说明:用户名:RID:LM哈希:NTLM哈希:::)

1.2 准备匹配的彩虹表

rcrack 仅支持 *.rt/*.rtc 格式彩虹表,需根据目标哈希算法下载/生成对应表,步骤如下:

  1. 下载现成彩虹表

    访问开源彩虹表仓库(如 RainbowCrack 项目),下载对应算法的表(如 MD5_0-15.rt、NTLM_0-15.rtc),解压后放到自定义目录(如 /root/rcrack_tables/)。

  2. 验证彩虹表格式

    用 ls 命令确认目录中存在 *.rt 或 *.rtc 文件:
    ls /root/rcrack_tables/md5/(输出示例:md5_0-8.rt md5_9-15.rtc)

  3. 关键匹配原则
    • 算法匹配:破解 MD5 哈希 → 用 MD5 类型彩虹表;破解 NTLM 哈希 → 用 NTLM 类型彩虹表。
    • 长度匹配:破解 8 位明文 MD5 哈希 → 用“MD5_0-8”或“MD5_0-15”表(包含 8 位长度范围);若用“MD5_9-15”表则无法破解。

2. 场景 1:破解单个 MD5 哈希

场景描述:已知单个 MD5 哈希(“e10adc3949ba59abbe56e057f20f883e”,对应明文“123456”),用当前目录的 MD5 彩虹表破解。

# 步骤 1:确认彩虹表在当前目录 ls ./ # 确保存在 MD5 类型的 *.rt/*.rtc 文件(如 md5_0-15.rt) # 步骤 2:执行破解命令 ./rcrack . -h e10adc3949ba59abbe56e057f20f883e # 命令解析 # “.”:当前目录为彩虹表目录 # -h e10adc3949ba59abbe56e057f20f883e:单个 MD5 哈希 # 步骤 3:查看结果 # 破解成功输出: # Found: 123456 (hash: e10adc3949ba59abbe56e057f20f883e) # 破解失败输出(表不匹配/无对应明文): # Not found: e10adc3949ba59abbe56e057f20f883e

3. 场景 2:批量破解 MD5 哈希列表

场景描述:hash_list.txt 文件中包含 3 个 MD5 哈希,用 /root/rcrack_tables/md5/ 目录的彩虹表批量破解,输出所有结果。

# 步骤 1:准备 hash_list.txt 文件 cat hash_list.txt # 输出内容(每行一个 MD5 哈希): # 5d41402abc4b2a76b9719d911017c592 # hello # e10adc3949ba59abbe56e057f20f883e # 123456 # d41d8cd98f00b204e9800998ecf8427e # 空密码 # 步骤 2:执行批量破解命令 ./rcrack /root/rcrack_tables/md5/ -l hash_list.txt -o batch_result.txt # 命令解析 # /root/rcrack_tables/md5/:指定 MD5 彩虹表目录 # -l hash_list.txt:加载哈希列表文件 # -o batch_result.txt:将结果保存到文件(可选,避免终端输出丢失) # 步骤 3:查看结果 # 方式 1:终端直接查看(逐行输出匹配结果) # 方式 2:查看结果文件 cat batch_result.txt # 输出内容: # Found: hello (hash: 5d41402abc4b2a76b9719d911017c592) # Found: 123456 (hash: e10adc3949ba59abbe56e057f20f883e) # Found: (hash: d41d8cd98f00b204e9800998ecf8427e) # 空密码

4. 场景 3:破解 Windows NTLM 哈希(pwdump 格式)

场景描述:windows_pwdump.txt 是从 Windows 10 系统导出的 pwdump 格式文件,用 /root/rcrack_tables/ntlm/ 目录的彩虹表破解其中的 NTLM 哈希。

# 步骤 1:查看 pwdump 文件内容(示例) cat windows_pwdump.txt # 输出内容: # Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: # 管理员,NTLM哈希为空,NTLM哈希:31d6cfe0d16ae931b73c59d7e0c089c0(空密码) # TestUser:1001:aad3b435b51404eeaad3b435b51404ee:5f4dcc3b5aa765d61d8327deb882cf99::: # 普通用户,NTLM哈希对应“password” # 步骤 2:执行 NTLM 哈希破解命令 ./rcrack /root/rcrack_tables/ntlm/ -ntlm windows_pwdump.txt -l ntlm_crack.log # 命令解析 # /root/rcrack_tables/ntlm/:指定 NTLM 彩虹表目录(需包含 NTLM_0-15.rt 等文件) # -ntlm windows_pwdump.txt:仅提取并破解文件中的 NTLM 哈希(忽略 LM 哈希) # -l ntlm_crack.log:将破解日志保存到文件(含成功/失败记录) # 步骤 3:查看破解结果 cat ntlm_crack.log # 输出内容(按用户匹配结果): # User: Administrator, NTLM Hash: 31d6cfe0d16ae931b73c59d7e0c089c0, Found: (空密码) # User: TestUser, NTLM Hash: 5f4dcc3b5aa765d61d8327deb882cf99, Found: password # 未破解用户会输出:User: XXX, NTLM Hash: XXX, Not found

5. 场景 4:破解 Windows LM 哈希(旧系统专用)

场景描述:从 Windows XP 系统导出的 pwdump 文件(xp_pwdump.txt),用 LM 彩虹表破解其中的 LM 哈希(XP 系统默认存储 LM 哈希)。

# 步骤 1:确认 LM 哈希存在(XP 系统 pwdump 文件示例) cat xp_pwdump.txt # 输出内容: # Admin:500:8846f7eaee8fb11af1487940e0dfe50c7:0182bd0bd4444bf836077a718ccdf409::: # LM哈希:8846f7eaee8fb11af1487940e0dfe50c7(对应“123456”) # 步骤 2:执行 LM 哈希破解命令 ./rcrack /root/rcrack_tables/lm/ -lm xp_pwdump.txt -v # 命令解析 # /root/rcrack_tables/lm/:指定 LM 彩虹表目录(需包含 LM_0-7.rt 文件,因 LM 明文限 0-7 位) # -lm xp_pwdump.txt:仅提取并破解文件中的 LM 哈希 # -v:详细模式(输出表加载进度、哈希匹配过程,便于排查问题) # 步骤 3:查看结果 # 终端输出(详细模式示例): # Loading rainbow tables from /root/rcrack_tables/lm/... # Loaded table: lm_0-7.rt (100000 entries) # Processing pwdump file: xp_pwdump.txt... # User: Admin, LM Hash: 8846f7eaee8fb11af1487940e0dfe50c7, Found: 123456 # Done. Cracked 1 of 1 hashes (100%)

6. 场景 5:多彩虹表目录联合破解(复杂明文)

场景描述:破解 12 位明文的 SHA-1 哈希(明文长度跨 0-8 和 9-12 两个表范围),需同时加载两个彩虹表目录(分别存储 0-8 位和 9-12 位 SHA-1 表)。

# 步骤 1:确认多目录彩虹表 ls /root/rcrack_tables/sha1/0-8/ # 输出:sha1_0-8.rt ls /root/rcrack_tables/sha1/9-12/ # 输出:sha1_9-12.rtc # 步骤 2:执行多目录破解命令 ./rcrack /root/rcrack_tables/sha1/0-8/ /root/rcrack_tables/sha1/9-12/ -h aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d # 命令解析 # 两个目录用空格分隔:同时加载 0-8 位和 9-12 位 SHA-1 表 # -h 后的哈希:SHA-1 哈希(对应 12 位明文“TestPass1234”) # 步骤 3:查看结果 # 终端输出(成功匹配时): # Found: TestPass1234 (hash: aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d) # (工具会自动遍历所有目录的表,直到匹配成功或遍历结束)

四、常见问题与解决方案

常见问题原因分析解决方案
“No rainbow tables found in directory XXX”1. 指定的彩虹表目录不存在;2. 目录中无 *.rt/*.rtc 格式文件;3. 目录权限不足(无法读取文件)1. 用ls 目录路径验证目录是否存在;2. 确认目录中存在对应算法的 *.rt/*.rtc 文件(如 MD5 表);3. 用chmod 755 目录路径赋予读取权限
“Hash length mismatch”(哈希长度不匹配)彩虹表算法与目标哈希算法不匹配(如用 MD5 表破解 SHA-1 哈希:MD5 哈希 16 字节,SHA-1 20 字节)1. 用hashid 目标哈希确认哈希算法(如 hashid e10adc3949ba59abbe56e057f20f883e 会显示 MD5);2. 更换对应算法的彩虹表(如 SHA-1 哈希需用 SHA-1 表)
“Plaintext length exceeds table range”(明文长度超表范围)彩虹表的明文长度范围不包含目标明文长度(如用 0-8 位 MD5 表破解 9 位明文哈希)1. 确认目标明文可能的长度(如通过密码策略推测);2. 下载包含对应长度范围的彩虹表(如 0-15 位 MD5 表);3. 多目录联合破解(如同时加载 0-8 和 9-15 位表)
“Not found”(哈希未找到)1. 彩虹表未包含该明文的预计算记录(如复杂随机密码);2. 哈希输入错误(如多输/少输字符);3. 表文件损坏(*.rt/*.rtc 文件无法正常读取)1. 尝试更完整的彩虹表(如从官方仓库下载完整版);2. 重新核对哈希值(复制粘贴避免手动输入错误);3. 重新下载/生成彩虹表(替换损坏的表文件)

五、注意事项与安全规范

  • 彩虹表兼容性:rcrack 仅支持自有格式(*.rt/*.rtc),不兼容 ophcrack、hashcat 等工具的彩虹表,需专用表,下载时需确认格式匹配。
  • 性能优化:彩虹表目录建议放在 SSD 磁盘(减少读取延迟,提升匹配速度);多表联合破解时,优先加载小体积表(减少初始加载时间)。
  • 法律边界:仅可对合法授权的目标使用(如企业内部密码审计、客户签署授权书的渗透测试),禁止破解他人系统、网站或文件的密码,违反《网络安全法》《刑法》需承担法律责任。
  • 数据安全:哈希文件、破解结果包含敏感信息,需加密存储(如用zip -e 结果文件.zip 结果文件.txt加密),避免泄露导致安全风险。
  • 替代方案:rcrack 功能较基础(不支持暴力破解、规则变形),若彩虹表破解失败,可尝试 hashcat(支持彩虹表+暴力破解+GPU加速),适用性更广。
http://www.jsqmd.com/news/577598/

相关文章:

  • 保姆级教程:手把手教你用VMware虚拟机安装国产麒麟V10系统(附镜像下载与常见问题解决)
  • 西安geo王尘宇-DeepSeek排名如何做
  • RuleAppv2版本,常见使用问题和解决办法
  • Chord视觉定位效果可视化:边界框[x1,y1,x2,y2]坐标绘制与尺寸校验教程
  • 从内置函数到自定义算法:用 AMDP 驱动的 CDS Scalar Function 打开 ABAP CDS 的新扩展面
  • ElementPlus 3.0.0 升级指南:告别 type.text,拥抱 link 新特性
  • 告别上位机!纯FPGA实现exFAT文件系统,让你的高速数据直接存成标准文件
  • HarmonyOS APP<玩转React>开源教程二十八:搜索功能实现
  • 突破限制!3步实现抖音直播回放的高效下载解决方案
  • 2026广东中古风家具定制优质品牌推荐:佛山家具/佛山布艺沙发/佛山沙发/佛山软床/全屋家具/劳伦斯沙发/选择指南 - 优质品牌商家
  • 如何为《以撒的结合:悔改》安装REPENTOGON扩展框架
  • 深入解析DW_apb_i2c与TMP75的寄存器交互:从配置到温度读取
  • 阿里巴巴 P6 Java 面试全流程实录:高并发实战与 Redis Lua 深度解析
  • 3.Blender甜甜圈添加材质+纹理
  • CSDN 程序员真实变现路径:能长期赚到钱的,其实就这几条路
  • 从package.xml到CMakeLists.txt:手把手教你配置一个ROS1机器人控制包(附完整项目模板)
  • 财务知识-财务分析报告流程 - 智慧园区
  • 阿里云百炼平台免费Token领取攻略:手把手教你用通义千问和DeepSeek(附100万额度)
  • 计算机毕业设计:Python二手车市场数据可视化与智能选购系统 Flask框架 requests爬虫 协同过滤推荐算法 可视化 汽车之家 机器学习(建议收藏)✅
  • Spring Boot 3.x 开发中速率限制集成实现详解
  • Load-Use冒险避坑指南:为什么你的RISC流水线转发电路会失效?
  • 游戏数据缓存优化
  • 掌握SQL窗口函数,轻松处理复杂数据分析
  • 2026景区电动观光车优质品牌推荐指南 - 优质品牌商家
  • GmSSL3实战:5分钟搞定SM2证书生成与TLS配置(附完整脚本)
  • Windows 11 文件资源管理器:通过注册表权限管理隐藏主文件夹与图库
  • 为什么传统绩效考核正在被OKR取代?2026年企业目标管理的智能化选择
  • 解决Ubuntu中libc6-dev:i386依赖问题的完整指南
  • Phi-4-mini-reasoning开源生态整合:HuggingFace模型加载+vLLM服务+Chainlit前端
  • MacOS下npm install报unable to get local issuer certificate