Hashcat从入门到入土(一)
Hashcat是一个密码恢复工具。它在2015年之前拥有专有的代码库,但随后以开源软件的形式发布。它适用于Linux、OS X和Windows。Hashcat支持的哈希算法包括LM哈希、MD4、MD5、SHA系列、Unix Crypt格式以及MySQL和Cisco PIX中使用的算法。Hashcat的官网是Hashcat.net,点击进入后会有两个下载选项,我们选择hashcat binaries,这个是可以直接在Windows下运行的,另一个需要使用Cygwin进行编译。为了快速入门,我们选择前者。
下载压缩包后解压到指定目录,这里需要使用命令行运行,我们使用PowerShell在文件夹目录中打开。按住Shift键,单击鼠标右键后选择用PowerShell运行选项卡,可能会提示Windows不信任此路径,这时候使用.\hashcat --help
来查看所有命令。其实最常用的命令也就那几个,需要时再查询即可。总的来说,Hashcat是一款非常强大的软件,值得花时间来学习。
如图所示,你可以选择你想要的工作模式,官方也对每个工作模式给出了十分详细的解释。官方还为每个哈希模式给出了相应的数字代码。暴力破解演示RAR加密演示。在开始之前,只有一个Hashcat还是不够的,我们还需要一个叫做John the Ripper的软件,下载地址为join the ripper。它主要是配合Hashcat使用,由John the Ripper解出密文后再使用Hashcat转换成明文。
首先使用John the Ripper获取哈希值,在John the Ripper的文件夹目录中使用PowerShell打开。运行结果如图所示。可以看到哈希值为:
$pkzip2$2*1*1*0*8*15*de6c*5eb5*8a813c6eeff405eabee095d30add557ee06dfa6824*2*0*14*1f*a9536a8e*28*31*8*14*a953*5eb2*3415ef6fcda105a1356aa93c3d5b843345a24e2f*$/pkzip2$
PS D:\hashcat-6.2.5\hashcat-6.2.5> .\hashcat.exe -a 3 -m 17225 $pkzip2$2*1*1*0*8*15*de6c*5eb5*8a813c6eeff405eabee095d30add557ee06dfa6824*2*0*14*1f*a9536a8e*28*31*8*14*a953*5eb2*3415ef6fcda105a1356aa93c3d5b843345a24e2f*$/pkzip2$
复制这个哈希值。到这里,我们已经知道这个压缩包里装的是什么文件了。下一步,使用Hashcat获得明文密码,同样的,在Hashcat的目录里打开PowerShell。
PS D:\john-1.9.0-jumbo-1-win64\john-1.9.0-jumbo-1-win64\run> .\zip2john.exe C:\Users\gyc\Desktop\test2.zip
现在可以看到它报了一个错误。这是为什么呢?查阅资料得知,Hashcat对CPU解密的更新已经很久没有更新了。按照提示,下一步我们计划安装CUDA tools。我们选择local tools进行下载CUDA tools,本地端下载,可根据实际需要选择。安装CUDA如下:
office2john.py D:\test.docx
然后我们重启试一下,运行.\hashcat.exe -a 3 -m 17225+你的哈希值
,发现还是不可以,报错第一行提示cuFuncSetAttribute is missing from CUDA shared library
。我们上网搜一下,在Hashcat的官方论坛找到了这个答案:nvrtc64_80.dll
means that you have CUDA 8 installed. This is the wrong version because it’s way too old. Please get fully rid of CUDA 8 (uninstall it completely by also using driver fusion and/or ddu and remove the remaining libs). What you should have with the correct CUDA 10.1 installed is: nvrtc64_101_0.dll
。
我们回到PowerShell里面也可以发现,这里显示这个CUDA版本为8.0.0,这就奇了怪了,刚刚明明是在官网下载的最新版,怎么会这样?继续排查,我们去Windows的system32文件夹下面查看一下有没有nvrtc.dll
这个文件,果然没有。但是我下载这个DLL文件并把它放入system32文件夹以后,问题并没有得到解决。我目前这台电脑属于公司的古董台式机,实在不想折腾显卡驱动什么的,换一种方法。于是又找了一个Word文件加密进行解密。
解密加密后的Word文件,我们用命令行依次运行John the Ripper、Hashcat。为了方便输入,我们可以把要提取哈希的文件放在D盘的根目录下面,运行命令来提取哈希(在你的John the Ripper所在的文件目录下打开命令行):
python office2john.py D:\test.docx
:$office$*2007*20*128*16*a819d3a96e4099cc410f0aaa2138333a*dbaea363dcfe06cbc115cad79baaf7d9*cd20755cdf30aa2be75af4033c4a784b620e57e2
hashcat.exe -m 9400 -a 3 +你刚才获取的哈希值+ ?d?d?d?d?d?d+ -o out.txt
补充一点,如果你的电脑安装了PyCharm之类的Python IDE,你需要在前面加上python
,否则会直接打开PyCharm让你编辑。输出结果类似于: