https://www.cnblogs.com/xyongsec/p/12097321.html
(1)字典攻击
-a 0 password.lst
(2)1到8为数字掩码攻击
-a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d –O
?d代表数字,可以换成小写字母?l,大写字母?u,特殊字符?s,大小写字母+特殊字符?a,–O表示最优化破解模式,可以加该参数,也可以不加该参数。
(3)8为数字攻击
-a 3 ?d?d?d?d?d?d?d?d
同理可以根据位数设置为字母大写、小写、特殊字符等模式。
(4)自定义字符
现在纯数字或者纯字母的密码是比较少见的,根据密码专家对泄漏密码的分析,90%的个人密码是字母和数字的组合,可以是自定义字符了来进行暴力破解,Hashcat支持4个自定义字符集,分别是 -1 -2 -3 -4。定义时只需要这样-2 ?l?d ,然后就可以在后面指定?2,?2表示小写字母和数字。这时候要破解一个8位混合的小写字母加数字:
Hashcat.exe -a 3 –force -2 ?l?d hassh值或者hash文件 ?2?2?2?2?2?2?2?2
例如破解dz小写字母+数字混合8位密码破解:
Hashcat -m 2611 -a 3 -2 ?l?d dz.hash ?2?2?2?2?2?2?2?2
(5)字典+掩码暴力破解
Hashcat还支持一种字典加暴力的破解方法,就是在字典前后再加上暴力的字符序列,比如在字典后面加上3为数字,这种密码是很常见的。使用第六种攻击模式:
a-6 (Hybrid dict + mask)
如果是在字典前面加则使用第7中攻击模式也即( a-7 = Hybridmask + dict),下面对字典文件加数字123进行破解:
H.exe -a 6 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为password123,则只要password.lst包含123即可
(6)掩码+字典暴力破解
H.exe -a 7 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为123password,则只要password.lst包含password即可。
(7)大小写转换攻击,对password.lst中的单词进行大小写转换攻击
H.exe-a 2 ffe1cb31eb084cd7a8dd1228c23617c8 password.lst
EXAMPLES
(1)8位数字破解
Hashcat64-m 9700 hash -a 3 ?d?d?d?d?d?d?d?d -w 3 –O
(2)1-8位数字破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?d?d?d?d?d?d?d?d
(3)1到8位小写字母破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?l?l?l?l?l?l?l?l
(4)8位小写字母破解
Hashcat-m 9700 hash -a 3 ?l?l?l?l?l?l?l?l -w 3 –O
(5)1-8位大写字母破解
Hashcat-m 9700 hash -a 3 --increment --increment-min 1--increment-max 8 ?u?u?u?u?u?u?u?u
(6)8位大写字母破解
Hashcat-m 9700 hash -a 3 ?u?u?u?u?u?u?u?u -w 3 –O
(7)5位小写+ 大写+数字+特殊字符破解
Hashcat-m 9700 hash -a 3 ?b?b?b?b?b -w 3
(8)使用字典进行破解
使用password.lst字典进行暴力破解,-w 3参数是指定电力消耗
Hashcat -m 9700 -a 0 -w 3 hash password.lst
在执行破解成功后,hashcat会自动终止破解,并显示破解状态为Cracked,Recvoered中也会显示是否破解成功.
破解known_hosts中的IP地址
经过研究发现known_hosts中会对连接的IP地址进行HMAC SHA1加密,可以通过hexhosts攻击进行转换,然后通过hashcat进行暴力破解,其密码类型为160(HMAC-SHA1 (key = $salt))。
(1)计算HMAC SHA1值
gitclone https://github.com/persona5/hexhosts.git
cdhexhosts
gcchexhosts.c -lresolv -w -o hexhosts
./hexhosts
获取known_hosts的HMAC SHA1加密值:
注意:known_hosts值一定要正确,可以将known_hosts文件复制到hexhosts文件目录。
(2)组合攻击暴力破解
hashcat-a 1 -m 160 known_hosts.hash ips_left.txt ips_right.txt --hex-salt
组合攻击是将ips_left.txt和ips_right.txt进行组合,形成完整的IP地址进行暴力破解。
ips_left.txt和ips_right.txt文件可以用以下代码进行生成:
ip-gen.sh:
for a in `seq 0 255`
do
for b in `seq0 255`
do
echo"$a.$b." >> ips_left.txt
echo"$a.$b" >> ips_right.txt
done
done
(3)使用掩码进行攻击
hashcat -a 3 -m 160 known_hosts.hash ipv4.hcmask--hex-salt
ipv4.hcmask文件内容可在此站下载。
破解md5加密的IP地址
在CDN等网络或者配置中往往会对IP地址进行MD5加密,由于其位数3×4+3(xxx.xxx.xxx.xxx)=17位,通过正常的密码破解其时间耗费非常长,但通过分析其IP地址的规律,发现其地址XXX均为数字,因此可以通过hashcat的组合和掩码进行攻击。
hashcat-a 1 –m 0 ip.md5.txt ips_left.txt ips_right.txt
hashcat -a1 -m 0 ip.md5.txt ipv4.hcmask
另外在F5的cookie中会对其IP地址进行加密,可以参考的破解代码如下:
import struct
cookie = "1005421066.20736.0000"
(ip,port,end)=cookie.split(".")
(a,b,c,d)=[ord(i) for i in struct.pack("i",int(ip))]
print "Decoded IP: %s %s %s %s" % (a,b,c,d)
Decoded IP: 10.130.237.59
破解技巧总结
在使用GPU模式进行破解时,可以使用-O参数自动进行优化
暴力破解一条md5值
(1)9位数字破解
Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?d?d?d?d?d?d?d?d?d
单独破解一条md5值需要加force参数
(2)9位字母破解
Hashcat64.exe-a 3 --force d98d28ca88f9966cb3aaefebbfc8196f ?l?l?l?l?l?l?l?l?l
破解带盐discuz密码
(1)数字破解
7位数字,7秒时间破解完成任务。
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d
8位数字破解,9秒时间破解完成任务。:
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d
9位数字破解,9秒时间破解完成任务。
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d?d
字母破解
(1)6位小写字母
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l
(2)7位小写字母
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l
(3)8位小写字母
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l 9分钟左右完成破解任务
(4)9位小写字母
Hashcat64.exe-a 3 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l?l -O
字母加数字
Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2
(3)7位大写字母
Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?u?u?u?u?u?u?u
(4)6到8位数字破解
Hashcat64.exe-a 3 –force –m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463--increment --increment-min 6 --increment-max 8 ?l?l?l?l?l?l?l?l
自定义破解
(1)使用数字加字母混合6位进行破解
Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2 -O
(2)使用数字加字母混合7位进行破解,破解时间4分16秒
Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2 –O
(3)使用数字加字母混合8位进行破解
Hashcat64.exe-a 3 --force -m 2611 -2 ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?2?2?2?2?2?2?2?2 -O
字典破解模式
Hashcat64.exe-a 0 --force -m 2611 ffe1cb31eb084cd7a8dd1228c23617c8:f56463 password.lst
使用字典文件夹下的字典进行破解:
Hashcat32.exe-m 300 mysqlhashes.txt –remove -o mysql-cracked.txt ..\dictionaries\*
会话保存及恢复破解
(1)使用mask文件规则来破解密码
hashcat-m 2611 -a 3 --session mydz dz.hash masks/rockyou-7-2592000.hcmask
(2)恢复会话
hashcat--session mydz --restore
掩码破解
mask规则文件位于masks下,例如D:\PentestBox\hashcat-4.1.0\masks,执行破解设置为:
masks/8char-1l-1u-1d-1s-compliant.hcmask
masks/8char-1l-1u-1d-1s-noncompliant.hcmask
masks/rockyou-1-60.hcmask
masks/rockyou-2-1800.hcmask
masks/rockyou-3-3600.hcmask
masks/rockyou-4-43200.hcmask
masks/rockyou-5-86400.hcmask
masks/rockyou-6-864000.hcmask
masks/rockyou-7-2592000.hcmask
运用规则文件进行破解
Hashcat -m 300 mysqlhashes.txt–remove -o mysql-cracked.txt ..\dictionaries\* -r rules\best64.rule
hashcat -m 2611 -a 0 dz.hashpassword.lst -r rules\best64.rule -O
hashcat参数优化
考虑到hashcat的破解速度以及资源的分配,我们可以对一些参数进行配置
1.Workload tuning 负载调优。
该参数支持的值有1,8,40,80,160
--gpu-accel 160 可以让GPU发挥最大性能。
2.Gpu loops 负载微调
该参数支持的值的范围是8-1024(有些算法只支持到1000)。
--gpu-loops 1024 可以让GPU发挥最大性能。
3.Segment size 字典缓存大小
该参数是设置内存缓存的大小,作用是将字典放入内存缓存以加快字典破解速度,默认为32MB,可以根据自身内存情况进行设置,当然是越大越块了。
--segment-size 512 可以提高大字典破解的速度。
LAST:密码设置建议
使用更长的字符串
使用更大的字符集字母、数字、符号
不要使用任何可能与你有关的字符作为密码或密码的一部分使用