在处理压缩包时,尤其是遇到加密的压缩文件时,密码破解成为一个重要的技能。Hashcat是一款强大的密码破解工具,支持多种加密算法,并能够通过GPU加速大幅提高破解效率。在本文中,我们将介绍如何使用Hashcat破解不同类型压缩包的密码,包括ZIP、RAR和7z文件,同时详细说明如何选择适当的哈希模式。
一、Hashcat简介
Hashcat是一款开源的密码破解工具,它支持使用CPU和GPU加速来破解密码。通过强大的密码攻击方式(如字典攻击、暴力破解、规则攻击等),Hashcat可以破解多种加密协议、哈希算法以及压缩文件的密码。对于压缩包密码破解,Hashcat需要从压缩包中提取哈希值,并基于这些哈希值进行攻击。
二、准备工作
在使用Hashcat破解压缩包密码之前,你需要完成以下准备工作:
- 安装Hashcat:你可以从Hashcat官网下载并安装适用于你的操作系统的Hashcat版本。
- 准备压缩包文件:确保你有需要破解密码的压缩包文件(如ZIP、RAR、7z等格式)。
- 准备字典文件:字典攻击是最常见的破解方式,使用一个强大的字典(如
rockyou.txt
)可以提高破解效率。 - 确保GPU支持:Hashcat利用GPU进行加速,可以显著提高破解速度。确保系统中安装了合适的显卡驱动(如NVIDIA CUDA或AMD OpenCL)。
三、提取压缩包的哈希值
Hashcat无法直接破解压缩包本身,而是通过破解压缩包的哈希值。我们需要使用一些工具从压缩包中提取出哈希值,再用Hashcat进行密码破解。
1. 破解ZIP文件密码
对于ZIP文件,我们可以使用zip2john
工具(这是John the Ripper附带的工具)来提取哈希值。假设你的ZIP文件为file.zip
,执行以下命令:
|
|
这将生成包含ZIP文件哈希值的zip_hash.txt
文件。
2. 破解RAR文件密码
对于RAR文件,使用rar2john
工具来提取密码哈希。假设你的RAR文件为file.rar
,可以执行以下命令:
|
|
这样,rar_hash.txt
将包含RAR文件的哈希值。
3. 破解7z文件密码
7z文件也可以通过类似的方法提取哈希值。使用7z2john
工具:
|
|
这将提取出7z文件的哈希值,并保存到7z_hash.txt
中。
四、选择合适的哈希模式
Hashcat需要知道文件的加密类型,才能选择正确的破解算法。不同的压缩格式和版本(例如ZIP、RAR等)使用不同的哈希模式。下面是常见压缩包格式及其对应的哈希模式。
1. ZIP文件
ZIP文件的加密算法有多个版本,常见的版本包括传统ZIP加密和AES加密。
-
ZIP文件(传统ZIP加密,ZIP2):
- 哈希模式:
-m 13600
- 用于经典的ZIP加密格式,支持旧版本的ZIP文件。
示例命令:
1
hashcat -m 13600 zip_hash.txt rockyou.txt
- 哈希模式:
-
ZIP文件(AES加密):
- 哈希模式:
-m 13400
- 用于AES加密的ZIP文件,通常是较新的ZIP文件格式。
示例命令:
1
hashcat -m 13400 zip_hash.txt rockyou.txt
- 哈希模式:
2. RAR文件
RAR文件有两个主要版本,RAR3和RAR5。它们使用不同的加密算法,需要选择不同的哈希模式。
-
RAR3文件(旧版RAR文件):
- 哈希模式:
-m 12500
- 用于RAR3格式的文件,它们采用较旧的加密算法。
示例命令:
1
hashcat -m 12500 rar_hash.txt rockyou.txt
- 哈希模式:
-
RAR5文件(新版RAR文件):
- 哈希模式:
-m 13000
- 用于RAR5格式的文件,支持更强的加密算法。
示例命令:
1
hashcat -m 13000 rar_hash.txt rockyou.txt
- 哈希模式:
3. 7z文件
7z文件支持AES加密,Hashcat使用以下哈希模式进行破解:
-
7z文件(AES加密):
- 哈希模式:
-m 11600
- 用于经典的7z文件加密(包括AES加密)。
示例命令:
1
hashcat -m 11600 7z_hash.txt rockyou.txt
- 哈希模式:
4. 哈希模式选择总结
压缩包格式 | 哈希模式 | 说明 |
---|---|---|
ZIP | -m 13600 |
经典ZIP加密格式 |
ZIP | -m 13400 |
AES加密ZIP文件 |
RAR | -m 12500 |
RAR3文件(旧版RAR文件) |
RAR | -m 13000 |
RAR5文件(新版RAR文件) |
7z | -m 11600 |
AES加密的7z文件 |
五、开始破解
选择好哈希模式后,可以使用Hashcat开始破解压缩包密码。以下是常见的两种破解方式:
1. 字典攻击
字典攻击是最常见的破解方式。Hashcat会逐一尝试字典中的每个密码,直到找到匹配的密码。假设我们使用rockyou.txt
作为字典文件,可以运行以下命令:
|
|
对于RAR文件,命令如下:
|
|
2. 暴力破解
如果字典攻击未能成功,暴力破解是一种备选方案。暴力破解会尝试所有可能的密码组合。以下是使用暴力破解的示例:
|
|
其中,?a
表示所有字符集,包括字母、数字和符号。可以根据需要调整密码长度。
六、总结
使用Hashcat破解压缩包密码的过程包括提取哈希值、选择合适的哈希模式、以及选择合适的攻击方式(如字典攻击或暴力破解)。正确选择哈希模式是成功破解密码的关键,不同的压缩包格式和版本对应不同的哈希模式。通过合理配置参数、结合GPU加速和字典文件,你可以高效地破解压缩包密码。