hash破解-hashcat

hashcat破解hash值
今天我要向大家分享一个被誉为世界上最快的密码破解工具——hashcat。在渗透测试中,我们经常会遇到一些经过加密处理的hash值,有时在线网站可能无法解密,这时我们可以使用hashcat进行密码恢复。今天我将使用JohnTheRipper中的zip2john.exe来获取加密zip文件的哈希值,并使用hashcat进行掩码破解。
首先,我们需要搭建实验环境:



首先,让我们了解一下hashcat。hashcat号称世界上最快的密码破解工具,它是世界上第一个也是唯一一个基于GPU规则引擎的密码破解工具。它支持免费多GPU(最多128个GPU)、多哈希、多操作系统(Linux和Windows本地二进制文件)、多平台(支持OpenCL和CUDA)、多算法等特性。目前,hashcat支持高达247种公开算法,几乎覆盖了市面上所有公开的密码加密算法。
官网:hashcat.net Wiki:hashcat Wiki 下载地址:hashcat Downloads
hashcat有多种扫描模式可供选择:
- 字典破解,使用字典进行破解
- 组合破解,使用多个字典进行破解
- 掩码破解,使用掩码方式进行破解
- 字典+掩码破解
- 掩码+字典破解
接下来,让我们来了解一下掩码的设置。掩码格式是可见的,使用问号?+掩码来表示一个未知位的值。例如,对于一个4-6位的字母密码,掩码可以设置为:?l?l?l?l?l?l?l?l
。如果前三个字符已知为"root",后三位未知,掩码可以设置为:?a?a?aroot?a?a?a
。通过掩码方式,我们可以根据已知信息进行组合,从而加快hash破解的速度。
以下是一些常用的hashcat参数:
-a
:指定破解模式,值参考后面的参数。例如,-a 0
表示字典攻击,-a 1
表示组合攻击,-a 3
表示掩码攻击。-m
:指定要破解的hash类型,如果不指定类型,默认为MD5。-o
:指定破解成功后的hash及对应的明文密码的存放位置,可以将破解成功的hash写入指定的文件中。--force
:忽略破解过程中的警告信息,对于单条hash可能需要加上此选项。--show
:显示已经破解的hash及其对应的明文密码。--increment
:启用增量破解模式,可以让hashcat在指定的密码长度范围内执行破解过程。--increment-min
:密码的最小长度,后面直接跟一个整数即可,与increment模式一起使用。--increment-max
:密码的最大长度,后面直接跟一个整数即可,与increment模式一起使用。--outfile-format
:指定破解结果的输出格式ID,默认为3。
接下来,让我们了解一下JohnTheRipper。John the Ripper是一款免费开源的快速密码破解工具,主要用于在已知密文的情况下尝试破解出明文密码。它的主要目的是破解不够牢固的Unix/Linux系统密码。在本次实验中,我们只使用zip2john.exe来获取zip文件的hash。
最后,让我们来了解一下zip。zip是一种常见的压缩文件格式,加密后就是zip压缩包。现在,让我们开始实验:
- 很久很久以前,有一个被封印在一个名为flag.zip的压缩包中的种子资源。由于我不知道打开封印的密码,它一直被我尘封在D盘的某个角落。

- 使用zip2john.exe文件获取flag.zip的hash值:
zip2john.exe flag.zip
输出:flag.zip:$zip2$*0*3*0*b7d87e422bf350b36e436796bbc14ae8*7294*12*0aab67010215f567093a82dfdd75214b23ec*fda948392ccba597113e*$/zip2$:::::flag.zip-flag.txt

- 使用hashcat,将hash类型设置为winzip13600(类型在hashcat的帮助文档中查找对应关系)。破解模式为掩码模式:
hashcat64.exe -a 3 -m 13600 $zip2$*0*3*0*b7d87e422bf350b36e436796bbc14ae8*7294*12*0aab67010215f567093a82dfdd75214b23ec*fda948392ccba597113e*$/zip2$ ?d?d?d?d?h?h?h
这就是使用hashcat和JohnTheRipper进行密码破解的实验过程。希望对大家有所帮助!