基于统计学的Hashcat密码生成规则:Hob0Rules

黑客与极客 / 2018年02月09日 20:22

互联网+

*本文作者:Shad0wpf_,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

上一篇文章中,介绍了开源的密码破解分析平台——Hashview,Hashview基于hashcat,可以使用字典、掩码、暴力破解、字典规则多种方式对密码破解。工具有了,还需要一个强大的字典,针对个人的字典的制作可以使用CUPP,而在企业环境的弱密码检测工作中,CUPP并不是很适合,这时我们可以使用另一套简单的hashcat规则生成字典,这就是本篇文章将要介绍的Hob0Rules。

项目地址

https://github.com/praetorian-inc/Hob0Rules

Hob0Rules简介

Hob0Rules是一套基于统计学的hashcat密码生成规则,这套规则的更多详细内容,请看这里。作者分析了Rockyou、LinkedId、eHarmony等多个字典共计3566万个密码,统计各种密码组合规则,并制作成两个hashcat密码生成规则组合hob064和d3adhob0,hob064包含64条最常见的密码规则,d3adhob0则包含了更广泛的规则,总共是57000多条。

Hob0Rules使用 规则文件下载

从Github上下载Hob0Rules规则文件:

git clone https://github.com/praetorian-inc/Hob0Rules.git

使用Git Clone方式会把整个目录下载,包括Wordlist文件夹,我们并不需要这里面的字典文件,所以也可以单独下载两个密码规则文件。

打开文件页面,在Raw上右键,选择目标另存为保存文件。

下载好文件后移动到hashcat的rules目录下,完整路径/usr/share/hashcat/rules,改目录下已包含了一些Hashcat自带的规则文件。

规则文件内容

每一行表示密码的一个变形规则:

":" - 不做任何改变 "r" - 翻转字符,如`p@ssW0rd` → `dr0Wss@p` "u" - 英文字符全部转变为大写,如`p@ssW0rd` → `P@SSW0RD` "$@" - 在末尾添加@,如`p@ssW0rd` → `p@ssW0rd@` "^1" - 在开头添加1,如`p@ssW0rd` → `1p@ssW0rd`

更多详细的规则参考内容,请移步Hashcat官方文档Rule-based Attack。

使用规则生成字典

建立一个基本字典文件,只包含abc和password两个密码,使用规则生成新的字典:

//虚拟机无独立显卡时,添加--force参数强制使用CPU进行运算。

hashcat --stdout password.txt -r /usr/share/hashcat/rules/hob064.rule -o password-new.txt --force

如果密码生成规则不满足我们的使用需求,还可以自己添加。

比如,hob064.rule

d3adhob0.rule这个规则包含了57540条规则,规则更为丰富。大多数企业员工为了密码便于记忆,会使用公司或部门名称变换大小写字母、添加特殊符号和数字等,基本上最常用的密码变形规则,已包含在d3adhob0.rule中了。用于检测服务器弱口令,通过搜集公司、部门名称等,结合该规则生成字典已足够使用了。

密码规则的组合使用

实际使用中,我发现d3adhob0.rule规则没有包含P@ssw0rd_2017这样的密码,那么,为了生成更丰富的密码字典,继续在hob064.rule添加几条规则,将hob064.ruled3adhob0.rule两个规则文件组合使用。

注意两个规则文件的顺序不一样,生成的字典文件也是不一样的。

两个规则组合使用生成的密码存在重复值,对两个字典文件去重合并:

通过”abc”和”password”两个密码,经过密码策略变化,已生成含13008587个密码的字典,再在字典文件中搜索P@ssw0rd_2017Password#169这类密码,均能找到。

直接使用规则破解密码

密码破解过程中,如果源字典比较大,使用密码规则生成新字典保存在硬盘上的方式就不太明智了,更常用的方式是直接在命令中指定规则使用。

shadow-test.txt包含一个测试账号Hash。密码文件包含abc和password两个密码,hash类型为sha512,使用密码字典+规则破解的命令如下:

hashcat -a 0 -m 1800 shadow-test.txt ./password.txt -r /usr/share/hashcat/rules/d3adhob0.rule --force

Hashview使用密码规则

Hashview的Rules中已经自带了d3adhob0.rule和hob064.rule,收集一份公司名单,上传到Wordlists中,然后在Tasks中添加密码和规则。

之后新建Jobs时便可以选择该规则进行密码破解。

*本文作者:Shad0wpf_,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。返回搜狐,查看更多

责任编辑:

1.环球科技网遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.环球科技网的原创文章,请转载时务必注明文章作者和"来源:环球科技网",不尊重原创的行为环球科技网或将追究责任;3.作者投稿可能会经环球科技网编辑修改或补充。