安全矩阵

 找回密码
 立即注册
搜索
查看: 2884|回复: 0

打造属于自己的社工密码库

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-5-28 20:29:58 | 显示全部楼层 |阅读模式
原文链接:打造属于自己的社工密码库
0x 前言

    在做黑盒安全检测或者刷各大厂商的SRC时,经常遇到Web站点只有一个登入页面的情况。虽然登入位置可以暴力破解但能爆破成功的寥寥无几。本文以某泄露的密码库为样本,通过分析总结出脆弱性密码规则,并利用python实现生成对应的社工密码字典,以提高爆破成功率。
0x 脆弱性密码
    通过对样本分析,得出以下结论:
  • 在密码中使用姓名的脆弱型密码占比最高,占比 57%
    密码中姓名简写和姓氏以及姓名全拼占较高比例。姓名相关信息在密码开始位置占的比例较高。
  • 其次便是在密码中包含通用型弱密码,占比 16%
    通用型密码使用频率最高为123456,其次是1314、123
  • 使用公司信息相关的占比 14.6%
    公司信息在密码开始位置比例较高,且较大概率与年份相结合
  • 在密码中使用了年份的占比 3.8%
    年份信息大致为最近三年或者用户的入职年份或者出生年份
  • 在密码中使用了自己手机号的占比 8.6%
  • 特殊字符使用频率最高为@、.和!
    @字符较多人喜欢放在字符串和数字串之间,.字符和!字符较多人放在密码串最后面。

    以姓名钟馗、公司weixin、工号485221、手机号18888666666为例子按照上面统计规则,如使用下面格式的密码均为脆弱性密码:
    姓名+数字
Zk@123456zk123456.
zhongkui123456个人/公司+年份
zhongkui@2019
Weixin@2019姓名+手机号/工号
Zk18888666666.
zk485221.0x 建立规则模型
    由上面的规律总结,脆弱性密码规则有三:
  • 字符串(首字母可能大写)+@+数字串,字符串部分可能是姓名相关信息或公司信息,数字串可能是工号、手机号、身份证后6位、年份等
  • 字符串(首字母可能大写)+数字串,字符串部分可能是姓名相关信息或公司信息,数字串可能是工号、手机号、身份证后6位、年份等
  • 字符串(首字母可能大写)+数字串+特殊字符(.或者!),字符串部分可能是姓名相关信息或公司信息,数字串可能是工号、手机号、身份证后6位、年份等

0x 代码块及实现
    以传入参数为:姓名+手机号/工号+公司信息+特殊要求(密码长度或首字母大写等)为例子。代码功能块应包含以下:
  • 姓名处理模块
    姓名为汉字,需转为拼音,并按照规则提取简写和全拼。
    可利用python 的pinyin模块进行操作,实现代码如下:

  • 密码规则模块


  • 特殊要求处理模块,设置相关传入参数控制,并在生成密码中体现。
  • 通用密码处理模块
    利用该模块可以添加自己想要的通用型密码,如abc123456,Aa123456等等


  • 文件写入模块



    0x 最终代码和使用
        传入参数格式:
  1. 参数:钟馗^_^18767822,1314,123456^_^baidu,bai^_^6^_^ture^_^upper
  2. 注:参数间用^_^分割
  3. 第一个参数为姓名(中文简体繁体都可以)
  4. 第二个参数为想要的数字串块(逗号隔开)
  5. 第三个字符串为公司信息(逗号隔开)
  6. 第四个参数为密码最小长度
  7. 第五个参数为是否包含特殊字符,false为不限制(即可有可无),ture为必须包含特殊字符
  8. 第五个参数等于upper代表首写字母大写
复制代码

运行效果:
  结果存储在当前目录,该用户全拼.txt文件中,部分结果如图:

0x 延申
    实际使用中可以根据目标站点密码规则对代码规则做细微调整。亦可以将传入参数以txt存储,实现批量化生成。批量生成过程中有可能会出现名字拼音相同情况,需进行有效处理。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 04:52 , Processed in 0.012892 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表