关于Hashcat
Hashcat是什么呢?Hashcat是当前最强大的开源密码恢复工具,你可以访问Hashcat.net网站来了解这款工具的详细情况。本质上,Hashcat 3.0是一款高级密码恢复工具,可以利用CPU或GPU资源来攻击160多种哈希类型的密码
准备
- hashcat(5.1)kali自带
- cap数据包
字典一份(为了节约时间 就不演示枚举了)
cap文件转化为hccap格式
aircrack-ng <out.cap> -J <out.hccap>
需要注意的是:此种方法转换的数据包只适应比较早的hashcat,新版的已经废弃。
如下:我么转换时会提示下面错误!
解决方法:
到https://hashcat.net/cap2hccapx/上传我们的数据包
转换后的数据包格式为.hccapx
开始破解
hashcat -m 2500 xxx.hccapx dics.txt
参数说明:
- xxx.hccapx(转换的数据包)
dics.txt (字典)
但是运行上面命令后,又会报错。Device #1: Not a native Intel OpenCL runtime. Expect massive speed loss.
You can use --force to override, but do not report related errors.
No devices found/left.
不用担心,我们只需要在后面添加一个参数`--force`即可。
hashcat -m 2500 11.hccapx pass.txt --force
![][4] ### 显示破解完成的密码
hashcat -m 2500 11.hccapx pass.txt --force --show
填坑
因为在VM
中安装的kali,所以你会遇到下面错误。
不用担心,解决方法如下:
将处理器改成单处理且单核,增加内存至4G
关于掩码暴力破解
由于wifi密码的破解,我们都是基于字典的破解,成功率的大小和字典有直接的关系。但是在没有字典的情况下我们该怎么办?
这时,我们可以试试枚举破解。
假设我们只知道WiFi密码是8位的纯数字
hashcat -a 3 -m 2500 777.hccapx ?d?d?d?d?d?d?d?d --force
不到10s就破解完成。
Hashcat相关参数说明
下面使常见的参数,想了解更多的参数可以hashcat --help查看
-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 密码最大长度,同上
--outfile-format 指定破解结果的输出格式id,默认是3
--username 忽略hash文件中的指定的用户名,在破解linux系统用户密码hash可能会用到
--remove 删除已被破解成功的hash
-r 使用自定义破解规则
攻击模式
0 | Straight(字段破解)
1 | Combination(组合破解)
3 | Brute-force(掩码暴力破解)
6 | Hybrid Wordlist + Mask(字典+掩码破解)
7 | Hybrid Mask + Wordlist(掩码+字典破解)
掩码设置
这里列一下常见的掩码字符集?d
:数字?u
:大写字母?l
:小写字母
八位数字密码:?d?d?d?d?d?d?d?d
八位未知密码:?a?a?a?a?a?a?a?a
前四位为大写字母,后面四位为数字:?u?u?u?u?d?d?d?d
前四位为数字或者是小写字母,后四位为大写字母或者数字:?h?h?h?h?H?H?H?H
前三个字符未知,中间为admin,后三位未知:?a?a?aadmin?a?a?a
6-8位数字密码:--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
6-8位数字+小写字母密码:--increment --increment-min 6 --increment-max 8 ?h?h?h?h?h?h?h?h
实例
7位小写字母破解:
hashcat-a 3 -m 0 --force 7a47c6db227df60a6d67245d7d8063f3 ?l?l?l?l?l?l?l
1-8位数字破解:
hashcat -a 3 -m 0 --force 4488cec2aea535179e085367d8a17d75 --increment --increment-min 1 --increment-max 8 ?d?d?d?d?d?d?d?d
1-8位小写字母+数字破解
hashcat -a 3 -m 0 --force ab65d749cba1656ca11dfa1cc2383102 --increment --increment-min 1 --increment-max 8 ?h?h?h?h?h?h?h?h
特定字符集:123456abcdf!@+-
hashcat -a 3 -1 123456abcdf!@+- 8b78ba5089b11326290bc15cf0b9a07d ?1?1?1?1?1
注意一下:这里的-1和?1是数字1,不是字母l
1-8为位符集:123456abcdf!@+-
hashcat -a 3 -1 123456abcdf!@+- 9054fa315ce16f7f0955b4af06d1aa1b --increment --increment-min 1 --increment-max 8 ?1?1?1?1?1?1?1?1
1-8位数字+大小写字母+可见特殊符号
hashcat -a 3 -1 ?d?u?l?s d37fc9ee39dd45a7717e3e3e9415f65d --increment --increment-min 1 --increment-max 8 ?1?1?1?1?1?1?1?1
或者:
hashcat -a 3 d37fc9ee39dd45a7717e3e3e9415f65d --increment --increment-min 1 --increment-max 8 ?a?a?a?a?a?a?a?a
字典破解
-a 0是指定字典破解模式,-o是输出结果到文件中
hashcat -a 0 ede900ac1424436b55dc3c9f20cb97a8 password.txt -o result.txt
批量破解
hashcat -a 0 hash.txt password.txt -o result.txt
其他
--hwmon-temp-abort=100 GPU温度达到100后,停止(默认90)
--session=my 将进度存到my.session文件中,断点续解密
2 comments
感谢填坑!