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

文章目录

    • 📌 引言
    • 📦 支持类型
    • 🛠️ 所需工具下载地址(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/

额外工具


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

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

  1. 下载并解压 john-1.9.0-jumbo-1-win64.zip
  2. 进入 run 目录,找到 rar2john.exe

在 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

搜索关键词 $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

在 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

搜索关键词 $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

在 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. 关闭当前终端窗口,重新打开一个新的 PowerShell 或 CMD。
  4. 再次运行脚本即可解决问题。

编辑 Path,添加以下两个路径(根据你的实际安装路径修改):

D:\Tools\strawberry-perl\perl\bin D:\Tools\strawberry-perl\c\bin 

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

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

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

  1. 访问 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 

📋 示例命令汇总

文件类型提取哈希命令破解命令
RARrar2john.exe test.rarhashcat -m 12500 -a 3 hash.txt ?d?d?d?d?d?d?d?d
ZIPzip2john.exe test.ziphashcat -m 17220 -a 3 hash.txt ?d?d?d?d?d?d?d?d
7zperl 7z2john.pl test.7zhashcat -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)+ 字典文件。

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

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

Read more

uv虚拟环境管理:venv创建、激活与Python版本指定

uv虚拟环境管理:venv创建、激活与Python版本指定 【免费下载链接】uvAn extremely fast Python package installer and resolver, written in Rust. 项目地址: https://gitcode.com/GitHub_Trending/uv/uv 引言:虚拟环境管理的痛点与解决方案 在Python开发中,虚拟环境(Virtual Environment)是隔离项目依赖的关键工具。传统工具如venv和virtualenv存在创建速度慢、版本管理繁琐等问题。uv作为一款用Rust编写的极速Python包管理器,提供了更高效的虚拟环境管理方案。本文将详细介绍如何使用uv创建、激活虚拟环境,并灵活指定Python版本,帮助开发者解决环境一致性和版本控制的痛点。 读完本文后,你将能够: * 使用uv快速创建虚拟环境 * 在不同操作系统下激活虚拟环境 * 灵活指定和管理Python版本 * 解决多项目环境冲突问题 * 利用uv的高级特性提升开发效率 uv虚拟环境基础 什么是虚拟环境 虚拟环境(

By Ne0inhk
Python数据统计完全指南:从入门到实战

Python数据统计完全指南:从入门到实战

文章目录 * 1. 数据统计基础与环境配置 * 1.1 Python数据科学生态系统 * 1.2 环境配置与安装 * 2. 数据获取与加载 * 2.1 从不同数据源加载数据 * 2.2 数据基本信息查看 * 3. 数据清洗与预处理 * 3.1 缺失值处理 * 3.2 数据转换与编码 * 4. 描述性统计分析 * 4.1 基本统计量计算 * 4.2 高级统计分析 1. 数据统计基础与环境配置 1.1 Python数据科学生态系统 Python在数据统计领域的强大主要得益于其丰富的库生态系统: # 核心数据分析库import pandas as pd import numpy as np # 数据可视化库import matplotlib.pyplot

By Ne0inhk

Python生态中最快的PostgreSQL异步驱动:asyncpg的详细使用

更多内容请见: 《爬虫和逆向教程》 - 专栏介绍和目录 文章目录 * 一、asyncpg概述 * 1.1 为什么需要`asyncpg`? * 1.2 asyncpg的优势 * 二、`asyncpg`的使用 * 2.1 asyncpg的安装 * 2.2 建立连接 * 2.3 执行查询 * 2.4 `asyncpg`核心(事务与性能) * 2.5 JSON与JSONB支持 * 2.6 自定义类型与编解码器 * 三、实战案例 * 3.1 异步爬虫数据存储案例 一、asyncpg概述 1.1 为什么需要asyncpg? 想象一个高并发的Web服务器,每个请求都需要查询数据库: * 同步模型

By Ne0inhk
Python——Windows11环境安装配置Python 3.12.5

Python——Windows11环境安装配置Python 3.12.5

目录 * 一、下载Python * 二、下载Python步骤 * 三、安装Python * 四、验证Python * 4.1、验证Python环境 * 4.2、验证pip * 4.3、更新pip * 4.4、pip镜像源切换(永久切换,全局生效,清华镜像源和阿里云镜像源二选一即可) * 4.4.1、清华镜像源 * 4.4.2、阿里云镜像源 * 4.5、安装依赖包(检验是否成功) * 五、配置环境变量(可选) 一、下载Python 或者百度网盘下载 链接: https://pan.baidu.com/s/1Rc8g1mZrfDtOexev2JK7NA?pwd=

By Ne0inhk