hashcat破解密码规则示例

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:密码设置建议
 使用更长的字符串
 使用更大的字符集字母、数字、符号
 
 不要使用任何可能与你有关的字符作为密码或密码的一部分使用

 

你可能感兴趣的:(经验,hashcat)