如何使用hashcat破解zip压缩包密码?

前言

前几天受邀参加了四川省某公安的线上比武,当然,拿到第一是必然的了😊

不过这都不重要,重要的是里面有一些题还是蛮有趣的,我们这几天会陆续给大家做个分享。

相关阅读

说到对文件的密码暴力破解我们其实之前有讲过

题目要求

给了一个名为crack.zip的压缩包,并提示我们,压缩包的密码是女朋友的生日

但它只记得女朋友是1999年的了,具体几月几号清不清楚了

举例:女朋友的生日假如是1月1日,那么密码就是19990101

需要破解的压缩包我们也分享上,看看你们能不能破解出来

图片[1]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

视频讲解

图文教程

首先我们需要选择-a-m参数对应的正确代码

-m的代码选择

-m的代码意味着哈希类型的选择

我们运行下面的命令

zip2john crack.zip

可以看到其hash值如下

$pkzip2$1*1*2*0*19*d*32deff4e*0*26*0*19*32de*7d0b*10dab058f7ecafa5ccc992654f3e2c013e11905d15601d5afd*$/pkzip2$

我们可以看到前面的提示是pkzip2,所以我们需要查阅其对应的代码,点击这里查询

图片[2]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

这里可以看到我们的是PKZIP,所以下面的-m 代码要选择要么是17200、要么是17210,到时候试一下看就好了

-a的选择

攻击模式,-a的代码选择

#Mode解释
0Straight给定一个字典,hashcat会逐行读取字典中的内容,计算每行的hash值,与目标hash值相比较。
1Combination组合两个密码字典的内容
3Brute-force给定Mask字符集的各种各样的组合(对应的Mask字符集参考下面)
6Hybrid Wordlist + Mask字典与Mask组合
7Hybrid Mask + WordlistMask与字典组合

我们要破解的是生日的1999XXXX中的XXXX部分,因此,我们可以选择用第三者组合方式再配合Mask字符集,因此这里-a 3

Mask字符集变量的含义

?Charset解释
labcdefghijklmnopqrstuvwxyz代表小写字母
uABCDEFGHIJKLMNOPQRSTUVWXYZ代表大写字母
d0123456789代表纯数字
h0123456789abcdef代表数字、小写字母
H0123456789ABCDEF代表数字、大写字母
s! “#$%&'()*+,-./:;<=>?@[\]^_`~{|}代表特殊字符
a?l?u?d?s代表大小写字母、数字以及特殊字符
b0x00 – 0xff

我们要破解的生日,前面的1999已经确定了,后面是4位纯数字,可以看到Mask字符集里代表纯数字的是?d

因此我们要爆破的应该这么写,--increment 1999?d?d?d?d

破解crack.zip

上面分解步骤合在一起就是完整的命令了

hashcat -a 3 -m 17210 '$pkzip2$1*1*2*0*19*d*32deff4e*0*26*0*19*32de*7d0b*10dab058f7ecafa5ccc992654f3e2c013e11905d15601d5afd*$/pkzip2$' --increment 1999?d?d?d?d -o output.txt
图片[3]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

几乎是一秒就运行完了,我们可以看到结果,解压密码是1990213

图片[4]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

我们可以试下

图片[5]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

成功解压

图片[6]-如何使用hashcat破解zip压缩包密码?-FancyPig's blog

© 版权声明
THE END
喜欢就支持一下吧
点赞40赞赏 分享
评论 共12条

请登录后发表评论