更新信息
2019/09/09 非常感谢 @icezhaoL 指出的bug,目前已更新v1.1
。对“结果去重”的算法做优化,不会再出现大小写不敏感造成的问题了。
0x00 声明
本工具及思路旨在对网络安全从业人员和白帽子进行合法渗透测试时提供帮助,使用前请遵循相关法律法规,禁止用于任何非法用途。
0x01 社工弱口令的构成
以部分华为常用登录帐户默认密码为例:(附:华为帐户信息一览表)
Admin@123
Huawei@001
GalaxManager_2012
Huawei_123
UhmRoot@2012
1q2w3e~!
Huawei12#$
可以将上述密码构成分为3项:信息项、符号项、弱字符串项。
其中,信息项为:和目标有关的信息,如:Admin、Huawei等; 符号项为:密码组合中会用到的符号,如:空格、@、_、!、#、$等; 弱字符项为:密码组合中常用到的“弱口令”字符串,如:123、001、abc、2012等。
0x02 白鹿社工字典生成器
笔者依照此类社工弱口令组合的规律,编写出一款灵活和易用兼顾的字典生成器,即《白鹿社工字典生成器》。
运行流程:
点击“生成字典文件”,将“A项”、“B项”、“C项”数据按照“字典组合方式”及其他配置生成字典文件。
如:“字典组合方式”中填写“ACB”,即按照“A项”+“C项”+“B项”的顺序来进行组合生成字典。
各项数据可在生成时针对目标随时添加修改。
详细说明:
“A项”输入框:初始内容为空,需自行输入前面所提到的社工弱口令的“信息项”;
“按A项的行生成多个文件”:当“A项”输入框为多行内容时,勾选此项将会按照每行的名字(不区分大小写)保存与之相关的字典组合结果。
“B项”输入框:初始化(选中“B1.txt”)加载“/Dic/B1.txt”字典,其内容为社工弱口令的常见“符号项”。当选择单选框“B2.txt”时则加载“/Dic/B2.txt”字典,其内容为更多的“符号项”。可自行修改“B项”内容及其默认加载字典的文件(UTF-8格式);
“C项”输入框:初始化(选中“C1.txt”)加载“/Dic/C1.txt”字典,其内容为社工弱口令的常见“弱字符项”。当选择单选框“C2.txt”时则加载“/Dic/C2.txt”字典,其内容为更多的“弱字符项”。可自行修改“C项”内容及其默认加载字典的文件(UTF-8格式);
“字典组合方式”输入框:“A项”、“B项”、“C项”数据的组合顺序(分别使用A、B、C代替),最长组合方式为3位,使用英文逗号分隔。此项配置同步保存至“config.ini”文件;
“结果去重”选择框:勾选此项将会对最终生成的字典文件执行去除重复行操作;
追加字典:可勾选“0x00.txt”、“0x01.txt”(为“Dic”目录下同名弱口令字典文件,可自行修改内容),以及自定义内容(右侧输入框),将会在最终生成的字典文件中追加对应的内容。
0x03 问题
1、市面上已经有很多社工字典生成器了,为什么还要写?
试过一些同类工具,但感觉不太好用,不够灵活,同时使用的时候不能大概清楚最终生成的结果。
2、结果去重那里要等很久,是怎么回事?
生成的单个字典文件太大了。可以尝试勾选“按A项的行生成多个文件”,或者取消勾选“结果去重”,自行使用其它工具去除重复行,如Sublime。
3、为什么组合方式最长只能3位?
3位已经足够了,临时在“A项”、“B项”、“C项”的输入框里增加数据应该可以解决你的需求。
其它,请和我留言。