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

项目地址

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

Hob0Rules简介

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

Hob0Rules使用

规则文件下载

从Github上下载Hob0Rules规则文件:

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

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

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

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

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

规则文件内容

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

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

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

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

使用规则生成字典

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

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

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

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

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

比如,hob064.rule这个基本规则中,添加特殊字符,没有在末尾添加”_”这个规则,使用VI编辑规则文件添加一行:

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

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

密码规则的组合使用

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

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

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

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

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

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

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

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

直接使用规则破解密码

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

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

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

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

Hashview使用密码规则

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

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

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

*本文作者:Shad0wpf_