浅析弱口令

0x00 前言
弱口令其实是长期以来一直存在的问题,直到今天我们还能经常听某个著名厂商公司因为存在弱口令问题而导致大量内部或外部用户信息泄露,甚至商业计划和机密泄露,所以一个安全密码设置的重要性不言而喻,涉及密码,不得谈到密码的强弱,当然强弱密码的区分没有一个严格明确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或容易被破解工具破解的口令均为弱密码,在此我粗略谈谈弱密码方面,也就是我们经常说到的弱口令。
其实设置密码的强弱很大程度上与这个人的个人习惯和安全意识有关,当然还是受其他的因素的影响,比如公司出于安全考虑要求设置强密码等其他强制硬性要求,个人觉得弱口令可以大致分为两类,一类就是公共弱口令,另一类就是个人弱口令。
0x01 公共弱口令
公共弱口令也就是根据大量的密码数据统计得出的出现频率较高弱口令,关于这方面的弱口令统计结果有很多,在此我就列举一些出现频率比较高的公共弱口令:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
0123456789aa123456789zxcvbnmQAZ123asdfghjklwang123456qwer1234123456789qqq1234567891qazxsw2100200123qweasd78945612307758521123456789zxc123qq123123abcd1237758258zhang1231233211A2B3C4Dasd1237894561235845201314qwe123123456.000000000qq1234567891236987451q2w3e4rnihao123123123w1234561233211234567z12345678952052077088013145201101201472583691234554321123qwe11111111a111111584520456852wang123123456789..1q2w3e123abcqaz123456123456123456asdzxcvbnm123qazwsxedc314159261314520520aaaaaa123456789acaonima1123581321woaini131412345678912345671472585201314aqwe123456love13141597535841314520666666aa1234561q2w3e4r5t520131412345678911234567890123456abcqazwsx123iloveyou741852963abc123123456789.12qwaszx1111111111caonima123111111aq1w2e3q123456aptx48690000000000000000www123456woaini12312345678910asdasd1230000000000asd123456abc123456zxc123456qq5201314a12345678qq123456521131411111111111111111234567899123123a1236541101101234567812345678900123123123abc123456789a000000123456qwoaini1314520abcd123456aaa123000000123000qwertyuiopa5201314123456as1234561234qwerabcd12341357924680123456aaqwerty753951woaini5201314520111111111as1234561472583690z123456123456789abcqq13145201qaz2wsx159357987654321011223313145211314520000000a987654321123456qq123456..asdasd52152152013145201314aaa123456135792468w123456789a123456789woaini521woaini520aini1314q1w2e3r4111111123456789q110120119a123123a123456a123321 |
0x02 个人弱口令
个人弱口令往往与这个人的个人信息(姓名,生日,手机号,特殊昵称,爱好,社交软件账号,常用username,邮箱...),关系成员(家庭成员,男女朋友...),所处环境(车牌号,公司信息比如公司名称,公司成立时间或地点,公司domain等...),还有特殊的指定字符(数字,单词...),在这里我也列举一些经常出现的组合:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
生日 19901014(农历和国历都可以考虑)身份证后六位 143256自己或关系成员中文名拼音 Xiaoming ...自己或关系成员中文名拼音+生日 xiaoming19901014 ...自己或关系成员中文名拼音+特定字符 xiaoming5201314 ...username+生日 mingxiaozi19901014 ...username+特定字符 mingxiaozi5201314 ...公司名拼音 JingDong (这里没有特定针对某东,只是举个例子,虽然他们曾经出新过此类问题)公司名拼音+特定字符 jingdongxxxx公司domain www.xx.com公司domain+时间 xx20150101username+domain mingxiaozijd组合有很多种,没有一一列举,可以自由发挥。 |
另提示一点:当系统要求密码组合必须包含大写字母时候,根据中国人密码设定习惯,会有83%的人将大写字母,且是唯一存在的大写字母放在第一位。
0x03 弱口令生成
关于弱口令生成可以利用相关工具或者脚本,工具的话网上有很多,可以自行搜索下载,在这里我提供自己写的python小脚本,如果有需要请自行修改,仅作参考:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# -*- coding: utf-8 -*- weak_password=['000000','0000000','111111','11111111','112233','123123','123321','123456','12345678','87654321','123456789','987654321','1234567890','0123456789','654321','666666','888888','666888','66668888','abcdef','147258369','abcabc','abc123','a1b2c3','aaa111','123qwe','qweasd','admin','root','pass123','p@ssword','password','passwd','iloveyou','woaini','5201314','qq123456','taobao','wang1234'] foreign_weak_password=['password','123456','12345678','qwerty','abc123','monkey','1234567','letmein','trustno1','dragon','baseball','111111','iloveyou','master','sunshine','ashley','bailey','passw0rd','shadow','123123','654321','superman','qazwsx','michael','football','qwerty','welcome','ninja','hello','happy','anything','abcabcabc','qwert123','system','command','adminstrator','mouse','harddisk'] name=['xiaoming','Xiaoming','xiaoMing','xiao_ming','xiaoM','XMing','Xming','xl','XM'] birth=['1995','_1995','09','9','23','199509','_950923','_199509','9509','0923','19950925'] specialnum=['1314','520','000','111','123','168','1234','123456','5201314','888','666','123123'] id=['mingxiaozi','xiaolifeidao'] companyinfo=['jingdong','JongDong','jd','JD']#自行添加更多信息f=open('weakpasswords.txt','w')for a in weak_password: f.write(a+'\n') for b in foreign_weak_password: f.write(b+'\n') for c in name: for d in birth: f.write(c+d+'\n') f.write(d+c+'\n') for e in name: for f in specialnum: f.write(e+f+'\n') f.write(f+e+'\n') for i1 in id: for b1 in birth: f.write(i1+b1+'\n') f.write(b1+i1+'\n') for i2 in id: for s1 in specialnum: f.write(i2+s1+'\n') f.write(s1+i2+'\n') for n1 in name: for b1 in birth: for s2 in specialnum: f.write(n1+s2+b1+'\n') f.write(s2+n1+b1+'\n') f.write(s2+b1+n1+'\n')#自行添加更多组合 |
提醒一点就是如果你添加的信息越多,组合方式越多,那么生成的字典就越大,要考虑储存的容量问题。同时也推荐使用cupp.py和crunch。
0x04 后话
欢迎大家补充:P
转载请注明来自4ido10n's Blog文章《浅析弱口令》

浙公网安备 33010602011771号