返回首页

使用 John the Ripper 恢复 ZIP 密码

本文描述了在 Linux 环境中使用 zip2john 和 John the Ripper 实用程序从 ZIP 存档中恢复遗忘密码的技术过程。它涵盖了哈希提取机制、字典攻击优化以及本地审计安全方面。

如何本地恢复 ZIP 存档密码
Advertisement 728x90

# 恢复 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。第一步是生成哈希文件:

Google AdInline article slot
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 根据这些元数据选择最优破解算法。

启动密码恢复流程:

Google AdInline article slot
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 中,可随时恢复进度。

Google AdInline article slot

优化破解与硬件限制

恢复效率取决于你的硬件和策略。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

Advertisement 728x90

继续阅读