等保测评项——弱口令空口令
字数 2349 2025-08-11 17:39:47
弱口令漏洞原理与防御全面指南
0x01 漏洞原理
弱口令是指容易被猜测或破解工具破解的密码,主要包括:
- 简单纯数字组合(如123456)
- 简单数字字母组合(如123qwe)
- 系统默认密码(如admin/admin888)
- 基于个人信息的密码(生日、姓名等)
弱口令产生原因:
- 安全意识淡薄,为方便记忆使用简单密码
- 使用系统默认密码未修改
- 密码设置习惯不良(如键盘连续字符qwerty)
0x02 常见弱口令组成模式
- 中国常用名TOP500及其组合
- 姓名全拼+数字(如zhangsan123)
- 姓全拼+名首字母+数字(如zhangs123)
- 姓名首字母+数字(如zs123456)
- 工号或身份证号
- 键盘分布组合(如qwerty、1qaz2wsx)
- 特殊节日、纪念日(如20200202)
- 好记的数字/字母组合(如888888、abcdef)
- 特殊含义单词及变形(如love→l0ve)
0x03 弱口令攻击面
易受攻击的服务类型
- 远程维护类:SSH、Telnet、RDP
- 数据库服务:MySQL、MSSQL、Oracle、MongoDB、DB2
- 缓存服务:Redis、Kafka
- 大数据服务
- 云环境接口:各类云平台API、Docker接口
- Web应用:各类CMS、OA系统后台
- 移动应用:APP、小程序后台
验证码绕过技术
-
短信验证码绕过
- 暴力破解(4-6位数字)
- 重复使用(未清空session)
- 客户端回显(验证码泄露在返回包中)
- 万能验证码(0000、8888等)
- 空验证码绕过
-
图片验证码绕过
- OCR识别
- 验证码复用
- 前端JS验证绕过
-
其他验证码问题
- 验证码在URL参数中可修改
- 验证码生成规律可预测
0x04 弱口令检测工具集
综合检测工具
-
SNETCraker
- 支持SSH、RDP、SMB、MySQL等20+服务
- 特点:批量IP扫描、自带端口扫描、自定义字典
- 下载:https://github.com/shack2/SNETCracker
-
hydra
- 经典爆破工具,支持50+协议
- 跨平台(Linux/Windows)
- 下载:https://github.com/ory/hydra
-
Go-x-crack
- Go语言编写,支持FTP/SSH/SMB等
- 跨平台支持
- 下载:https://github.com/netxfly/x-crack
专项检测工具
-
WebCrack
- 网站后台弱口令专用
- 下载:https://github.com/yzddmr6/WebCrack
-
WeblogicWeakPwd
- Weblogic专用检测
- 下载:https://github.com/rabbitmask/WeblogicWeakPwd
-
domainWeakPasswdCheck
- 域账号弱口令审计
- 下载:https://github.com/chroblert/domainWeakPasswdCheck
字典生成工具
-
pydictor
- 多功能字典生成
- 支持自定义规则
- 下载:https://github.com/LandGrey/pydictor
-
白鹿社工字典生成器
- 基于社工规律的字典生成
- 下载:https://github.com/x311/BaiLu-SED-Tool
-
在线字典工具
- https://www.bugku.com/mima/
- 可根据个人信息生成针对性字典
BurpSuite扩展
-
jsEncrypter
- 解决密码加密问题
- 下载:https://github.com/bit4woo/jsEncrypter
-
reCAPTCHA
- 验证码处理扩展
- 下载:https://github.com/bit4woo/reCAPTCHA
0x05 防御加固建议
密码策略
-
复杂度要求:
- 长度≥8位
- 包含大小写字母、数字、特殊字符
- 不使用连续字符(如123456)或重复字符(如aaaaaa)
-
内容限制:
- 禁止包含个人信息(姓名、生日等)
- 禁止使用字典单词及简单变形
- 禁止使用键盘连续字符
-
管理策略:
- 定期更换密码(建议90天)
- 密码历史记录(禁止重复使用)
- 双因素认证
验证码加固
-
有效性控制:
- 设置合理失效时间(建议180秒)
- 一次认证后立即失效
- 服务端生成验证码
-
尝试限制:
- 单位时间内失败次数限制(如5次/5分钟)
- 失败次数过多锁定账号
-
复杂度提升:
- 使用干扰线、扭曲变形
- 动态验证码(如滑动拼图)
- 多因素验证组合
用户教育
- 办公密码与私人密码分离
- 使用记忆诀窍创建复杂密码(如句子首字母+标点)
- 不同系统使用不同密码
- 避免在设备中明文存储密码
0x06 参考字典资源
-
基础弱口令字典:
- TOP100:https://github.com/estell-yf/Dict/blob/master/登录账号/TOP100.txt
- TOP1000:https://github.com/estell-yf/Dict/blob/master/登录账号/top1000.txt
- 用户名TOP500:https://github.com/estell-yf/Dict/blob/master/登录账号/Top500用户名.txt
-
专项字典:
- 中间件弱口令:https://github.com/estell-yf/Dict/tree/master/中间件
- 数据库弱口令:https://github.com/estell-yf/Dict/tree/master/数据库
- 网络设备默认密码:https://github.com/estell-yf/Dict/tree/master/网络设备
通过全面实施上述防御措施,可有效降低弱口令带来的安全风险,提升系统整体安全性。