小记某攻防演练--弱口令引发的域控沦陷
字数 1827 2025-08-24 16:48:15

弱口令引发的域控沦陷攻防演练技术分析

1. 攻击流程概述

本次攻防演练的攻击流程如下:

  1. 信息收集阶段:从GitHub获取敏感信息
  2. SSO爆破:利用工号规则爆破统一认证系统
  3. Jeecg框架漏洞利用:通过文件上传漏洞获取WebShell
  4. 内网横向移动:攻击集权系统、收集凭据
  5. 密码喷洒攻击:使用Kerbrute进行域用户爆破
  6. 域控提权:利用ADCS漏洞获取域控权限

2. 详细技术分析

2.1 信息收集阶段

关键点:

  • 从GitHub公开项目中获取了目标公司的账号密码信息
  • 通过分析获取的信息,推导出工号规则
  • 发现目标使用SSO(单点登录)系统且无验证码保护

技术细节:

  • GitHub信息收集技巧:
    • 使用高级搜索语法:org:公司名filename:config
    • 搜索包含"password"、"credential"、"config"等关键词的文件
  • 工号规则分析:
    • 通常为固定前缀+数字序列
    • 如"EMP2023XXX"格式

2.2 SSO爆破攻击

关键点:

  • 目标SSO系统无验证码、无账号锁定机制
  • 利用已知工号规则生成用户名字典
  • 使用常见弱密码进行爆破

技术实现:

  • 工具选择:Burp Suite Intruder或Hydra
  • 字典生成:
    • 使用Crunch或自定义脚本生成工号组合
    • 常见弱密码列表:Password123Welcome1公司名+年份
  • 成功获取多个高权限账号凭证

2.3 Jeecg框架漏洞利用

关键点:

  • 目标使用Jeecg老旧版本
  • 利用已知文件上传漏洞获取WebShell

漏洞细节:

  • Jeecg常见漏洞:
    • 任意文件上传:/jeecgFormDemoController.do?commonUpload
    • SQL注入:多处存在未过滤参数
  • 利用步骤:
    1. 通过认证后访问上传接口
    2. 上传JSP/ASP/PHP等WebShell文件
    3. 访问上传的WebShell获取控制权

防御建议:

  • 升级至最新版本
  • 禁用不必要的上传功能
  • 严格限制上传文件类型

2.4 内网横向移动

关键点:

  • 内网安全设备配置不当,无严格网络分段
  • 优先攻击集权系统(GitLab、Wiki等)
  • 通过GitLab注册账号获取敏感信息

技术细节:

  • 集权系统攻击路径:
    • GitLab:注册账号后搜索敏感信息
      • 搜索关键词:passwordsecretaccesskey
      • 检查项目历史提交记录
    • Wiki系统:查找技术文档中的凭证
  • 获取的敏感信息类型:
    • 数据库连接字符串
    • AWS/Aliyun AccessKey
    • 邮箱账号密码
    • 各类系统后台凭证

2.5 密码喷洒攻击

关键点:

  • 收集大量凭据后分析密码策略
  • 使用Kerbrute进行域用户爆破

技术实现:

  1. 密码策略分析:

    • 常见模式:季节+年份(如Spring2023)
    • 公司缩写+特殊字符+数字(如ABC!2023)
    • 月份缩写+公司名(如AugCompany)
  2. 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

完整攻击链:

  1. 获取普通域用户权限
  2. 查询易受攻击的证书模板
  3. 申请域控证书
  4. 使用证书进行DCSync攻击

3. 防御建议

3.1 认证安全加固

  • SSO系统必须部署验证码
  • 实施账户锁定策略(5次失败尝试后锁定)
  • 强制使用复杂密码(长度>12,多种字符组合)

3.2 系统安全加固

  • 及时更新老旧框架(如Jeecg)
  • 禁用不必要的服务和功能
  • 实施严格的网络分段(办公网与生产网隔离)

3.3 域环境加固

  • 定期审计证书模板权限
  • 禁用NTLM认证,强制使用Kerberos
  • 监控异常证书申请行为

3.4 敏感信息保护

  • GitHub等平台定期扫描敏感信息泄露
  • GitLab等系统设置合理的访问权限
  • 实施代码审查防止硬编码凭证

4. 总结

本次攻防演练展示了从外网弱口令到域控沦陷的完整攻击链,核心问题在于:

  1. 认证系统缺乏基本防护(无验证码、无锁定)
  2. 使用存在已知漏洞的旧版框架
  3. 内网缺乏有效分段和访问控制
  4. 密码策略不够严格
  5. 域环境证书服务配置不当

通过修复这些薄弱环节,可显著提升整体安全防护水平。

弱口令引发的域控沦陷攻防演练技术分析 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系统:查找技术文档中的凭证 获取的敏感信息类型: 数据库连接字符串 AWS/Aliyun AccessKey 邮箱账号密码 各类系统后台凭证 2.5 密码喷洒攻击 关键点: 收集大量凭据后分析密码策略 使用Kerbrute进行域用户爆破 技术实现: 密码策略分析: 常见模式:季节+年份(如Spring2023) 公司缩写+特殊字符+数字(如ABC !2023) 月份缩写+公司名(如AugCompany) Kerbrute使用: 优势:相比普通爆破,更不易触发账户锁定 2.6 域控提权(ADCS漏洞利用) 关键点: 获取域用户凭证后 利用ADCS(Active Directory证书服务)漏洞提权 漏洞细节: 常见ADCS漏洞: ESC1:模板配置不当允许任意用户申请域控证书 ESC8:HTTP证书注册接口中继攻击 利用工具:Certify和ForgeCert 完整攻击链: 获取普通域用户权限 查询易受攻击的证书模板 申请域控证书 使用证书进行DCSync攻击 3. 防御建议 3.1 认证安全加固 SSO系统必须部署验证码 实施账户锁定策略(5次失败尝试后锁定) 强制使用复杂密码(长度>12,多种字符组合) 3.2 系统安全加固 及时更新老旧框架(如Jeecg) 禁用不必要的服务和功能 实施严格的网络分段(办公网与生产网隔离) 3.3 域环境加固 定期审计证书模板权限 禁用NTLM认证,强制使用Kerberos 监控异常证书申请行为 3.4 敏感信息保护 GitHub等平台定期扫描敏感信息泄露 GitLab等系统设置合理的访问权限 实施代码审查防止硬编码凭证 4. 总结 本次攻防演练展示了从外网弱口令到域控沦陷的完整攻击链,核心问题在于: 认证系统缺乏基本防护(无验证码、无锁定) 使用存在已知漏洞的旧版框架 内网缺乏有效分段和访问控制 密码策略不够严格 域环境证书服务配置不当 通过修复这些薄弱环节,可显著提升整体安全防护水平。