ophcrack-cli 是 Kali Linux 中一款专注于Windows 密码破解的命令行工具核心技术基于彩虹表Rainbow Tables——一种通过预计算哈希值与明文对应关系的数据库实现快速反向查询哈希对应的明文密码无需传统暴力破解的逐一枚举大幅提升破解效率。其核心功能与特点如下破解对象主要针对 Windows 系统的 LM 哈希和 NTLM 哈希从 SAM 文件、pwdump 格式文件或 Meterpreter 导出的哈希中提取支持 Windows XP、Vista、Windows 7 等主流早期系统通过扩展彩虹表可覆盖更多版本。核心优势依赖彩虹表的“预计算”特性破解速度远快于暴力破解支持命令行无界面运行适合远程服务器或渗透测试场景提供会话保存、多线程、结果导出等功能适配复杂破解需求。使用场景渗透测试中的 Windows 系统密码审计、系统运维中的遗忘密码恢复需合法授权、安全合规检测中的弱密码排查。注意事项需提前准备对应系统版本的彩虹表Kali 默认提供基础免费表复杂密码需下载完整版仅可用于合法授权的目标未经授权破解涉嫌违法。二、命令行参数中文解析按功能分类1. 模式控制参数参数英文说明中文解析示例-adisable audit mode (default)禁用审计模式默认审计模式会额外分析密码复杂度禁用后仅专注于密码破解ophcrack -a -g -f hash.txt-Aenable audit mode启用审计模式破解时同步输出密码是否符合复杂度要求如长度、字符类型ophcrack -A -g -f hash.txt-bdisable bruteforce禁用暴力破解模式仅依赖彩虹表比对哈希不进行额外枚举ophcrack -b -g -d /tables -f hash.txt-Benable bruteforce (default)启用暴力破解模式默认彩虹表匹配失败时自动触发简单弱密码枚举ophcrack -B -g -d /tables -f hash.txt-gdisable GUI禁用图形界面强制以命令行模式运行Kali 无 GUI 环境可省略有 GUI 需加此参数ophcrack -g -d /tables -f hash.txt2. 彩虹表与哈希加载参数参数英文说明中文解析示例-d dirspecify tables base directory指定彩虹表基础目录工具从该目录读取子表如 xp_free_fast、vista_free-d /usr/share/ophcrack/tables/Kali 默认表目录-t table1[,a[,b,…]][:table2[…]]specify which table to use (with -d)指定使用的彩虹表table1/table2表目录名a,b子表编号可选不填则用全表多表用“:”分隔-t xp_free_fast,0,3:vista_free用 xp 表 0/3 子表 vista 全表-f fileload hashes from file (pwdump/session)从文件加载哈希pwdump 格式Windows 哈希标准导出格式session 格式ophcrack 保存的会话文件恢复任务-f hash.txt加载 pwdump 哈希-f session.sav恢复会话-w dirload hashes from encrypted SAM in dir从指定目录加载加密 SAM 文件需同时存在 SYSTEM 文件用于解密哈希-w /root/sam_files/目录含 SAM 和 SYSTEM 文件3. 结果与日志参数参数英文说明中文解析示例-edo not display empty passwords不显示空密码过滤未设置密码的用户结果ophcrack -g -e -f hash.txt-ihide usernames隐藏用户名仅输出密码ophcrack -g -i -f hash.txt-Ishow usernames (default)显示用户名默认输出“用户名-密码”对应关系ophcrack -g -I -f hash.txt-l filelog all output to file将所有输出进度、结果、报错记录到日志文件-l crack_log.txt-o filewrite output to file (pwdump format)将破解结果以 pwdump 格式写入文件格式用户名:RID:LM哈希:NTLM哈希:密码::-o result.pwdump-x fileexport data to file (CSV format)将结果以 CSV 格式导出用户名,密码,LM哈希,NTLM哈希便于 Excel 分析-x result.csv-udisplay statistics when cracking ends破解结束后显示统计信息总哈希数、破解成功数、耗时、速度ophcrack -g -u -f hash.txt4. 性能与会话参数参数英文说明中文解析示例-n numspecify the number of threads指定线程数建议与 CPU 核心数匹配如 4 核用 -n 4提升并行效率-n 8启用 8 线程-p numpreload (0none,1index,2indexend,3all default)彩虹表预加载模式控制内存占用与速度0不预加载1预加载索引2索引末尾3全加载最快内存占用最高-p 3全预加载适合内存充足场景-sdisable session auto-saving禁用会话自动保存中断后无法恢复进度ophcrack -g -s -f hash.txt-S session_filespecify session file to save progress指定会话文件定期保存破解进度中断后用 -f 加载恢复-S crack_session.sav5. 调试与辅助参数参数英文说明中文解析示例-c config_filespecify the config file to use指定配置文件预设表目录、输出格式等避免重复输入参数-c my_config.conf-Ddisplay lots of debugging information显示详细调试信息表加载、哈希比对、线程状态用于排查故障ophcrack -g -D -f hash.txt-hdisplay this information显示帮助信息所有参数说明与示例ophcrack -h-qquiet mode安静模式仅输出破解成功的结果不显示进度与冗余信息ophcrack -g -q -f hash.txt-vverbose详细模式输出表加载、哈希匹配等过程信息比默认详细少于 -Dophcrack -g -v -f hash.txt附官方示例解析官方示例命令中文解析ophcrack -g -d /path/to/tables -t xp_free_fast,0,3:vista_free -f in.txt1. -g命令行模式2. -d /path/to/tables彩虹表基础目录3. -t使用 xp_free_fast 表的 0、3 子表 vista_free 全表4. -f in.txt加载 in.txt 中的 pwdump 格式哈希功能破解 in.txt 中的哈希用指定彩虹表匹配三、ophcrack-cli 完整使用教程1. 前提准备获取 Windows 密码哈希ophcrack-cli 需先获取目标 Windows 系统的 LM/NTLM 哈希常见 3 种获取方式本地导出Windows 系统权限在目标 Windows 系统中用pwdump7.exe工具导出需管理员权限pwdump7.exe hash.txt生成的hash.txt为 pwdump 格式包含“用户名:RID:LM哈希:NTLM哈希::”。远程导出渗透测试场景通过 Meterpreter 会话导出获取目标主机 Meterpreter 后run post/windows/gather/hashdump输出结果复制到 Kali 的hash.txt中。离线提取SAM 文件从 Windows 系统盘复制C:\Windows\System32\config\SAM和SYSTEM文件到 Kali用samdump2提取哈希samdump2 SYSTEM SAM hash.txt2. 彩虹表准备下载与存放Kali 默认仅提供基础彩虹表如 xp_free_fast、vista_free复杂密码需下载完整版步骤如下查看默认表目录Kali 默认彩虹表路径/usr/share/ophcrack/tables/包含 xp_free_fastXP 简单密码表、vista_freeVista 基础表。下载扩展彩虹表访问 ophcrack 官网彩虹表页面下载对应系统的表如 Windows 7 需下载 win7_x64 系列解压后放到自定义目录如/root/ophcrack_tables/。3. 基础场景破解 pwdump 格式哈希场景已获取hash.txtpwdump 格式XP 系统哈希用 Kali 默认 xp_free_fast 表破解输出日志与统计信息。# 命令 ophcrack -g -d /usr/share/ophcrack/tables/ -t xp_free_fast -f hash.txt -l crack_log.txt -u -v # 参数解析 # -g命令行模式 # -d指定默认彩虹表目录 # -t xp_free_fast使用 XP 免费快速表 # -f hash.txt加载 pwdump 哈希文件 # -l crack_log.txt日志保存到 crack_log.txt # -u结束后显示统计信息 # -v详细输出过程 # 结果查看 # 1. 直接查看终端输出含“用户名:密码” # 2. 打开 crack_log.txt 查看完整日志 # 3. 统计信息示例“Cracked 3 of 5 hashes (60.00%) in 12 seconds”4. 进阶场景多彩虹表组合 会话保存场景破解 Vista/Windows 7 哈希需同时用 vista_free 表和自定义 win7_x64 表且需保存会话防止中断如破解耗时较长。# 命令 ophcrack -g -d /root/ophcrack_tables/ -t vista_free:win7_x64,1,2 -f hash.txt -S win7_session.sav -o win7_result.pwdump -n 4 # 参数解析 # -d /root/ophcrack_tables/自定义表目录含 vista_free 和 win7_x64 子目录 # -t vista_free:win7_x64,1,2同时使用 vista_free 全表 win7_x64 表的 1、2 号子表针对性破解复杂密码 # -S win7_session.sav会话进度保存到 win7_session.sav中断后可恢复 # -o win7_result.pwdump破解结果以 pwdump 格式保存便于其他工具调用 # -n 4启用 4 线程匹配 4 核 CPU提升速度 # 中断后恢复会话命令 ophcrack -g -f win7_session.sav -S win7_session.sav -v # 结果查看 # 1. 打开 win7_result.pwdump 查看“用户名:RID:LM哈希:NTLM哈希:密码::”格式结果 # 2. 恢复会话后工具自动从上次中断位置继续破解5. 离线场景从 SAM 文件直接破解场景已获取目标 Windows 系统的 SAM 和 SYSTEM 文件存放于 /root/sam_backup/ 目录无需提前提取哈希直接加载文件破解。# 前提确保 /root/sam_backup/ 目录下存在 SAM 和 SYSTEM 两个文件 ls /root/sam_backup/ # 验证文件是否存在输出SAM SYSTEM # 命令 ophcrack -g -d /usr/share/ophcrack/tables/ -t xp_free_fast -w /root/sam_backup/ -e -q -x sam_result.csv # 参数解析 # -w /root/sam_backup/从该目录加载 SAM 和 SYSTEM 文件自动提取并解密哈希 # -e不显示空密码过滤未设置密码的用户 # -q安静模式仅输出破解成功的结果减少冗余信息 # -x sam_result.csv结果以 CSV 格式导出便于 Excel 整理格式用户名,密码,LM哈希,NTLM哈希 # 结果查看 # 1. 终端直接显示破解成功的“用户名:密码” # 2. 用 Excel 打开 sam_result.csv 查看结构化数据6. 性能优化场景全预加载 多线程高配置服务器场景Kali 运行在 8 核 16GB 内存服务器上破解 Windows 7 复杂哈希需最大化利用硬件资源提升速度。# 命令 ophcrack -g -d /root/ophcrack_tables/ -t win7_x64 -f hash.txt -n 8 -p 3 -D -l high_perf_log.txt # 参数解析 # -n 8启用 8 线程匹配 8 核 CPU并行处理哈希比对 # -p 3彩虹表全预加载将所有表数据加载到内存避免磁盘 IO 瓶颈需 8GB 内存 # -D详细调试模式查看线程运行状态、表加载进度便于优化 # 其他参数-d 指定自定义表目录-f 加载哈希文件-l 保存日志 # 性能验证 # 破解开始后通过 top 命令查看 CPU 占用应为 800% 左右即 8 核满负载 # 日志中可查看“Candidates per second: 50000”每秒比对 5 万 候选密码比默认配置提升 2-3 倍7. 特殊场景仅破解指定用户哈希场景hash.txt 中包含多个用户哈希仅需破解管理员用户如 Administrator、admin减少无关计算。# 步骤 1筛选指定用户的哈希生成新文件 admin_hash.txt grep -E Administrator|admin hash.txt admin_hash.txt # 步骤 2破解筛选后的哈希 ophcrack -g -d /usr/share/ophcrack/tables/ -t xp_free_fast -f admin_hash.txt -o admin_result.txt -u # 命令解析 # grep -E Administrator|admin用正则筛选含 Administrator 或 admin 的行即目标用户哈希 # 后续破解命令仅针对 admin_hash.txt 中的哈希减少计算量提升效率 # 结果查看 # 打开 admin_result.txt仅包含 Administrator 和 admin 用户的“用户名:密码”结果四、常见问题与解决方案常见问题原因分析解决方案“No tables found in directory /path/to/tables”1. -d 指定的目录不存在2. 目录下无对应表的子目录如 -t xp_free_fast但目录下无该子目录1. 用 ls /path/to/tables 验证目录是否存在2. 确认表子目录名与 -t 指定的一致如 xp_free_fast 需存在同名子目录3. 重新下载彩虹表并解压到正确目录“Out of memory”内存不足-p 3全预加载时彩虹表体积过大如 win7_x64 表约 10GB内存不足1. 降低预加载级别将 -p 3 改为 -p 2预加载索引末尾或 -p 1仅预加载索引2. 关闭其他占用内存的进程如用 kill 命令结束无关程序3. 若硬件允许升级内存到 16GB“0 hashes cracked”破解成功率为 01. 彩虹表版本与 Windows 系统不匹配如用 XP 表破解 Windows 10 哈希2. 密码复杂度超出表覆盖范围如 12 位混合字符密码免费表仅支持 8 位以内3. 哈希文件格式错误非 pwdump 或 session 格式1. 确认目标系统版本下载对应彩虹表如 Windows 10 需专用表2. 启用暴力破解补充默认 -B 已启用无需额外参数3. 用 cat hash.txt 查看哈希格式确保为“用户名:RID:LM哈希:NTLM哈希::”会话恢复失败“Session file corrupted”1. 会话文件如 win7_session.sav被误删或修改2. 恢复时使用的彩虹表目录与保存会话时不一致1. 确保会话文件完整未被编辑2. 恢复时 -d 指定的表目录需与保存会话时完全一致如之前用 /root/tables恢复时不可改为 /usr/share/tables五、注意事项与法律声明彩虹表合法性仅使用开源免费彩虹表如官网提供的 xp_free_fast、vista_free避免使用盗版或侵权的商业彩虹表。授权要求仅可对合法授权的目标系统使用如企业内部运维、客户授权的渗透测试未经授权破解他人系统密码涉嫌违反《中华人民共和国网络安全法》《刑法》需承担法律责任。表更新Windows 10/11 系统的哈希算法如 NTLMv2已升级传统彩虹表破解效率极低建议搭配其他工具如 hashcat联合使用。数据安全哈希文件、破解结果、会话文件包含敏感信息需加密存储如用 zip -e 加密避免泄露。