小记某攻防演练--弱口令引发的域控沦陷
字数 1827 2025-08-24 16:48:15
弱口令引发的域控沦陷攻防演练技术分析
1. 攻击流程概述
本次攻防演练的攻击流程如下:
- 信息收集阶段:从GitHub获取敏感信息
- SSO爆破:利用工号规则爆破统一认证系统
- Jeecg框架漏洞利用:通过文件上传漏洞获取WebShell
- 内网横向移动:攻击集权系统、收集凭据
- 密码喷洒攻击:使用Kerbrute进行域用户爆破
- 域控提权:利用ADCS漏洞获取域控权限
2. 详细技术分析
2.1 信息收集阶段
关键点:
- 从GitHub公开项目中获取了目标公司的账号密码信息
- 通过分析获取的信息,推导出工号规则
- 发现目标使用SSO(单点登录)系统且无验证码保护
技术细节:
- GitHub信息收集技巧:
- 使用高级搜索语法:
org:公司名或filename:config - 搜索包含"password"、"credential"、"config"等关键词的文件
- 使用高级搜索语法:
- 工号规则分析:
- 通常为固定前缀+数字序列
- 如"EMP2023XXX"格式
2.2 SSO爆破攻击
关键点:
- 目标SSO系统无验证码、无账号锁定机制
- 利用已知工号规则生成用户名字典
- 使用常见弱密码进行爆破
技术实现:
- 工具选择:Burp Suite Intruder或Hydra
- 字典生成:
- 使用Crunch或自定义脚本生成工号组合
- 常见弱密码列表:
Password123、Welcome1、公司名+年份等
- 成功获取多个高权限账号凭证
2.3 Jeecg框架漏洞利用
关键点:
- 目标使用Jeecg老旧版本
- 利用已知文件上传漏洞获取WebShell
漏洞细节:
- Jeecg常见漏洞:
- 任意文件上传:
/jeecgFormDemoController.do?commonUpload - SQL注入:多处存在未过滤参数
- 任意文件上传:
- 利用步骤:
- 通过认证后访问上传接口
- 上传JSP/ASP/PHP等WebShell文件
- 访问上传的WebShell获取控制权
防御建议:
- 升级至最新版本
- 禁用不必要的上传功能
- 严格限制上传文件类型
2.4 内网横向移动
关键点:
- 内网安全设备配置不当,无严格网络分段
- 优先攻击集权系统(GitLab、Wiki等)
- 通过GitLab注册账号获取敏感信息
技术细节:
- 集权系统攻击路径:
- GitLab:注册账号后搜索敏感信息
- 搜索关键词:
password、secret、accesskey - 检查项目历史提交记录
- 搜索关键词:
- Wiki系统:查找技术文档中的凭证
- GitLab:注册账号后搜索敏感信息
- 获取的敏感信息类型:
- 数据库连接字符串
- AWS/Aliyun AccessKey
- 邮箱账号密码
- 各类系统后台凭证
2.5 密码喷洒攻击
关键点:
- 收集大量凭据后分析密码策略
- 使用Kerbrute进行域用户爆破
技术实现:
-
密码策略分析:
- 常见模式:季节+年份(如Spring2023)
- 公司缩写+特殊字符+数字(如ABC!2023)
- 月份缩写+公司名(如AugCompany)
-
Kerbrute使用:
./kerbrute passwordspray -d domain.com users.txt Password123
./kerbrute bruteuser -d domain.com passwords.txt username
- 优势:相比普通爆破,更不易触发账户锁定
2.6 域控提权(ADCS漏洞利用)
关键点:
- 获取域用户凭证后
- 利用ADCS(Active Directory证书服务)漏洞提权
漏洞细节:
- 常见ADCS漏洞:
- ESC1:模板配置不当允许任意用户申请域控证书
- ESC8:HTTP证书注册接口中继攻击
- 利用工具:Certify和ForgeCert
Certify.exe request /ca:dc.domain.com\ca-name /template:VulnerableTemplate
完整攻击链:
- 获取普通域用户权限
- 查询易受攻击的证书模板
- 申请域控证书
- 使用证书进行DCSync攻击
3. 防御建议
3.1 认证安全加固
- SSO系统必须部署验证码
- 实施账户锁定策略(5次失败尝试后锁定)
- 强制使用复杂密码(长度>12,多种字符组合)
3.2 系统安全加固
- 及时更新老旧框架(如Jeecg)
- 禁用不必要的服务和功能
- 实施严格的网络分段(办公网与生产网隔离)
3.3 域环境加固
- 定期审计证书模板权限
- 禁用NTLM认证,强制使用Kerberos
- 监控异常证书申请行为
3.4 敏感信息保护
- GitHub等平台定期扫描敏感信息泄露
- GitLab等系统设置合理的访问权限
- 实施代码审查防止硬编码凭证
4. 总结
本次攻防演练展示了从外网弱口令到域控沦陷的完整攻击链,核心问题在于:
- 认证系统缺乏基本防护(无验证码、无锁定)
- 使用存在已知漏洞的旧版框架
- 内网缺乏有效分段和访问控制
- 密码策略不够严格
- 域环境证书服务配置不当
通过修复这些薄弱环节,可显著提升整体安全防护水平。