渗透实战:记一次弱口令的挖掘
字数 1406 2025-08-24 16:48:07
渗透测试实战:弱口令挖掘技术详解
1. 信息收集阶段
1.1 初始信息获取
- 仅获得目标系统域名,无测试账号、资产IP等其他信息
- 使用
nslookup进行域名解析,获取IP地址
1.2 端口扫描技术
- 对目标IP进行端口扫描
- 发现开放端口:
- 443 (HTTPS)
- 2000 (未识别服务)
1.3 Web目录扫描
- 使用目录扫描工具发现后台登录界面
- 发现前台登录页面有短信登录功能
2. 初始渗透尝试
2.1 短信炸弹漏洞测试
- 检查短信发送功能是否存在频率和次数限制
- 测试结果:存在防护措施,无法利用
2.2 密码爆破尝试
- 发现密码采用RSA加密
- 验证码为真实验证码
- 结论:传统爆破方法难以奏效
3. 旁路渗透策略
3.1 测试系统发现
- 分析:新上线系统通常有测试环境
- 方法:
- 从前台登录页面源码中提取公司特征文本
- 使用网络空间搜索引擎查询:
title = "xxxx" & body = "xxxx"
3.2 测试环境端口扫描
- 发现开放端口:
- 22 (SSH)
- 3306 (MySQL)
- 6379 (Redis)
- 3000 (HTTP 测试网站)
- 5080 (HTTP 同框架网站)
- 8848 (HTTP Nacos服务)
4. Nacos服务利用
4.1 Nacos简介
- 动态服务发现、配置管理和服务管理平台
- 默认端口:8848
- 常见默认凭证:nacos:nacos
4.2 敏感信息获取
- 成功登录Nacos控制台
- 获取MySQL和Redis的密码
- 通过MySQL访问网站数据库
- 提取用户表数据,包括密码hash和salt
5. 弱口令分析与爆破
5.1 密码模式分析
- 发现大量hash相同,提示弱口令或默认密码
- 常见格式:公司简写(4字母)+4位数字(如abcd1234)
5.2 字典优化策略
-
基础变种:
- 大小写组合简写+数字(如Abcd1234)
- 首字母大写简写+数字(更符合用户习惯)
-
特殊字符变种:
- 大小写组合简写+特殊字符+数字(如Abcd#1234)
- 大小写组合简写+数字+特殊字符(如Abcd1234!)
5.3 爆破结果
- 成功爆破出后台密码:Abcd2333@
- 密码分析:
- 包含大小写字母
- 包含数字
- 包含特殊字符
- 但仍属于"弱口令"范畴(基于公司特定模式)
6. 生产环境利用
6.1 密码复用测试
- 整理测试环境获取的账号密码
- 在生产环境尝试登录:
- abcdadmin / Abcd#2022
- abcdtest01 / Abcd2333!
- abcdtest02 / Abcd2333!
- admin01 / abcd2333
6.2 成功渗透
- 使用测试环境凭证成功登录生产环境后台
7. 防御建议
7.1 密码策略
- 避免使用公司相关信息作为密码基础
- 强制使用随机生成的复杂密码
- 定期更换密码
7.2 系统安全
- 测试环境不应对外开放
- 默认服务应修改默认凭证
- 敏感服务(如MySQL、Redis)不应直接暴露在公网
7.3 监控措施
- 实施登录尝试监控和限制
- 对异常登录行为进行告警
8. 技术总结
- 信息收集是渗透测试的基础,要全面细致
- 旁路渗透思路:当主站防护严密时,寻找关联系统
- 默认凭证利用是常见突破口
- 密码模式分析能显著提高爆破效率
- 测试环境往往是安全薄弱环节
- 密码复用现象普遍存在
本案例展示了如何通过系统化思考和细致分析,从看似安全的系统中挖掘出高危漏洞。弱口令防护不应仅停留在复杂度要求上,还需考虑业务相关性和使用模式。