当前位置:首页 > 热点

常用弱口令密码字典包

2019年某次护网行动,常用安全团队用一份不到200行的弱口密码字典,在两个小时内撞开了某省级单位37个后台账户。令密密码清单里排第一的码字是"admin123",第二是典包"123456",第三是常用"P@ssw0rd"——注意那个@和数字0的替换,很多人以为这就算"强密码"了。弱口

这份字典后来被整理成内部培训材料,令密我拿到了一份。码字打开一看,典包前50个密码覆盖了那次行动中80%的常用弱口令命中。这不是弱口什么高深的技术,纯粹是令密人性。

字典里到底装了什么

弱口令字典包的码字核心逻辑就一句话:把人类偷懒的方式穷举出来。它通常分几个层级。典包

第一层是纯数字。123456、12345678、666666、888888、112233。别笑,某次对某市政务系统的测试中,123456这个密码在管理员账户上的命中率是11%。十一个后台管理员,有一个用123456,这不是段子。

第二层是键盘模式。qwerty、1qaz2wsx、zxcvbnm、asdfgh。这类密码在技术圈反而常见,因为程序员觉得"键盘走位"比"生日"高级。实际上字典包里早就收录了这些模式,连shift键的变体都有——!QAZ@WSX这种。

第三层是"自以为聪明"的变体。P@ssw0rd、Adm1n、R00t、Welc0me。把o换成0,a换成@,e换成3。这种替换规则在字典生成工具里叫"leet变换",hashcat一条规则就能批量生成。你以为在增加复杂度,字典作者管这叫"送分题"。

第四层是中文拼音和公司名。zhangsan、lisi、wangwei、huawei123、lenovo2023。国内很多企业的VPN账号密码就是"公司名+年份",这种规律在字典里单独成段。

一份典型字典包的构成

我手头这份叫"Top1000弱口令精简版",实际文件大小不到8KB。里面包含:

纯数字段约300条,覆盖000000到999999中的高频组合;键盘模式段约120条,包括各种斜向、纵向走位;英文单词段约200条,password、admin、root、test、guest、master;中文拼音段约150条,覆盖百家姓前50和常见名字组合;混合变体段约230条,主要是年份后缀和特殊符号替换。

文件格式就是纯文本,一行一个。用hydra或者medusa挂上去,配合目标IP段,剩下的就是等。速度取决于协议,HTTP Basic认证每秒能试几百个,SSH慢一些,但架不住字典小。

为什么这些密码永远有人用

某次我帮一个朋友的公司做内部审计,发现财务系统有个账户密码是"caiwu123"。问那个会计,她说"好记啊,而且我觉得没人会猜财务的密码是caiwu"。这个逻辑很典型——用岗位名当密码,再用123收尾,既"相关"又"简单"。

另一个案例更离谱。某开发测试环境的数据库密码是"test123456",而且这个环境直接映射了公网端口。问负责人,他说"测试环境嘛,无所谓"。三个月后数据被拖库,里面有两万条真实用户信息。测试环境用的是生产数据,这种事在国内太常见了。

弱口令的问题从来不是技术问题,是意识问题。字典包只是把这种意识漏洞量化了。你不需要会写exploit,不需要懂内存偏移,只要有一份整理好的字典和足够的耐心,就能拿到权限。

怎么用和怎么防

用字典包做安全测试,标准流程是:先收集目标信息(公司名、域名、员工邮箱前缀),然后用工具生成定制字典,最后挂上协议爆破。定制字典比通用字典命中率高得多。比如目标公司叫"蓝海科技",那"lanhai2024""lanhai@123""lanhai!@#"都应该加进去。

防守端就一条铁律:密码长度比复杂度重要。12位以上的纯小写字母,比8位的"大小写+数字+符号"更难爆破。因为长度增加的是指数级搜索空间,而复杂度增加的是有限规则。NIST的密码指南早就改了,建议用长密码短语,比如"woainiwojia1234"这种,比"W@i1#9x"安全得多。

另外,别在多个系统用同一个密码。撞库攻击就是拿A站的泄露密码去试B站。字典包里那些"通用型"弱口令,本质上是利用了人类的密码复用习惯。

最后说个细节。我见过最离谱的弱口令是"1234567890qwerty",键盘上从左到右按一遍。这个密码在字典包里没有,但hashcat的规则引擎能生成。所以别以为不在字典里就安全——字典是活的,你的偷懒方式早被写进规则了。

分享到: