发布时间:2020-11-12 14:20:44来源:全是黑科技
赌一包辣条,你们肯定经历过这种场景:
忘记密码→找回密码→设置新密码→新密码不能与旧密码相同。
愣住→退出网页→重新登录→输入旧密码,然后……
众所周知,密码是用来防自己的。
更过分的是,很多网站强制要求使用8位以上、大小写字母+特殊字符+数字的组合。
正常人谁能记住这么一大串数字啊,这不找事儿嘛!
单把0~9的数字排列组合成8位数,可能性都是天量了,真的会有人吃饱了撑得用穷举法破解密码吗?
还真有!
今年7月,著名暴利破解软件hashcat哈希猫,更新了最新版本。
这个软件是世界上最快的、横跨所有主流系统的(Linux,WindowsandOSX)、可使用各种硬件(CPU,GPU,DSP,FPGA)、支持近百种算法的暴力破解软件。
该软件支持的算法如下:
绝对是黑客界出门旅行,杀人放火的必备软件。
更夸张的是,这个软件还坚持亲民路线,完全免费且完全开源,谁都可以用!
甚至还非常友好的给新人做了使用指南:
从如何安装驱动,到死机了怎么办,统统列出来了。
甚至还将所有常见问题做成了一个目录,点击自动跳转,方便新手查阅。
讲真的第一次看到这个使用指南的时候都惊了,高中上学时候老师要是给我搞这么一个易错题型列表,我还至于考不上清华?
强烈建议hashcat团队投身教育行业,改行当人类灵魂的工程师。
这次发布的hashcatV6.1.1版本更是有重大进步,最高支持破解55位数密码,只要性能足够,软件每秒可进行80亿次计算。
这不是吹牛,hashcat使用自己团队的电脑验证了这个说法,并且秀了一把自己的硬件配置:
8块HD7970显卡,总价上万美元,跟程序员沾边就是烧钱啊!
估计这时候有小伙伴要开始担心了:
键盘按键的排列组合有80亿种吗;我低于55位的密码是不是不安全了;这东西真的不违法吗?
莫慌朋友,暴力破解密码并不是你想的,一块儿打开网页和软件,输入账号后软件自动破解。
毕竟就算软件能每秒运算80亿次,网页服务器也禁不住这么干啊!
要了解这个东西,得先了解一下密码是如何储存的。
一个冷知识是:马化腾也不知道你的QQ密码。
为了防止黑客攻破网站数据库直接盗走所有密码,网站数据库里并不存用户的密码。
而是使用哈希算法将原密码进行计算,得出一串字符,对应你的账号储存起来。
你每次输入完密码后,网站服务器会自动进行一次哈希计算,看计算后的结果与之前的字符是不是相同。
hashcat官网有简单例子,最左边是用户密码,中间是不同种类的哈希算法,右边是计算出的哈希值。
使用哈希算法储存密码,哪怕黑客攻破了数据库,得到的也是一串懵逼字符。
而且哈希算法是不可逆的,首先黑客不知道网站用的是那种算法,即便知道也没用。
拿上图第一个MD5算法举例,数字0计算后是一串32位字符。
你下载个10G的苍老师电影后,计算后也是一串32位字符。
32位字符是有限的,而现实中数据是无限的,所以同一串32位字符可能对应着一万种密码,完全无法逆推。
说白了就是至少有一万种密码可以登录你的QQ,只是其中的9999种你都不知道。
但逆推不行,我们可以正推啊!
黑客们在通过不法渠道获取用户密码哈希值后,可以直接算123456的哈希值,看看结果是否与某个密码哈希值对应。
对应了,就可以登录你的账号。
不,是所有同哈希值账号……
比如1995年4月30日出生的有很多人,他们都用19950430当密码,黑客只要算一次,就可以直接破译上万个账号。
这才是hashcat的强项!
这时候有人发现了19950430明显是个年月日组合啊,是高频密码组合。
类似的还有名字缩写+生日、车牌号+邮编、门牌号+QQ号……100万个密码中至少得40万个是特殊组合。
黑客们可以用hashcat优先计算高频组合,先拿到40万套账号密码,剩下60万慢慢算法,这种破解叫密码本。
当然网站也不是吃素的,为了防止这种情况,管理员可以给每个用户密码后面随即生成一些字符,叫salt变量。
例如你注册的密码是123456,输入后系统在后面加入@¥BUBD,之后计算并储存哈希值。
之后你每次输入密码后,系统都会加@¥BUBD,然后再让数据库验证。
你以为你的密码是123456,其实是123456@¥BUBD,这样只要网站把salt变量和哈希值分开保存,就可以杜绝破解一个,破解所有的现象。
不过hashcat当然不会这么容易就被打发,有大佬用这个软件无限生成哈希值,穷尽所有排列组合,做成彩虹表。
彩虹表出现之前,hashcat破解哈希值需要计算,每秒只能进行80亿次。
彩虹表出现后,hashcat就无需计算,只需要检索并对应表内哈希值,一秒可以检索上千亿种结果,效率大幅升高。
你强任你强,我有参考答案!
之后部分网站选择随机计算哈希次数,先通过你密码123456计算一个哈希值,得到一个32位数字。
然后把这32位数字随机计算1~20遍,得出最终值。
这样黑客不知道计算次数,即便有彩虹表,也无法破解……
密码的储存与破译是个动态平衡的过程,不过hashcat说更新就更新了,但全球所有数据库的密码存储方式不可能一起更新。
所以hashcat总是有用武之地。
在这次新版测试中,hashcat团队展示了在不使用字典和彩虹表的情况下,仅用29分钟就破解了大小写字母+特殊字符+数字的所谓强密码组合,非常高强大。
hashcat教程和下载地址给你们放文末了,感兴趣的大佬可以研究一下。
不过英文没过专8,没程序员底子的看了也没啥用,不如跟我参悟一下hashcat破解出的一些特殊密码:
FLZX3000C,YSYHL9DAY
飞流直下三千尺,疑是银河落九天
BjxhJun.zFg!y4st
毕竟西湖六月中,风光不与四时同
5hm1000qhejchmj
五花马,千金裘,呼儿将出换美酒
Yz1000$hsdJt4bbzH
一掷千金浑是胆,家徒四壁不知寒
最后放个练习题,先猜出意思的奖励一个摸摸哒。
https://hashcat.net/wiki/doku.php?id=frequently_asked_questions%E2%80%98%E2%80%99
喜欢唐唐的,点zan↓↓↓↓