在某些情况下,我们需要找回自己或授权范围内文件的压缩密码。例如 RAR、ZIP 或 7z 压缩包被加密后无法访问。本文将介绍如何在 Windows 平台上使用 John the Ripper 和 Hashcat 工具提取并获取这些加密文件的密码。
支持类型
本教程涵盖以下文件格式的密码恢复:
- RAR 压缩文件
- ZIP 压缩文件
- 7z 压缩文件
所需工具
请准备以下官方编译版本(Windows):
- John the Ripper:用于提取加密哈希及字典攻击
- Hashcat:高速 GPU 密码破解工具
- Strawberry Perl:运行 Perl 脚本所需环境(针对 7z 处理)
- 7-Zip:辅助处理 7z 文件
一、破解 RAR 压缩文件密码
1. 提取哈希值
下载并解压 John the Ripper 包,进入 run 目录找到 rar2john.exe。在 PowerShell 中执行:
rar2john.exe test.rar
运行后将输出完整的哈希字符串,将其复制保存至 hash.txt 文件中。
2. 确定哈希模式 ID
访问 Hashcat 官方 Wiki 查找对应的 -m 参数。搜索 $rar5$16$ 可确认 RAR5 加密应使用模式 13000。
3. 开始破解
使用 Hashcat 进行掩码攻击,尝试数字组合:
hashcat -m 13000 -a 3 hash.txt ?d?d?d?d?d?d?d?d --increment --increment-min=4 --increment-max=8
其中 -a 3 代表掩码攻击模式,?d 表示数字字符。根据实际密码长度调整掩码范围。
二、破解 ZIP 压缩文件密码
1. 提取哈希值
同样在 John the Ripper 的 run 目录下找到 zip2john.exe,执行:
zip2john.exe test.zip
将输出的哈希值保存至 hash.txt。
2. 确定哈希模式 ID
在 Hashcat Wiki 中搜索 $zip2$,对应模式为 13600。
3. 开始破解
命令示例如下:
hashcat -m 13600 -a 3 hash.txt ?d?d?d?d?d?d?d?d --increment --increment-min=4 --increment-max=8
三、破解 7z 压缩文件密码
1. 安装 Perl 环境
由于 7z2john.pl 是 Perl 脚本,需先安装 Strawberry Perl。安装时建议勾选添加到系统环境变量选项。
2. 提取哈希值
在 PowerShell 中运行脚本:
perl 7z2john.pl test.7z

