暴力密码破解器 ocl-Hashcat

科学家:小白鼠尾部某种癌细胞活性下降了5%。

媒体:科学家攻克癌症了!人类的希望!

Hashcat:密码破解工具支持的最大密码长度由15位升为55位。

媒体:噢!55位以下的密码都不安全了!我们的账号马上就会被盗走了!

网络安全是个值得重视的问题,但需要担心的不是一个工具破解多少位密码,更不是拿一些断章取义、耸人听闻的消息来吓人。

先澄清一下问题中最唬人的“每秒80亿个密码”,不是某些人想象中的每秒破解掉80亿个账户的密码,也不是每秒跑到网站上去试80亿次你的密码——你受得了网站还受不了呢。实际情况一般是这样的:破解者从某些渠道搞到了一大批用户名和hash后的密码,然后打算破解出原始密码,这样就能直接拿来登录网站了。

hash也叫哈希函数或散列函数,就是把你的原始密码拆散组合计算后变成一大串乱码,肉眼绝对看不出来原来是什么内容,常用的hash算法有md5、sha1、sha256等。

假如你的密码是“123456”,那么它md5的结果就是“e10adc3949ba59abbe56e057f20f883e”。

而且只要原文稍有变动,md5结果就会彻底变化。

比如“123455”的md5结果是“00c66aaf5f2c3f49946f15c1ad2ea0d3”,跟上面的没有半个字相同。

网站的数据库里不会存放你的“123456”,只会存这堆字符,就算被人把整个数据库拖走,也没法直接拿你的用户名和密码登录网站,必须要进行破解。

而且所有的hash都有个特点,就是无法反推出原文。道理很简单,比如md5的长度是固定的32位,所以它的数量是有限的,而原文要多长有多长,数量是无限的,从个位数到几十G的大文件都能hash成32位的字符串。有限个对上无限个,总会有重复,所以理论上hash无法真正破解,因为一段密文对应了无数原文。但反过来想,只要找到这无数原文中的任何一个,就等于找到原始密码了。

假设我得到了某段md5密文,经过数百上千亿次尝试后终于试出某个字串,它的md5结果也是这段密文,这种“破解”方法的学名叫碰撞(collision)。而碰撞出来的字串此时等同于原始密码。

上面说的“每秒80亿”,其实就是oclHashcat-plus用暴力破解时计算hash的最高速度,它用的是显卡GPU不是CPU,因为现在显卡的性能比CPU强多了。

看上去快得吓人,实际没那么厉害,要知道8位大小写英文加数字的密码一共有多少种?(26+26+10)的8次方,2183401亿。每秒80亿次的话,7.5小时才能试完一个。

密码长度加一位,时间至少增长62倍。如果密码里还有各种字符,那时间就更长了。

想想55位的密码要多久才能破?还没算到百万分之一,想登录的网站都倒闭了。

不过且慢,尽管暴力破解要费很长时间,这并不代表你的账户密码从此安全了,黑客也没那么蠢,只会傻乎乎地一个个硬算密码,人家有的是方法:

  • 字典:绝大部分普通用户的密码简单得令人发指,纯数字、生日、名字、单词、拼音……把这些东西排列组合在一起,做成一个密码字典,计算量比直接暴力破解少了几个数量级。某人拿到了100万个hash,假如纯暴力破解要一年,那用字典可能两小时就破解出了80万个,剩下的可以整理出来再去用别的方法破,反正手头已有的80万个账号密码想干啥干啥。
  • 彩虹表:毕竟不是什么密码都能放到字典里,稍微复杂的就不行了,最终还是得靠暴力。有人想出了提升效率的方法,就是空间换时间,不用你一个个当场hash,而是提前算好,存到一张巨大的表里,破解时只查不计算,速度有了极大飞跃。使用彩虹表进行破解,普通PC也能达到每秒1000亿次以上的惊人速度。

而且许多网站为了增加安全性,不会简单地做一次md5就保存到数据库。比如md5后再md5一次;或者在原始密码前后补上一串字符,增加密码长度后再hash,学名叫加盐(salt);这些算法的结果都可以加入彩虹表中。网上公开了数百G的彩虹表供下载,花一星期下载它比自己花几个月算出来可合适多了。最完善的彩虹表差不多能破解出目前网上99.9%的密码。

顶级黑客拥有的集群计算资源包括肉鸡等等,辅以前面讲到和没讲到的各种算法,破解几千万甚至上亿的密码并不难想象。

对普通网民来说,顶级黑客的能力确实惊人,但做什么事都要考虑代价,正如美国的核弹头不会瞄准隔壁老王家窗户,能入侵整个阿里巴巴的黑客也不会花大精力去偷你支付宝里的几百块钱。与其担心存放在网站的数据被大盗弄走,不如平日加强自己的安全知识,避免那些水平不高但行为恶劣的小贼,比如植入木马、上传私人数据、偷微博账号发垃圾消息……

自己不是搞安全的,只能讲点粗浅入门知识,如有错误请见谅并指正。

对了最后再说一点,如果不是专业黑客,那oclHashcat-plus的最大作用之一可能是破解邻居的wifi密码……它绝对比某些一键式破解工具快,缺点是你得自己抓wpa握手包。

赞(0)