原文地址:http://drops.wooyun.org/tips/10641

0x00 研究范围


0x01 实际数据分析


在以往的渗透过中发现绝大多数企业的web服务是不允许注册,都是由某个人或系统分配的,而在这之中又有大部分的分配是人为分配,这就引出了我今天研究的主题《拆分密码》。

人们在分配密码的时候是无法做到计算机那样随机的。多数都是根据某个关键字加上一些字符如企业名,时间,123等,这样的分配方式就给密码赋予了结构

0x02 密码结构

Alt Text

1.)关键字

以drops.wooyun.org为例子

收集网页内容关键字小脚本,对中文站没什么效果.这里以www.megacorpone.com为例子,我也是看了这个站点的渗透测试报告才触发我写这篇文章

[email protected]:wget www.megacorpone.com -O 1.html
[email protected]:cat 1.html|tr ' ' '\n'|grep '^[0-9a-Z]*[0-9a-Z]$'|sort|uniq|

Alt Text

当然也有现成工具 cewl

Alt Text

2.)前缀与后缀

在Gmail 500W明文密码中,我用邮件名作为关键字进行分析:

Alt Text

Akt Text

Alt Text

从上面的数据可以分析出,前缀加关键字加链接符加后缀的模式最少,值得我们注意的的是oliver+关键字+@+gmail.com这个模式,很经典。前缀和后缀中使用最多的1和123,前缀中值得注意的是iam,big,the,大多数前缀都使用的名词或者短语,[email protected],[email protected][email protected]

那么问题就来了,为什么是它们?

在我的研究中,我将前缀和后缀分为4个类型:

单个字符前缀全部看做是 应付性,而没有意义的东西人们往往很难记忆,所以在应付性的情况下会选择规则性帮助记忆。10个数字26字母32个符号一共68个字符

1234567890
qwertyuiopasdfghjklzxcvbnm

Alt Text

~!@#$%^&*()-_=+[{]}\|;:'",<.>/?

多个字符我们用 连续性 重复性 规则性分析

3.)链接符

链接符不一定存在,弱存在只为一个单符号

前缀和后缀是有区别的,像woshi更应该做为前缀,qwe,888应该做为后缀,前缀可以为空,链接符可以为空,后缀可以为空

Alt Text

4.)组合方式

0x02 总结


一切非随即密码都是为了方便记忆,现在爆破的核心不是弱密码,而是使用有规则密码的弱用户。人是懒惰的,为了方便记忆会将自己的记忆做为密码记忆。

注①:《电脑键盘字母的优化排列》 这篇文章仅仅是我写社工字典程序的理论框架,如果有与科学理论违背的地方,以科学理论为主