压缩包密码破解-Hashcat
本文将详细介绍如何使用 Hashcat 并结合 GPU 破解 ZIP、RAR 的压缩包密码的完整过程。
1. 核心工具安装Hashcat下载:从官网下载最新版本:https://hashcat.net/hashcat/
John the Ripper:用于提取RAR哈希值:https://www.openwall.com/john/
CUDA Toolkit(NVIDIA GPU必需):https://developer.nvidia.com/cuda-downloads
2. 环境变量配置将以下路径添加到系统PATH:
Hashcat解压目录John the Ripper的run目录3. 安装验证12345# 验证Hashcat.\hashcat.exe -V# 验证CUDA安装nvcc --version4. 破解流程4.1 提取压缩包哈希值12345678# 使用 John the Ripper 提取 RAR 压缩包的 Hashrar2john secret.rar > rar_hash.txt# 使用 John the Ripper 提取 ZIP 压缩包的 Hashzip2john.exe "重要文件.zip" > zip_hash.txt# 清理哈希格式(移除文件名前缀)(Get-Content rar_hash.txt) -replace "^.*?:", "" | Set-Content clean_hash.txt4.2 准备密码字典字典来源推荐
常用密码库:https://github.com/danielmiessler/SecLists/tree/master/Passwords
针对性生成(使用 crunch)
1crunch 6 8 0123456789 -o num_dict.txt泄露密码集合:https://haveibeenpwned.com/Passwords如果存在很多个密码 txt 文件,可以使用下面的命令将多个文件进行合并。
1234567891011# 基本合并 - Linux/macOScat /路径/到/字典文件夹/*.txt > combined_dict.txt# 合并并去重 - Linux/macOScat *.txt | sort -u > final_dict.txt# 基本合并 - Windows (PowerShell)Get-Content -Path "C:\路径\到\字典文件夹\*.txt" | Set-Content combined_dict.txt# 基本去重并保留原始顺序 - Windows (PowerShell)Get-Content .\raw_dict.txt | Sort-Object -Unique > unique_dict.txt4.3 执行 GPU 加速破解1hashcat.exe -m 13000 -a 0 .\clean_hash.txt .\dict.txt -O -w 3关键参数说明:
-m 13000:指定哈希模式(RAR5使用-m 13000,ZIP使用-m 13600)-a 0:字典攻击模式-O:启用内核优化-w 3:最大化GPU负载4.4 监控破解状态典型输出解读(只列了部分核心输出):
12345678Status...........: Running # 任务状态Time.Started.....: Sat Jun 21 14:55:32 2025 (27 secs) # 任务开始时间 + 已运行时间Time.Estimated...: Sat Jun 21 15:00:28 2025 (4 mins, 29 secs) # 预计完成时间 + 剩余时间Speed.#1.........: 97350 H/s # GPU每秒尝试次数:97350 次/秒Rejected.........: 0/2260992 (0.00%) # 被拒绝的密码数(格式错误等)Progress.........: 2260992/28493617 (7.94%) # 进度Recovered........: 0/1 (0.00%) Digests (total) # 破解结果:0个成功(共1个哈希)Candidates.#1....: 2 mecool -> 3 sojourners # 当前尝试的密码范围(字典中的连续密码)4.5 查看破解结果破解完成时,在命令行界面输出内容中会出现成功破解的密码,也可以使用下面的命令进行查看。
12# 显示成功破解的密码hashcat.exe -m 13000 .\clean_hash.txt --show5. 常见问题解决问题1:BOM头部错误
1.\hash.txt: Byte Order Mark (BOM) was detected解决方案:
1(Get-Content .\hash.txt -Raw) -replace "\xEF\xBB\xBF", "" | Set-Content fixed_hash.txt问题2:CUDA初始化失败
1Failed to initialize NVIDIA RTC library解决方案:
安装匹配的 CUDA Toolkit 版本
应用内核超时补丁:https://hashcat.net/q/timeoutpatch
问题3:哈希格式不识别
1Signature unmatched解决方案:
检查RAR版本:RAR5使用-m 13000,ZIP使用-m 13600
重新提取哈希并移除无关字符。
6. 破解性能对比硬件配置破解速度8位数字时间8位混合密码时间CPU i7-12700K1,200 H/s23小时超过10年RTX 407097,350 H/s17分钟约2年4x RTX 4090集群520,000 H/s3分钟约6个月注意:复杂密码的实际破解时间可能远超理论值
7. 法律与伦理声明仅限合法用途:对自己的文件进行密码恢复禁止未授权破解:尊重他人隐私和数字资产数据安全:破解完成后立即删除敏感文件遵守当地法律:了解并遵守所在地区相关法律法规8. 总结通过本文介绍的方法,你可以:
使用John the Ripper正确提取RAR哈希配置GPU环境实现百倍加速选择合适的攻击模式和字典实时监控破解状态并优化性能重要提示:密码强度仍然是安全的核心。建议使用:
12位以上混合密码(大小写+数字+符号)密码管理器生成唯一密码启用双因素认证技术有界,安全无价。请始终将技术用于正当合法的场景,共同维护网络空间的安全与秩序。