hashcat用户手册——混合模式的使用
在前几节中,我们介绍了三种hashcat的使用模式,即字典模式(参数表示为-a 0),组合模式(参数表示为-a 1)和暴力破解模式(参数表示为-a 3)。相信大家对几种模式的使用一定记忆犹新。我同事在破译密码的过程中发现口令库中会存在大量类似sina0001,tencent2013,yaho0628,sohu1988,xiaoming2008……这样的口令。当然我们可以利用爆破模式,用命令“—increment –increment-min 8 –increment-max 12 ?a?a?a?a?a?a?a?a?a?a?a?a”进行爆破,但是这种情况下的密钥空间巨大,爆破所需时间也很长,爆破出口令的概率很低。字典模式和组合模式也不能很好的应对这种情况。有什么方法可以更好地应对这种情况呢?在hashcat中的混合模式就可以很好地应对这种情况。
混合模式是一种组合攻击,它可以把字典文件和暴力破解模式结合起来。混合模式是对字典+掩码模式(命令参数为-a 6)和掩码+字典模式(命令参数为-a 7)这两种模式的合称。
下面我们将分别介绍这两种模式下的命令组合:
字典+掩码攻击模式(-a 6)
字典+掩码模式,是利用字典中的口令和掩码字符组合,生成新的密码口令,并进行密码爆破的攻击模式。字典+掩码模式是字典模式与暴力破解模式的简单相加,但却有效的扩大了需要穷尽的密码空间。下面,我们通过几个简单的实例,来描述一下字典+掩码模式(-a 6)的含义,然后带你逐步了解该模式的复杂应用。
以上面提到的情况为例,先把企业名整理成一个字典。其次,后面的数字可能是随机生成也可能是有寓意的组合,这些都可以利用掩码生成。
在讲解字典+掩码模式之前,先说一下在该模式下字典与掩码的结合方法:字典中的每一行与掩码结合,组成一组新的密码口令:
单字典+掩码
(1)单字典+单掩码
单一字典文件与某个特定掩码字符串结合进行密码爆破使用的命令如下:
(2)单字典+掩码字符集
前面一篇文章中,我们介绍过暴力破解模式下,利用hashcat内置的8种字符集进行密码爆破,在字典+掩码模式中,也可以利用hashcat内置字符集参与爆破。如下命令是单一字典文件与长度为2的掩码字符组合进行密码破译。
这条命令表示掩码是2位,第一位是小写字母,第二位是数字,共有26*10=260种组合。字典文件中的每一条密码都会与掩码组合形成一条新密码。
我们在爆破模式中介绍了利用自定义掩码进行暴力破解的方法,说白了就是当hashcat内置字符集不能满足用户需求时,就利用自定义掩码进行攻击。下面就是两种利用自定义掩码进行攻击的命令示例
(3)单字典+自定义掩码字符
单一字典文件与长度为4的自定义掩码字符集组合命令如下:
自定义掩码-1是小写字母与数字的组合,长度为4。这里的掩码定义方式和暴力破解模式的定义是相同的。
(4)单字典+掩码文件
单一字典文件与自定义的掩码文件组合,进行密码破译。使用掩码文件可以使用很多的符号字符而不会引起报错。
特别注意:字典+掩码模式中,使用掩码文件时,只能使用一个掩码文件,使用多个掩码文件时,hashcat会把前面的掩码文件中的内容当做字典,只承认最后一个掩码文件中的内容是掩码。如下图所示,即只把char2文件当做掩码文件,将char1当做字典。
多字典+掩码
多字典情况下可以使用多个字典文件,也可以用字典目录下的多个字典
(1)多字典+掩码字符