0


该更新一下你的密码字典了

技术交流

关注微信公众号 **Z20安全团队 **, 回复 **加群 **,拉你入群 一起讨论技术。

直接公众号文章复制过来的,排版可能有点乱, 可以去公众号看。

声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

前言

虽然弱口令yyds,但是随着安全意识的提升,在授权渗透测试过程中,用常规字典爆破出密码口令的概率已经越来越小了。

基于此,本文做了点工作来更新一下密码爆破字典。

不想看过程的话直接跳到最后就能白嫖字典了。

正文

密码强度

爆破密码不可能不管三七二十一,直接扔字典上去跑。首先要测试它的密码强度要求

一般可以分为:
要求条件强度无要求X条件X6位数字单条件⭐6位数字+字母(无大小写要求)双条件⭐⭐6位数字+大小写字母三条件⭐⭐⭐8位数字+字母(无大小写要求)双条件⭐⭐⭐8位数字+大小写字母三条件⭐⭐⭐⭐8位数字+字母(无大小写要求)+特殊字符三条件⭐⭐⭐⭐8位数字+大小写字母+特殊字符四条件⭐⭐⭐⭐⭐

需要注意的是,这里的6/8位是指至少是6/8位。一般情况下,如果要求是至少6位,那边密码大概率在6-9位之间,而如果要求是至少8位的话,就很有可能出现密码长度比较的情况了。

后面将根据每种情况生成对应的字典。

字符组合

所谓弱口令,即常见字符的各种组合。

常见字符这里,可能第一想到的就是123456 、111111、888、666、admin、password、aaa这种高频口令,当然实际中最多的也是这种。但是我们同样应该关注的是键盘组合

所谓键盘组合,即键盘上相邻位置或者紧挨着的字符,以及紧挨着的数字、紧挨着的字母以及紧挨着的特殊符号的排列组合,常见的比如:

1qaz2wsx

1qaz!QAZ

1q2w3e

1234QWER

-pl,0okm

asd123

asd123!@#

asdjkl123

等等。

每个人的精力都是有限的,如果一个不重要的网站要求你输入8位以上满足三条件的密码,你会怎么设置呢?(暂不考虑社工)

1qaz!QAZ

123qwe!@#

asd123!!

asd123!@#

!QAZ2wsx

!QAZxsw2

是不是很大一部分都是这种。

还有一种拼音组合,根据我们的使用习惯,加入一些常见拼音也是很重要的,比如:

woaini

hahaha

mima

等等。

最后,我们再将高频口令、键盘组合、拼音组合 根据长度、强度要求,进行杂糅组合,就可以生成一份比较不错的字典了。

字典生成

好了,现在已经知道了常见的字符组合形式,开始着手生成我们的字典了。

数据来源

所有原始数据均来自于 github以及在线网站https://weakpass.com/ ,该网站囊括了小到几百KB,大到几十G,各种类型的字典。

在这些原始数据的基础上,按照上面的形式进行归类、提取、组合,生成我们需要的字典:

  • 高频口令:直接整合历年的top级别弱口令,去重
  • 键盘组合:首先根据键盘相邻的顺序,生成一组dict,例如<q,a>,<q,w>,<1,2>,<!,@>, 再遍历字符串中的每个字符,判断它与它后面的一个字符是否在这组dict中,当至少n-2个字符满足此条件,就认为这是一个键盘组合。
  • 拼音组合:首先建立一个拼音字典,然后在字符串中提取所有字母,然后判断这些字母是否是拼音。(只提取字母判断是因为我们把类似woaini123520aini..也视为拼音组合)

提取出来之后,整合在一起,然后再根据长度、复杂度要求,将密码字典分为如下几类:

  • 数字+字母(无大小写要求)——8位及以下
  • 数字+字母(无大小写要求)——8位及以上
  • 数字+大小写字母
  • 数字+字母(无大小写要求)+特殊符号
  • 数字+大小写字母+特殊符号
  • all-top (数字或字母的高频口令)

所有处理代码放知识星球了,如果你有自己的字典库,可以通过代码将其进行筛选,然后扩充到本字典里。

分类之后,再将各类按频率排序,生成各类型的top字典,频率排序这里我用的是Linux中的sort指令

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

结合社工

最后,当通用的字符组合字典爆破不出来的话,我们就要考虑结合社工信息进行测试了。

社工信息可能大家听的最多的就是姓名、手机号、出生日期、邮箱、QQ等。当然,这些都是挺好的关键字,但是如果我们只有一个后台登录框,没有用户敏感信息呢?

这时候网站的名称(包括全拼、首字母缩写、大小写形式)、域名企业名称等等也是很好的社工关键字。

将这些社工信息结合常见字符,进行组合,即为社工字典,github上有很多社工字典生成工具,如果收集到了比较多的社工信息,可以去用那些工具生成。

这里需要说明的一点是,假如只有很有限的社工关键字,比如网站的名称、域名,这里更推荐直接将社工关键字插入到现有的字典最前面或者最后面,以此来生成一份新的字典。

结果

公众号中回复“字典”,获取最新字典,最后处理之后的结果:

处理脚本需要的可以去星球看看:

最后

感兴趣的小伙伴可以关注公众号回复“加群”,添加Z2OBot 小K自动拉你加入Z2O安全攻防交流群分享更多好东西。


本文转载自: https://blog.csdn.net/st3pby/article/details/123037628
版权归原作者 st3pby 所有, 如有侵权,请联系我们删除。

“该更新一下你的密码字典了”的评论:

还没有评论