当前位置:WooYun(白帽子技术社区) >> 社会工程学 >> 强弱口令字典规则

强弱口令字典规则

小胖子 (z7y首席代言人,园长的表哥...) | 2015-07-31 15:04

前言:随着各大厂商对于口令安全的逐步重视,不论在互联网行业还是传统行业,典型性弱口令已经逐步减少,123456是否会真的退出历史舞台。


那我们讲字典规则定义为几大块:
%username%\%domain%\%number%

分解一下:

%username%就是用户名

在做登陆尝试的时候将用户名作为密码的一部分,在平时测试时,规则模块多用于fuzz,并非精细化单人逐个测试,所以如果生成单人针对性字典还是尝试http://zone.wooyun.org/content/21193 工具比较好,因为用户名比如@浩天 可以有很多种haotian\ht\haot\htian等。

%domain%就是公司域名

很多大公司员工会将公司品牌名称或者公司域名作为密码的一部分,甚至多数公司的初始密码,针对domain的处理需要人工细化,自动化最多只能完成全称处理,比如,jingdong,从WooYun: 大公司诟病系列#1 重置京东任意用户密码 案例可以看出,用360buy和jd和jingdong的都有,属于全称型,但是类似其他案例,比如www.kingdee.com 使用kingdee的能自动化处理,但也会有使用jindie,kd,jd等作为密码部分,并不能进行模块化的很好的处理,需要人工加以指定。

%number%就是乱七八糟的数字

什么?密码必须8位数以上?必须包含大小写?必须包含数字?此时数字的作用就显得非常重要了。什么奔放型数字比如123,什么年月型数字比如2015,什么搞基型数字比如520,所以数字在尝试字典中必不可少。



那怎样的定义会让效率更高呢,那需要对密码进行分析。我们且看如下几个例子。

http://zone.wooyun.org/content/17555

http://zone.wooyun.org/content/21881


在处理%username%和%domain%的时候,语言为我们提供了很多很好的函数库,比如PHP提供了ucfirst函数,Python提供了capitalize函数,那为什么要首字母大写呢?因为在分析密码得知,当系统要求密码组合必须包含大写字母时候,中国人密码设定习惯,会有83%的人将大写字母,且是唯一存在的大写字母放在第一位。


所以,在对%username%和%domain%处理时候,还要生成%username2%和%domain2%


废话完了之后,剩下的就是规则了,不管你用何种语言,用何种方式或者接口来实现,你需要定义或者得到一个最基本的参数,那就是%domain%,username最好在同一模块处理。

例如http://zone.wooyun.org/content/20976 可以修改代码,让密码不用为txt字典,而用%username%即时生成。



%username%
%username%1
%username%12
%username%123
%username%123
%username%12345
%username%123456
%username%1234567
%username%12345678
%username%123456789
%username%520
%username%521
%username%5201314
%username%2012
%username%2013
%username%2014
%username%2015
%username%2016
%username%_2012
%username%_2013
%username%_2014
%username%_2015
%username%_2016
%username%321
%username%@123
%username%123!@#
%username%!@#123
%username%666
%username%888
%username%@1
%username%..
%domain%
%domain%1
%domain%12
%domain%123
%domain%1234
%domain%12345
%domain%123456
%domain%1234567
%domain%12345678
%domain%123456789
%domain%520
%domain%521
%domain%5201314
%domain%2012
%domain%2013
%domain%2014
%domain%2015
%domain%2016
%domain%_2012
%domain%_2013
%domain%_2014
%domain%_2015
%domain%_2016
%domain%321
%domain%@123
%domain%123!@#
%domain%!@#123
%domain%666
%domain%888
%domain%@1
%domain%..
%username%@%domain%
%domain%%username%
%username%@%domain%2012
%username%@%domain%2013
%username%@%domain%2014
%username%@%domain%2015
%username%@%domain%2016


首字母大写的%username2%和%domain2%参照相同规则。

最终:大致保持在,每个username尝试密码次数在100-200次之间,是效率与命中率最好的区间。如果需要生成字典,将123、2015类似数字字段用%number%数组或列表代替即可。

右下角有感谢按钮,不谢!

分享到:
  1. 1#
    回复此人 感谢
    孤独雪狼 (打倒高帅富,推倒白富美!) | 2015-07-31 15:08

    感谢表哥

  2. 2#
    回复此人 感谢
    小胖子 (z7y首席代言人,园长的表哥...) | 2015-07-31 15:08

    妈妈再也不用担心你的弱口令了。

  3. 3#
    回复此人 感谢
    爱上平顶山 (IT民工 职业搬砖 挖坑 丝一枚 神马都不会~) | 2015-07-31 15:08

    少的多~~

  4. 4#
    回复此人 感谢
    浩天 | 2015-07-31 15:09

    @爱上平顶山 再来一份,通用的如P@ssw0rd、Qwer1234这种

  5. 5#
    回复此人 感谢
    小胖子 (z7y首席代言人,园长的表哥...) | 2015-07-31 15:12

    @浩天 @爱上平顶山 考虑到大规模的时候,如果每个都需要生成top500的弱口令来,那效率会低很多很多,考虑效率和命中率吧。

  6. 6#
    回复此人 感谢
    light (生于理想,死于欲望) | 2015-07-31 15:23

    看到小胖子我就立马感谢了

  7. 7#
    回复此人 感谢
    mramydnei | 2015-07-31 15:30

    感觉最外层的filter应该是注册页面的密码规则。
    比如:
    起码要length>=x,就把length定义到x
    页面大小写,特殊字符限制也包含进去 再生成字典。

  8. 8#
    回复此人 感谢
    luwikes (土豆你个西红柿,番茄你个马铃薯~~~) | 2015-07-31 15:33

    支持表哥

  9. 9#
    回复此人 感谢
    小胖子 (z7y首席代言人,园长的表哥...) | 2015-07-31 15:42

    @mramydnei 恩恩,具体情况再针对,比如某期众测,必须要求长度>8位,包含大小写数字字母字符,这种特殊情况再指定规则了。么么哒。

  10. 10#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-07-31 15:44

    现在腾讯企业邮箱都不让爆破了,你们说怎么办吧。

  11. 11#
    回复此人 感谢
    浮萍 | 2015-07-31 15:51

    @浩天 中枪  P@ssw0rd  公司一个服务器密码就是这个

  12. 12#
    回复此人 感谢
    Annabelle | 2015-07-31 16:02

    键盘弱口令有统计过吗?比如qwerASDF!@#$这种

  13. 13#
    回复此人 感谢
    s4msung ([email protected]) | 2015-07-31 16:06
  14. 14#
    回复此人 感谢
    Power | 2015-07-31 16:06

    感谢..

  15. 15#
    回复此人 感谢
    jeary ((:‮?办么怎,了多越来越法方象抽的我)) | 2015-07-31 16:08

    @猪猪侠 反正你能漫游到内网找接口。。

  16. 16#
    回复此人 感谢
    猪猪侠 (每次有人骂我是猪我都说自己是猪猪侠) | 2015-07-31 16:11

    @Annabelle

    http://ww2.sinaimg.cn/mw1024/6ed1574agw1enn8pkx8jdj20so0lnn2k.jpg
    http://ww2.sinaimg.cn/mw1024/6ed1574agw1enn8pmvktyj20sj0ln0vl.jpg

  17. 17#
    回复此人 感谢
    pyphrb (please called 强爷) | 2015-07-31 16:14

    @猪猪侠 求带漫游

  18. 18#
    回复此人 感谢
    pyphrb (please called 强爷) | 2015-07-31 16:16

    我是围观胖爷的

  19. 19#
    回复此人 感谢
    px1624 (aaaaaaaaa) | 2015-07-31 17:23

    @猪猪侠 不可以了么?

  20. 20#
    回复此人 感谢
    s4msung ([email protected]) | 2015-07-31 17:27

    @px1624 明显可以 见我上面截图

  21. 21# 感谢(1)
    回复此人 感谢
    Focusstart | 2015-07-31 20:07

    大表哥,么么哒!

  22. 22#
    回复此人 感谢
    _Evil (科普是一种公益行为) | 2015-08-03 08:59

    superdic超级字典生成工具
    骨灰密码字典生成器
    Profiling Passwords - wyd

  23. 23#
    回复此人 感谢
    Zvall (safeKey team - 电击小子) | 2015-08-03 10:55

    没什么新思路,02年的hscan就支持这个规则了。

  24. 24#
    回复此人 感谢
    带我玩 | 2015-08-03 11:48

    感觉好高级的感觉

添加新回复

登录 后才能参与评论.

WooYun(白帽子技术社区)

网络安全资讯、讨论,跨站师,渗透师,结界师聚集之地

登录