> 技术文档 > 【学习记录】使用 John the Ripper 和 Hashcat破解 RAR、ZIP 与 7z 文件密码(Windows教程)_绕过7z密码提取文件

【学习记录】使用 John the Ripper 和 Hashcat破解 RAR、ZIP 与 7z 文件密码(Windows教程)_绕过7z密码提取文件


文章目录

    • 📌 引言
    • 📦 支持类型
    • 🛠️ 所需工具下载地址(Windows 官方编译版)
      • 额外工具
    • 🔐 一、破解RAR 压缩文件密码
      • 步骤 1:获取RAR 文件的加密哈希值
      • 步骤 2:将正确的哈希值复制到 `hash.txt` 文件
      • 步骤 3:在 Hashcat 官方 wiki 查找 `-m` 哈希模式 ID
      • 步骤 4: 使用 Hashcat 破解哈希值
    • 📁 二、破解ZIP 压缩文件密码
      • 步骤 1:提取 ZIP 文件的加密哈希值
      • 步骤 2:将正确的哈希值复制到 `hash.txt` 文件
      • 步骤 3:在 Hashcat 官方 wiki 查找 `-m` 哈希模式 ID
      • 步骤 4:使用 Hashcat 破解 ZIP 哈希值
    • 🗂 三、破解 7z 压缩文件密码
      • 步骤 1:安装 Strawberry Perl
      • 步骤 2:提取 7z 文件的加密哈希值
        • 报错修复:Can\'t load \'Compress::Raw::Lzma.xs.dll\'
      • 步骤 3:将正确的哈希值复制到 `hash.txt` 文件
      • 步骤 4:在 Hashcat 官方 wiki 查找 `-m` 哈希模式 ID
      • 步骤 5:使用 Hashcat 破解 7z 哈希值
    • 📋 示例命令汇总
    • 💡 小结
    • ⚠️ 注意事项

📌 引言

在某些情况下,我们可能需要找回自己或授权范围内文件的压缩密码。例如,RAR、ZIP 或 7z 压缩包被加密后无法访问。本文将详细介绍如何使用 John the RipperHashcat 工具,在 Windows 平台上提取并获取这些加密文件的密码。


📦 支持类型

本教程支持以下文件格式的密码获取:

  • RAR 压缩文件
  • ZIP 压缩文件
  • 7z 压缩文件

🛠️ 所需工具下载地址(Windows 官方编译版)

工具名称 功能 下载地址 John the Ripper 提取加密哈希、字典攻击 https://www.openwall.com/john/g/john-1.9.0-jumbo-1-win64.zip Hashcat 高速 GPU 密码破解工具 https://hashcat.net/files/hashcat-6.2.7.7z Strawberry Perl 运行 Perl 脚本所需环境 https://strawberryperl.com/

额外工具

  • 7-Zip: 用于处理 7z 文件。
    • 7-Zip 下载链接

🔐 一、破解RAR 压缩文件密码

步骤 1:获取RAR 文件的加密哈希值

  1. 下载并解压 john-1.9.0-jumbo-1-win64.zip
  2. 进入 run 目录,找到 rar2john.exe
  3. 在 PowerShell 中运行:
    rar2john.exe test.rar

    完整的hash值如下图所示:
    在这里插入图片描述

步骤 2:将正确的哈希值复制到 hash.txt 文件

  1. 打开记事本或其他文本编辑器。
  2. 将步骤1中获取的哈希值粘贴进去。
  3. 保存文件为 hash.txt

步骤 3:在 Hashcat 官方 wiki 查找 -m 哈希模式 ID

  1. 访问 Hashcat 官方 wiki - Example Hashes

  2. 搜索关键词 $rar5$16$,你会看到类似如下信息:

    RAR5: hash-mode = 13000

    ✅ 表示 RAR5 加密文件应使用 -m 13000
    在这里插入图片描述

步骤 4: 使用 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 是掩码攻击模式,表示尝试所有数字组合。


📁 二、破解ZIP 压缩文件密码

步骤 1:提取 ZIP 文件的加密哈希值

  1. 下载并解压 john-1.9.0-jumbo-1-win64.zip
  2. 进入 run 目录,找到 zip2john.exe
  3. 在 PowerShell 中运行:
    zip2john.exe test.zip

    完整的hash值如下图所示:
    在这里插入图片描述

步骤 2:将正确的哈希值复制到 hash.txt 文件

  1. 打开记事本或其他文本编辑器。
  2. 将步骤1中获取的哈希值粘贴进去。
  3. 保存文件为 hash.txt

步骤 3:在 Hashcat 官方 wiki 查找 -m 哈希模式 ID

  1. 访问 Hashcat 官方 wiki - Example Hashes

  2. 搜索关键词 $zip2$,你会看到类似如下信息:

    WinZip: hash-mode = 13600

    ✅ 表示 ZIP 加密文件应使用 -m 13600
    在这里插入图片描述

步骤 4:使用 Hashcat 破解 ZIP 哈希值

hashcat -m 13600 -a 3 hash.txt ?d?d?d?d?d?d?d?d --increment --increment-min=4 --increment-max=8

🗂 三、破解 7z 压缩文件密码

步骤 1:安装 Strawberry Perl

由于 john中的7z2john.pl 是一个 Perl 脚本,我们需要先安装 Perl 环境。推荐使用 Strawberry Perl,因为它包含了所有必要的模块,并且易于安装。

  1. 访问 Strawberry Perl 官方网站
  2. 下载适合你系统的版本(通常是最新稳定版)
  3. 运行安装程序,并按照提示完成安装。

步骤 2:提取 7z 文件的加密哈希值

  1. 下载并解压 john-1.9.0-jumbo-1-win64.zip
  2. 进入 run 目录,找到 7z2john.pl
  3. 在 PowerShell 中运行:
    perl 7z2john.pl test.7z

    完整的hash值如下图所示:
    在这里插入图片描述

报错修复:Can’t load ‘Compress::Raw::Lzma.xs.dll’

如果遇到如下报错:

Can\'t load \'D:/Desktop/BlackTechnology/strawberry-perl/perl/vendor/lib/auto/Compress/Raw/Lzma/Lzma.xs.dll\' for module Compress::Raw::Lzma: load_file: 找不到指定的模块。at D:/Desktop/BlackTechnology/strawberry-perl/perl/lib/DynaLoader.pm line 206.

请执行以下操作:

  1. 右键点击 此电脑 / 我的电脑
  2. 选择 属性 > 高级系统设置 > 环境变量
  3. 编辑 Path,添加以下两个路径(根据你的实际安装路径修改):
    D:\\Tools\\strawberry-perl\\perl\\binD:\\Tools\\strawberry-perl\\c\\bin
  4. 关闭当前终端窗口,重新打开一个新的 PowerShell 或 CMD。
  5. 再次运行脚本即可解决问题。

步骤 3:将正确的哈希值复制到 hash.txt 文件

  1. 打开记事本或其他文本编辑器。
  2. 将步骤2中获取的哈希值粘贴进去。
  3. 保存文件为 hash.txt

步骤 4:在 Hashcat 官方 wiki 查找 -m 哈希模式 ID

  1. 访问 Hashcat 官方 wiki - Example Hashes

  2. 搜索关键词 $7z$,你会看到类似如下信息:

    7-Zip: hash-mode = 11600

    ✅ 表示 7z 加密文件应使用 -m 11600

步骤 5:使用 Hashcat 破解 7z 哈希值

hashcat -m 11600 -a 3 hash.txt ?d?d?d?d?d?d?d?d --increment --increment-min=4 --increment-max=8

📋 示例命令汇总

文件类型 提取哈希命令 破解命令 RAR rar2john.exe test.rar hashcat -m 12500 -a 3 hash.txt ?d?d?d?d?d?d?d?d ZIP zip2john.exe test.zip hashcat -m 17220 -a 3 hash.txt ?d?d?d?d?d?d?d?d 7z perl 7z2john.pl test.7z hashcat -m 11600 -a 3 hash.txt ?d?d?d?d?d?d?d?d

💡 小结

通过本文你可以完整掌握:

  • 如何使用 John the Ripper 提取 RAR、ZIP、7z 文件的加密哈希;
  • 如何在 Hashcat 官方 Wiki 查找正确的 -m 模式 ID;
  • 如何编写 Hashcat 命令进行密码破解。
  • 📌 关键点在于:准确识别加密格式并匹配对应的 Hashcat 模式 ID。

⚠️ 注意事项

  • 合法性提醒:请确保你有权访问目标文件,未经授权破解他人文件属违法行为。
  • 性能建议:推荐使用支持 CUDA 或 OpenCL 的 GPU 来加速破解过程。
  • 密码复杂度影响:密码越复杂,破解时间越长。建议结合字典攻击提高效率。
  • 字典攻击更优:如果能获取部分信息(如生日、姓名等),建议使用字典攻击(-a 0)+ 字典文件。

📌 如果你对密码破解技术感兴趣,或者正在学习渗透测试相关知识,这篇文章可以帮助你了解压缩文件密码的提取与破解方法。

💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨安全技术的发展与实践!

汽车悬架板簧配套件