一、Hashcat简介
hashcat号称世界上最快的密码破解,世界上第一个唯一的基于GPU、CPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低,基于字典攻击,支持分布式破解等等,hashcat目前支持各类公开算法高达247类,市面上面公开的密码加密算法基本都支持!
官网:https://hashcat.net/hashcat/
Wiki:https://hashcat.net/wiki/
下载地址:https://hashcat.net/files/hashcat-6.2.5.7z
在渗透测试中我们往往会得到很多hash,需要去解密,而一些在线的网站无法解密出来所以我们可以使用hashcat在本地进行密码恢复
彩虹表:https://www.cnblogs.com/bokun-wang/p/3887463.html
https://www.jianshu.com/p/732d9d960411
二、扫描模式(破解方式)
# | Mode
===+=========
0 | Straight(字典破解) :基于字典进行破解
1 | Combination(组合破解) :基于多个字典进行破解
3 | Brute-force(掩码暴力破解) :基于掩码设置进行破解
6 | Hybrid Wordlist + Mask(字典 + 掩码破解)
7 | Hybrid Mask + Wordlist(掩码 + 字典破解)
常见掩码设置
三、常用参数
-a:指定要使用的破解模式,其值参考后面对参数。“-a 0” 字典攻击,“-a 1” 组合攻击,“-a 3” 掩码攻击
-m:指定要破解的hash类型,如果不指定类型,则默认是MD5
-o:指定破解成功后的hash及所对应的明文密码的存放位置,可以用它把破解成功的hash写到指定的文件中
--force:忽略破解过程中的警告信息,跑单条hash可能需要加上此选项
--show:显示已经破解的hash及该hash所对应的明文
--increment:启用增量破解模式,你可以利用此模式让hashcat在指定的密码长度范围内执行破解过程
--increment-min:密码最小长度,后面直接等于一个整数即可,配置increment模式一起使用
--increment-max:密码最大长度,同上--increment-min
--outfile-format:指定破解结果的输出格式为id,默认是3
四、破解实例
1)数字破解(8位:12345678)
hashcat64.exe -m 0 -a 3 25d55ad283aa400af464c76d713c07ad ?d?d?d?d?d?d?d?d
2)小写字母破解(6位:abcdef)
hashcat64.exe -m 0 -a 3 e80b5017098950fc58aad83c8c14978 ?|?|?|?|?|?|
3)字母 + 数字破解(8位:1a31fa1c)
hashcat64.exe -a 3 -m 0 --force b54e53e2f21b7260df895bc885ceaa3e --increment --increment-min 1 --increment-max 8 ?h?h?h?h?h?h?h?h
字典破解
-a 0:是指字典破解模式
-o:是输出结果到文件中
1、字典破解密码:
hashcat64.exe -m 0 -a 0 ./dict/hash.txt ./dict/password.txt -o result.txt
2、破解Windows hash
NT-hash:
hashcat64.exe -a 3 -m 1000 b4814903533072474831d4791b7d4a9c ?|?|?|?d?d?d?s
3、Zip压缩包破解:
使用zip2john获取密码哈希值
设置hash类型:win-zip扫描模式:掩码模式
hashcat64.exe -m 13600 -a 3 $zip2$*0*3*0*b71633a9a7fc15682a0dad00d17f1a43*2cee*1d*4c55a370878091d08bd637730ae11c1abdcdbcdbe099d14c166826216d*770b0e7ff9bbc5e4149c*$/zip2$ ?d?d?d?d?d?d --show