是时候更新一下密码爆破字典了

2020-06-03 约 65 字 预计阅读 1 分钟

声明:本文 【是时候更新一下密码爆破字典了】 由作者 dazhige 于 2020-06-03 09:35:07 首发 先知社区 曾经 浏览数 220 次

感谢 dazhige 的辛苦付出!

前言

爆破,简单而粗暴,而成功的关键,我觉得在于字典。
随着安全意识的提升,常规的密码字典top100、top500啥的已经开始渐渐吃力起来,于是小弟决定做点工作更新一下密码爆破字典。
当然,收集信息然后按照一定的规则来生成字典,也是比较好的方式,但是不在本文讨论范围,这里只研究比较通用的密码爆破字典。
不想看过程的话直接跳到最后就能白嫖字典了。

数据来源

我下载了嘟嘟牛、7K7K、人人网、CSDN、178 游戏网等五个平台的泄露数据,只保留密码这一列,最后经过整理后的总行数为 42,208,168。详细情况如下表:

(数据量肯定是比不上大佬们的sgk的)

统计分析

b话一大堆,终于开始进入正题了。
我的思路是提取这些泄露数据中的各种类型的密码,然后按出现频率排序,比如键盘组合top100等等,就能得到各种类型的密码字典。下面细说:

键盘组合

键盘组合的密码,还是蛮常见的,我统计过这些网站泄露密码的top10:

可以看到我标红的那些,就是很明显的键盘组合的密码。
键盘组合的匹配方法:
(1) 根据键盘相邻的顺序,生成一组dict或者map,例如<a,z>,<a,s>
(2) 再遍历字符串中的每个字符,判断它与它后面的一个字符是否在这组dict或者map中;
(3) 所有字符均满足此条件则返回True,否则False。
这样我们就能将泄露数据中键盘组合的密码给提取出来。

拼音

国人使用拼音也挺多的,比如“woaini”这些,搞一搞还是很有必要的。
提取拼音,稍微复杂一点点,得用到字典树,这里不罗嗦了,代码会放在github里面。

数字与字母混合

单一字符组成,现在很多网站都不允许这样设置密码了,所以我准备提取下非单一字符组成的密码,数字与字母混合算是一种比较经典的。最后提取出来发现占了全部密码数据的40%左右。

排序

提取出来之后得按频率排序,这里我用的是Linux中的sort指令,例如把test.txt中的内容按重复次数降序输出

>sort test.txt | uniq -c | sort –rn

处理结果是这样,前面是次数,后面是密码:

结果

最后直接放结果吧:
https://github.com/huyuanzhi2/password_brute_dictionary

键盘组合与拼音类型的字典,都是top100、top500、全部三个文件:

字母数字混合的字典,由于太大,因此没放全部的,只到了top1000。
处理脚本目录中是用到的相关算法。

最后祝各位爆破必成功!

关键词:[‘渗透测试’, ‘渗透测试’]


author

旭达网络

旭达网络技术博客,曾记录各种技术问题,一贴搞定.
本文采用知识共享署名 4.0 国际许可协议进行许可。

We notice you're using an adblocker. If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!

I've whitelisted your website.

Not now