# 恢复 ZIP 存档访问权限:John the Ripper 实用指南
加密存档的密码忘记是很常见的问题,尤其在处理旧数据、备份文件或 OSINT 调查收集的材料时。将机密文件上传到第三方在线“破解”服务,会带来不可接受的数据泄露风险。使用可靠的信息安全工具进行本地审计,可以在不损害数据安全的前提下恢复访问权限。我们将一步步介绍一个实用流程,使用 zip2john 和 john 工具在 Debian 兼容发行版上提取并破解 ZIP 存档的密码。
环境设置与哈希提取
为此,你需要一个基于 Debian 的 Linux 系统。Kali Linux 或 Parrot OS 等专用发行版最合适,它们预装并配置好了 john。在标准发行版中,可以通过仓库安装(sudo apt install john)。请注意,zip2john 不会直接破解存档。它的作用是解析 ZIP 文件结构,提取加密头部,并生成主 John the Ripper 引擎能识别的哈希格式。
将目标存档放到方便的目录中。本例使用 /home/user/Desktop/Secret.zip。第一步是生成哈希文件:
zip2john /home/user/Desktop/Secret.zip > /home/user/Desktop/hash.txt
该工具会分析存档内的本地文件头部。如果存档包含多个文件,zip2john 可能输出多个哈希,或警告不兼容的压缩方法。这种情况下,可以指定存档内特定文件的路径,或使用 -p 标志强制解析。将结果重定向到文本文件,作为下一步的输入。
John the Ripper 如何处理 ZIP
现代 ZIP 存档使用两种主要加密标准:过时的 ZipCrypto (PKWARE) 和更安全的 AES-256。zip2john 会自动检测加密类型,并生成相应的哈希签名($zip$ 或 $zip2$)。John the Ripper 根据这些元数据选择最优破解算法。
启动密码恢复流程:
john /home/user/Desktop/hash.txt
默认使用内置变异规则的增量式暴力破解模式。为获得更快结果,直接使用单词列表:
john --wordlist=/usr/share/wordlists/rockyou.txt /home/user/Desktop/hash.txt
破解成功后或查看已找到密码,使用 --show 标志:
john /home/user/Desktop/hash.txt --show
输出会显示与存档名称关联的恢复密码。如果中断,John 会将会话状态保存在 ~/.john/john.pot 中,可随时恢复进度。
优化破解与硬件限制
恢复效率取决于你的硬件和策略。John the Ripper 的 CPU 版本适合字典攻击和简单变异。对于复杂密码,使用支持 OpenCL 的 john-jumbo 版本,利用 GPU 加速。对于 AES-256,CPU 速度最高每秒几千哈希,而 GPU 可带来数量级的提升。
规划审计的关键考虑因素:
- 密码长度和熵决定了破解时间。最多 8 个小写字母可在几分钟内破解;带特殊字符的 12 位以上则使暴力破解不切实际。
- ZIP 结构允许在不解压的情况下提取哈希,保持原始数据完整性。
- 自定义规则(
--rules)可生成字典变体,包括前缀、后缀和替换,提升针对性审计的成功率。 - 始终确认对存档的合法访问权。这些工具用于审计自己的数据或经所有者书面许可的系统。
关键要点
- zip2john 不破解密码;它从存档元数据中提取加密哈希,用于后续处理。
- 本地破解避免了在线恢复服务的数据泄露风险。
- OpenCL john 版本的 GPU 支持对于 AES-256 和长密码至关重要。
--show标志和john.pot文件用于管理会话并检索结果,无需重新计算。- 字典攻击成功取决于单词列表质量和针对具体情况的变异规则。
— Editorial Team
暂无评论。