Hashcat号称世界上最快的密码破译工具,如何使用hashcat解密密码?

2024-12-24 20:36:31

Hashcat号称世界上最快的密码破译工具,今天这篇文章会抽取几个常见常用的参数,结合密码破译命令,分析如何使用hashcat破译密码。

1.png

-m /--hash-type

我们知道hashcat可以破译大量的密码类型,它可以破译大约210种密码,其中绝大多数是hash。想通过hashcat进行密码破译,首先需要了解密码的形式,然后根据密码形式索引这个密码在hashcat中的编号。

我们以口令:digapis,和盐值asdf为例,展示部分hash值的形式。

编号名称类型例子
0MD5Hash,长度328713d75511bea7e0df78c6063dc778b0
1400SHA-256hashaa106625c7de812d6118992a191ea4627e2457fa80bf6ec06f9c60cbf8e5260f
1700SHA-512hash23afac4524f62ea4d941ca4933249b2b78d19069773266abc36d6fd17a6fbe2f4ccc834acc868358ba32ddca553611218a2865f975339fe45d38cc1999f84b5e
10Md5($pass.$salt)口令加盐后进行一次MD5,口令在前48985c61e2581c3f9ee5f1cfb775afbc:asdf
20MD5($salt.$pass)盐在前4fa1dd606353e055fed67d9812bddf35:asdf
2600md5(md5($pass))口令进行2次MD598177c3f36af4a3f77f5b87594e6cf6a
3710md5($salt.md5($pass))口令进行一次MD5变换,在前面加上盐,再进行一次MD588a535877ec21b8786775a7074e4de4c:asdf
4400md5(sha1($pass))口令进行一次sha1变换,再进行一次MD5ec7bf3099984001a2b0f37ba5d1d68fa
4500sha1(sha1($pass))005a41cfe16c9a5556c7a5cdd5f1958991f2e031
1460HMAC-SHA256(key=$salt)d684ab7c38ddc262f215328334c4d0273cef10d6c5e61988f5cc87fcab8a7a60:asdf
11500CRC324C244A19:00000000

-a/--attack-mode

-a命令可以指定攻击模式。用hashcat破译密码,仅知到密码的编号是不够的,还需要选定用hashcat进行密码破译的攻击模式。

Hashcat4.0.1有5中攻击模式,每种攻击模式都有其特征。


编号攻击模式含义
0straight直接攻击模式  
1Combinstion组合攻击模式  
3Brute-force爆力破解模式  
6Hybrid Wordlist+Mask字典+掩码组合  
7Hybird Mask+Wordlist掩码+字典组合  

在这5中攻击模式下,我们可以利用字典进行密码破译,利用暴力破解的方式遍历所有可能的密码,也可以结合字典和掩码进行密码破译。在不同的攻击模式下,hashcat命令所用到的参数有所不同,我们以straight攻击模式为例,学习hashcat是如何利用字典文件进行密码破译。同事也会穿插其他参数的使用方法。

直接攻击模式(-a 0)

直接攻击模式就是直接利用字典进行密码爆破,它可以使用单一字典文件,或多个字典文件进行解密。还可以通过将字典与规则文件结合,让密码爆破效率更高。

单字典攻击:

hashcat -a 0 –m 0 mima.txt –o outfile dic.txt

4.png

-a指定攻击模式为直接攻击,-m指定hash类型为MD5,-o会把破译出的密码写入outfile中。

双字典攻击

双字典攻击也是直接攻击模式下的一种情形,会在利用字典文件爆破密码时,加载两个字典文件。这样就扩大了字典文件的空间。

5.png

多字典攻击

多字典攻击同时利用加载多个字典文件,下面这条命令利用三个字典进行字典攻击,依次加载三个字典进行爆破。命令中的dic.txt是爆破中用到的字典文件。

6.png

字典目录攻击

利用字典目录攻击会把字典目录下的多个字典文件用于直接攻击,利用字典目录会在直接攻击过程中依次加载字典目录中的多个字典文件,下面命令中的dic是多个字典文件所在的文件夹。

7.png

字典+规则攻击

-r/--rule-file命令会把规则文件中的多条规则作用于字典中的每个字。规则文件可以自己生成,也可以使用hashcat自带的规则文件。hashcat自带的规则文件通常在rules文件夹下。rules文件夹下的规则文件如下:

8.png

在字典+规则攻击中,可以用单字典,多字典或字典目录结合规则文件进行密码爆破。其实就是直接攻击摸式结合规则文件的形式。

所谓规则类似于生成候选密码的编程语言,它可以修改,剪切,扩展单词或者是根据条件操作符跳过一些操作。从而可以更加灵活高效的进行攻击。

9.png规则攻击可以和双字典,多字典甚至字典目录结合使用。使用方法与单字典+规则攻击类似。

输出命令

-o/--outfile

-o参数后面是使出文件,通过-o命令把破译出的密码输入到指定文件,默认存储形式是hash:plain。前面有关于该命令使用的例子,大家自行去看上面一张图。

--outfile-format

该命令可以指定outfile文件的输出格式。Outfile文件共有15中输出模式。

10.png

Outfile-format=1仅输出破译出的密文hash;

11.png12.png

Outfile-format=2,仅输出破译出的密码的明文。

13.png14.png

--remove

除了用-o参数输出,我们还可以通过参数remove,把密文文件中已经破译的密码筛除,仅留下不能破译的密码。这样在后续进行密码破译时,就可以减少重复工作。Q.png

15.png16.png

--status

当破译密码数量比较多或字典文件非常大时会出现如下选项,键盘输入S会在屏幕中打印下一条状态,通过该状态可以查看当前密码破译的进度。

17.png

每次想要查看当前密码破译进度都要输入S会比较麻烦,这是利用status参数就可以让让屏幕自动更新状态屏幕。减少自己需要进行的操作,也可以减少误触。

w.png

18.png

--status-timer

除了利用status参令hashcat自动更新屏幕状态,还可以利用--status-timer参数设置状态屏幕更新的间隔。

19.png

总结

Hashcat中的直接攻击模式的使用方法大致就是以上内容。对hashcat感兴趣的话还可以直接访问hashcat的网站,其中有对hashcat的命令参数以及各攻击模式的详细介绍。

文章转载自丁牛网安实验室

上一条:hashcat使用GPU加速,提升解密速度的经验分享
下一条:密码破解的技术原理,如何提升解密的成功率,如何成功解密找回密码