freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

利用hashcat破译百万级的数据
2018-07-20 16:38:33

Hashcat作为世界上最快的密码破译软件,其破译的密码类型多,正确率高,是非常实用的密码破译工具。Hashcat可以利用GPU进行计算,GPU速度比CPU要快,这也是hashcat速度快的原因之一。

前面几篇文章中我们已经讲过了hashcat的几种攻击模式,这些攻击模式是我们利用hashcat破解密码的基础。密码破译的成功率主要取决于我们使用的字典和采取的攻击模式组合。Hashcat中的密码破译,其实是通过碰撞比较,匹配出相应的明文。所以在密码破译过程中,使用的字典就显得尤其重要。一个好的字典可以轻松破译出几十万甚至上百万密码口令。但是字典不是万能的,所以才需要结合规则模式,掩码模式等攻击模式,设计合适的密码爆破命令。一般来说,越符合人类设计口令习惯的爆破命令,破译出的口令明文越多。

之前我们介绍hashcat参数的使用,都是通过执行命令行的方式。但是,在实际工作中,haschat脚本比命令行更加高效便捷。因为实际爆破密码的过程中,很可能出现一条命令运行数小时甚至数天的情况,这个时候,我们很难时时刻刻关注爆破命令的运行情况。如果每条命令都要手动敲入,不只需要我们时刻关注命令的执行情况,还要记住之前运行过的命令。实在是太麻烦了!

密码爆破使用的脚本文件,会把许多密码爆破的命令集中到一个文件中。这样,一条命令执行结束,就会自动执行下一条命令。为我们省去很多麻烦。

如何设计爆破命令:

密码破译命令需要符合人类设计密码口令的习惯。例如,口令都有长度限制的,过长的口令很难进行记忆。

以下是几条大家设置口令时的常见思维:

1.最常用的口令长度是在6至10位,通常会包含大小写,数字和特殊符号;

2.用特定的年月日作为密码;

3.用姓+名的全拼做密码;

4.用个人身份证号作密码

以上几条都可以作为设计密码爆破的切入点,根据这些密码的特征设计爆破用的命令。

脚本.png

在密码破译的过程中,我们还可以根据实际情况,调整脚本内容,这也是脚本方便的地方。


常用参数:

实际进行hashcat爆破时,可以通过几个参数,对爆破命令进行优化。这些优化虽然不能增加口令破译的成功率,但可以减少意外状况对执行结果的影响。

--remove:从密码文件中移除已经破译的密码,防止后面的命令进行无意义的重复工作

--gpu-temp-disable:进制系统读取GPU的温度和风扇速度。

--gpu-temp-abort=NUM:当GPU温度到达x时,停止计算。防止烧坏显卡。

--session:定义导出的session文件名。程序终端中断后,可以通过session文件恢复运行。

-d/--opencl-devices:指定进行密码破译的GPU。我们可以指定用服务器中的一块或几块GPU进行计算。

利用hashcat破译密码

 下面我们以100万条MD5值为样本,利用hashcat进行破译。在密码破译过程中,我们依次执行hashcat的几种攻击模式,看看hashcat到底可以破译出多少条密码。

字典模式:

hashcat -a 0 -m 0 md5.hash dic --remove --potfile-disable -o out --gpu-temp-abort=97

爆破样本:100万条MD5

字典攻击用时:30分钟

破译百分比:55%

第一轮的字典模式直接破译出55万条数据,所以说,字典真的太重要了!


字典.png

爆破模式

hashcat -a 3 -m 0 md5.hash --remove --potfile-disable -o out  ?a?a?a?a?a?a --increment --increment-min=4 --increment-max=6 --gpu-temp-abort=97

爆破样本:45万条

爆破模式用时:10分钟

破译百分比:0.26%

通过对4-6位全字符集的遍历破译出了1165条MD5值。
爆破.png

 

规则模式

hashcat -a 0 -m 0 md5.hash --remove --potfile-disable -o out -r rules/best64.rule --gpu-temp-abort=97

第一个规则文件

样本数量:45万条

单条规则攻击用时:2小时

破译百分比:6%

仅依靠一个规则文件破译出将近3万条口令,但是明显感受到密码破译的速度下降很多。容易爆破的密码都破译的差不多了,省下的就是要依靠大量的时间一点一点的碰了。


规则.png

第二个规则文件

样本数据:42万

规则模式攻击用时:已爆破1天,预计爆破10天

由于这次爆破只用了一块GPU,所以密码爆破速度很慢。这个规则文件运行完最起码也要十几天的时间,第一天已经破译出9%的口令,接近4万条。该规则运行完,估计可以破译出15%左右的口令。


规则2.png

 前面几条命令已经破译了很大一部分密码,后面密码破译的速度就会慢慢下降,但是这并不影响hashcat继续破译密码。仅通过以上4条命令我们已经破译出超过60%的口令。

以本次试验为例,将hashcat破译脚本中的几十条命令依次执行一遍,数条命令的效果累加起来,完全可以破译出90%以上的hash值。本次使用的数据量比较小,设备也比较简陋,完成实验的时间会比较长。但是单就这种方法而言,破译数千万甚至上亿的数据,是完全合理的。这样看来,hashcat真的是一个非常高效的工具。


*本文作者:EVA。本文属丁牛网安实验室原创出品,转载请注明来自FreeBuf.COM。

# 密码破解
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者