【学习记录】使用 John the Ripper 和 Hashcat破解 RAR、ZIP 与 7z 文件密码(Windows教程)_绕过7z密码提取文件
文章目录
-
- 📌 引言
- 📦 支持类型
- 🛠️ 所需工具下载地址(Windows 官方编译版)
-
- 额外工具
- 🔐 一、破解RAR 压缩文件密码
- 📁 二、破解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 Ripper 和 Hashcat 工具,在 Windows 平台上提取并获取这些加密文件的密码。
📦 支持类型
本教程支持以下文件格式的密码获取:
- RAR 压缩文件
- ZIP 压缩文件
- 7z 压缩文件
🛠️ 所需工具下载地址(Windows 官方编译版)
额外工具
- 7-Zip: 用于处理 7z 文件。
- 7-Zip 下载链接
🔐 一、破解RAR 压缩文件密码
步骤 1:获取RAR 文件的加密哈希值
- 下载并解压
john-1.9.0-jumbo-1-win64.zip
- 进入
run
目录,找到rar2john.exe
- 在 PowerShell 中运行:
rar2john.exe test.rar
完整的hash值如下图所示:
步骤 2:将正确的哈希值复制到 hash.txt
文件
- 打开记事本或其他文本编辑器。
- 将步骤1中获取的哈希值粘贴进去。
- 保存文件为
hash.txt
。
步骤 3:在 Hashcat 官方 wiki 查找 -m
哈希模式 ID
-
访问 Hashcat 官方 wiki - Example Hashes
-
搜索关键词
$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 文件的加密哈希值
- 下载并解压
john-1.9.0-jumbo-1-win64.zip
- 进入
run
目录,找到zip2john.exe
- 在 PowerShell 中运行:
zip2john.exe test.zip
完整的hash值如下图所示:
步骤 2:将正确的哈希值复制到 hash.txt
文件
- 打开记事本或其他文本编辑器。
- 将步骤1中获取的哈希值粘贴进去。
- 保存文件为
hash.txt
。
步骤 3:在 Hashcat 官方 wiki 查找 -m
哈希模式 ID
-
访问 Hashcat 官方 wiki - Example Hashes
-
搜索关键词
$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,因为它包含了所有必要的模块,并且易于安装。
- 访问 Strawberry Perl 官方网站
- 下载适合你系统的版本(通常是最新稳定版)
- 运行安装程序,并按照提示完成安装。
步骤 2:提取 7z 文件的加密哈希值
- 下载并解压
john-1.9.0-jumbo-1-win64.zip
- 进入
run
目录,找到7z2john.pl
- 在 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.
请执行以下操作:
- 右键点击 此电脑 / 我的电脑
- 选择 属性 > 高级系统设置 > 环境变量
- 编辑
Path
,添加以下两个路径(根据你的实际安装路径修改):D:\\Tools\\strawberry-perl\\perl\\binD:\\Tools\\strawberry-perl\\c\\bin
- 关闭当前终端窗口,重新打开一个新的 PowerShell 或 CMD。
- 再次运行脚本即可解决问题。
步骤 3:将正确的哈希值复制到 hash.txt
文件
- 打开记事本或其他文本编辑器。
- 将步骤2中获取的哈希值粘贴进去。
- 保存文件为
hash.txt
。
步骤 4:在 Hashcat 官方 wiki 查找 -m
哈希模式 ID
-
访问 Hashcat 官方 wiki - Example Hashes
-
搜索关键词
$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
📋 示例命令汇总
rar2john.exe test.rar
hashcat -m 12500 -a 3 hash.txt ?d?d?d?d?d?d?d?d
zip2john.exe test.zip
hashcat -m 17220 -a 3 hash.txt ?d?d?d?d?d?d?d?d
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)+ 字典文件。
📌 如果你对密码破解技术感兴趣,或者正在学习渗透测试相关知识,这篇文章可以帮助你了解压缩文件密码的提取与破解方法。
💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨安全技术的发展与实践!