弱口令漏洞挖掘的30个实战技巧!

 

在网络安全领域,弱口令始终是攻击者突破企业防线的”第一道门”。据统计,超过80%的安全入侵事件与凭证泄露或弱口令直接相关。尽管多因素认证(MFA)逐渐普及,但在内网环境、遗留系统、测试环境中,弱口令依然广泛存在。

本文基于一线攻防演练经验,系统梳理30个弱口令漏洞挖掘技巧,涵盖信息收集、字典构建、工具使用、绕过技巧及防御建议,旨在为安全从业者提供可落地的实战参考。


第一部分:信息收集与目标识别

技巧1:资产测绘与端口识别

弱口令挖掘的第一步是精准识别目标资产。使用Nmap进行全端口扫描,重点关注以下服务端口:

  • • SSH (22):Linux服务器管理入口
  • • RDP (3389):Windows远程桌面
  • • MySQL (3306) / Redis (6379) / MSSQL (1433):数据库服务
  • • FTP (21) / SMB (445):文件传输服务
  • • Telnet (23):遗留设备管理
  • • Tomcat (8080) / Weblogic (7001):中间件管理后台

扫描命令示例:

nmap -p- -sV --open -iL targets.txt -oN scan_result.txt

技巧2:服务指纹识别

识别服务版本有助于针对性选择字典。例如,MySQL 5.7与8.0的默认配置差异、不同版本Weblogic的默认口令差异等。使用-sV参数获取版本信息后,结合CVE库查询历史默认口令。

技巧3:Web后台入口发现

通过目录扫描发现潜在登录入口:

  • • 常见路径:/admin/login/manage/system
  • • 特定系统:DedeCMS /dede、Discuz /admin.php、ThinkPHP /admin
  • • 接口文档:Swagger UI、/api-docs/actuator

技巧4:用户名枚举技巧

在Web登录接口中,通过响应差异判断用户名是否存在:

  • • 响应时间差异:存在用户时查询数据库耗时更长
  • • 错误提示差异:”用户名不存在” vs “密码错误”
  • • 状态码差异:部分系统对不存在用户返回不同状态码

技巧5:手机号/工号格式推断

当系统使用手机号或工号作为用户名时:

  • • 观察登录框提示信息(如”请输入11位手机号”)
  • • 通过注册功能验证号码格式
  • • 结合目标企业所在地生成号段字典(如北京138、139开头)

技巧6:API接口凭证发现

现代应用大量使用API接口,检查以下位置:

  • • JavaScript文件中的硬编码密钥
  • • 移动端APP的SharedPreferences/Keychain
  • • 小程序源码中的配置信息
  • • GitHub/GitLab代码仓库泄露

第二部分:字典构建与定制化

技巧7:企业信息定制化字典

基于OSINT(开源情报)构建针对性字典,成功率比通用字典提升40%以上:

信息收集维度:

  • • 公司简称、英文名称、产品品牌
  • • 成立年份、上市代码
  • • 创始人姓名、高管姓名拼音
  • • 办公地点、楼层号、门牌号

组合规则:

公司简称+年份:Tech2024、2024Tech
产品名+后缀:Robot@123、Product!QAZ
部门缩写:HRadmin、Devops2024

技巧8:季节性与周期性口令规律

企业口令常呈现时间周期性特征:

  • • 季度口令:Spring2024Q1@Pass
  • • 项目代号:ProjectX123Codename!@#
  • • 节假日相关:HappyNY2024MayDay123

技巧9:键盘布局模式识别

常见弱口令不仅包括123456,还有键盘路径模式:

  • • 横向:qwertyasdfgh1qaz2wsx
  • • 纵向:1qaz2wsx3edc
  • • 对角线:1q2w3e!QAZ2wsx

技巧10:中文拼音与谐音转换

针对国内企业,将中文转换为拼音组合:

  • • 姓名全拼:zhangsanwangwu123
  • • 姓名首字母+生日:zs1990ww8808
  • • 企业口号拼音:chuangxin2024

技巧11:泄露数据交叉验证

利用Have I Been Pwned等泄露数据库:

  • • 查询目标企业历史泄露事件
  • • 分析泄露口令的构成规律
  • • 提取高频出现的模式特征

技巧12:默认口令库维护

建立常见设备/系统默认口令库,定期更新:

系统类型
默认账号
默认密码
MySQL
root
root/空/123456
Redis
空/123456
Tomcat
admin
admin/admin123
Weblogic
weblogic
weblogic/weblogic123
Jenkins
admin
初始密码在日志中
Zabbix
Admin
zabbix

第三部分:自动化爆破与工具链

技巧13:Hydra多协议爆破

Hydra支持50+协议,是弱口令挖掘的核心工具:

# SSH爆破
hydra -L users.txt -P pass.txt -t 6 -vV ssh://192.168.1.1

# RDP爆破(需安装rdp模块)
hydra -L users.txt -P pass.txt rdp://192.168.1.1

# MySQL爆破
hydra -L users.txt -P pass.txt mysql://192.168.1.1

# Web表单爆破
hydra -L users.txt -P pass.txt 192.168.1.1 http-post-form "/login.php:username=^USER^&password=^PASS^:Login failed"

参数优化:

  • • -t:线程数,根据目标防护调整(建议3-6)
  • • -w:超时时间,避免网络延迟导致漏报
  • • -f:找到第一对有效凭证即停止

技巧14:Medusa高速并行爆破

Medusa的模块化设计适合大规模扫描:

# 批量扫描IP列表
medusa -H targets.txt -U users.txt -P pass.txt -M ssh -T 10

# 指定端口
medusa -h 192.168.1.1 -U users.txt -P pass.txt -M http -n 8080

技巧15:BurpSuite Intruder精细化爆破

针对Web应用,使用Intruder进行智能爆破:

  1. 1. Pitchfork模式:用户名和密码异步替换,适合已知用户-密码对应关系
  2. 2. Cluster Bomb模式:笛卡尔积爆破,覆盖所有组合
  3. 3. Grep-Extract:从响应中提取Token、错误提示等动态内容

技巧16:验证码绕过技巧

当遇到验证码防护时:

  • • 验证码复用:抓取不变形的验证码图片,重复提交同一验证码值
  • • 逻辑缺陷:删除验证码参数或置空,测试后端是否校验
  • • OCR识别:使用ddddocr等库自动识别简单验证码
  • • 打码平台:对接第三方人工识别服务(成本较高)

技巧17:速率限制绕过

针对账户锁定或IP封禁策略:

  • • 分布式代理:使用代理池轮换IP地址
  • • 低频慢速爆破:设置长间隔(如每5秒一次),避开检测阈值
  • • 多账户轮换:对每个账户仅尝试3-5次常用口令,避免触发锁定
  • • 时间窗口选择:凌晨2-4点执行,利用管理员响应延迟

技巧18:协议特定优化

不同协议的爆破策略差异:

SSH:

  • • 注意MaxAuthTries配置,默认3次失败后断开
  • • 使用sshpass脚本配合ProxyCommand跳板

RDP:

  • • Windows Server 2012+默认启用NLA(网络级认证),需特殊处理
  • • 使用crowbar工具支持RDP多线程

数据库:

  • • MySQL注意validate_password插件策略
  • • Redis无用户名,直接爆破密码

第四部分:高级挖掘技巧

技巧19:大小写变形与编码绕过

实战中常见的大小写不一致问题:

  • • 用户名adminADMIN可能指向同一账户
  • • 密码大小写敏感性与系统配置相关
  • • 尝试URL编码、Unicode规范化(如%61dmin

技巧20:账号密码一致性测试

简单但有效的模式:

  • • 用户名与密码相同:zhangsan/zhangsan
  • • 用户名+简单后缀:zhangsan/zhangsan123zhangsan/123456
  • • 工号/学号作为密码:2024001/2024001

技巧21:会话凭证复用

通过成功登录的响应包挖掘关联账户:

  1. 1. 使用已知弱口令登录账户A
  2. 2. 抓取响应包中的loginNameemailmobile字段
  3. 3. 将这些值作为新用户名,使用相同密码尝试登录
  4. 4. 常发现同一密码多账户复用的情况

技巧22:密码重置逻辑缺陷

利用密码重置功能获取或修改凭证:

  • • 重置Token可预测(如时间戳、顺序数字)
  • • 重置链接未绑定用户会话
  • • 短信验证码可爆破(4位数字仅10000种可能)

技巧23:API密钥与Token挖掘

现代应用依赖API认证,常见泄露点:

  • • 前端JS文件中的api_keyaccess_token
  • • 移动端硬编码的Secret Key
  • • 日志文件中记录的认证信息
  • • 环境变量配置文件(.env.config

技巧24:中间人攻击辅助

在内网环境中,通过流量分析获取凭证:

  • • ARP欺骗捕获明文传输的HTTP认证
  • • 分析NTLM/LDAP认证流量
  • • 利用Responder工具伪造服务捕获Hash

第五部分:特定场景挖掘

技巧25:云服务弱口令治理

云环境特有的风险点:

  • • 云控制台:阿里云、腾讯云主账号弱口令
  • • OSS存储桶:AccessKey ID/Secret泄露
  • • 云数据库:RDS、Redis外网暴露且弱口令
  • • 容器镜像:镜像仓库认证信息

检测方法:

  • • 调用云API获取资产清单
  • • 使用主机安全Agent检测弱口令Hash碰撞
  • • 定期审计云账号权限与访问日志

技巧26:物联网与工控设备

IoT/ICS设备是弱口令重灾区:

  • • 摄像头:海康威视admin/12345、大华admin/admin
  • • 路由器:TP-Linkadmin/admin、小米admin/admin
  • • 工控系统:西门子、施耐德PLC默认凭证

挖掘技巧:

  • • 使用Shodan/Censys搜索特定设备指纹
  • • 关注title:"Device Name"的Web管理界面
  • • 检查Telnet/串口调试接口

技巧27:开发测试环境

测试环境往往安全基线较低:

  • • 数据库使用root/rootsa/sa等简单口令
  • • 代码仓库使用默认凭证或弱口令
  • • 测试账号未清理:test/testdemo/demo

技巧28:第三方组件与中间件

关注以下组件的管理后台:

  • • Jenkins:默认无认证或弱口令,可执行系统命令
  • • GitLab:管理员弱口令导致代码泄露
  • • Elasticsearch:早期版本无认证,后期版本默认弱口令
  • • Docker Registry:未授权访问或弱口令

第六部分:防御与治理建议

技巧29:企业弱口令治理体系

建立”预防-发现-处置”闭环:

预防阶段:

  • • 强制密码复杂度策略:长度≥8位,包含3种字符类型
  • • 定期密码更换:建议90天周期
  • • 多因素认证(MFA):TOTP、U2F硬件密钥
  • • 单点登录(SSO)体系:减少密码暴露面

发现阶段:

  • • 部署弱口令扫描器(Hydra/Medusa)定期巡检
  • • 主机安全Agent实时检测弱口令Hash
  • • 自定义企业专属弱口令字典
  • • 日志审计:监控异常登录行为

处置阶段:

  • • 强制密码重置策略
  • • 账号冻结与权限回收
  • • 安全事件溯源与通报

技巧30:安全左移与意识培养

从技术与管理双维度降低风险:

技术层面:

  • • DevSecOps流程:在开发阶段引入安全扫描
  • • 镜像规范化:基础镜像移除默认账户
  • • 堡垒机统一管控:禁止直连生产服务器

管理层面:

  • • 全员安全意识培训:弱口令危害案例教育
  • • 攻防演练:模拟钓鱼与弱口令攻击
  • • 安全事件惩处机制:明确责任边界

弱口令漏洞挖掘是渗透测试的基础技能,但绝非简单的”跑字典”工作。有效的挖掘需要结合信息收集、逻辑分析、工具定制与绕过技巧,同时必须严格遵守授权与法律边界。

对于防御方而言,弱口令治理是持续过程,而非一次性项目。通过技术手段(MFA、SSO、密码策略)与管理手段(培训、制度、演练)相结合,才能从根本上降低凭证泄露风险。

安全是一场攻防博弈,唯有理解攻击者的思路,才能构建更坚固的防线。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容