下载
hashcat - advanced password recovery
点击binaries版本下载,sources版本需要编译,binaries可以直接使用。
将压缩包解压到目录就可以了
使用
hashcat没有GUI(图形用户界面),是command line mode(命令行模式)。
在cmd界面进入hashcat目录,可以输入hashcat命令了
举例
这里以简单的例子举例,例如我拥有一个6位密码,密码的字符集charset由小写英文字母a-z和大写英文字母A-Z以及数字0-9组成,哈希加密函数是MD5+salt,哈希值为h(salt,pwd)。我希望使用暴力搜索方法解密该哈希值。
暴力搜索方法的详情官网:mask_attack [hashcat wiki]
hashcat的具体使用见:hashcat [hashcat wiki]
官网有十分具体的使用方法,我在这里写下一些观看后使用笔记:
1.首先需要建立一个字符集,然后建立掩码mask集合。
字符集:字符集代表的是单个密码位的取值范围
1.1内置字符集:
-
?l = abcdefghijklmnopqrstuvwxyz
-
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
-
?d = 0123456789
-
?h = 0123456789abcdef
-
?H = 0123456789ABCDEF
-
?s = «space»!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
-
?a = ?l?u?d?s
-
?b = 0x00 - 0xff
1.2 custom charset(自定义字符集)
--custom-charset1=CS
--custom-charset2=CS
--custom-charset3=CS
--custom-charset4=CS
以上可缩写为-1,-2,-3,-4.CS是自己写的字符集的意思。
使用方法:例如在命令行中:-1 ?dabcdef(CS可以使用内置字符集)这里?d代表0123456789.所以以上全部代表0123456789abcdef.
1.3 建立mask
mask代表掩码,表示了密码的placeholders(占位符),例如-1 ?dabcdef ?1?dabd.第二个问号(包括第二个问号)开始是mask的表达,这里代表密码第一位由字符集1(第二个?前面的表达式)中的字母数字组成,第二位由数字组成,abd代表密码后三位是不变的静态值。
1.4 选项-m
代表哈希加密函数的类型,我要使用的是MD5,但还得加上salt,所以这里的参数选择-m 20
1.5 选项-a
代表破解方式,我选择暴力搜索模式,这里写-a 3
所以最后命令行敲的是
hashcat.exe hash值文件(要破解的文件)-m 20 -a 3 -1 ?l?u?d ?1?1?1?1?1?1