域渗透实战之cascade
字数 2182 2025-08-24 07:48:23

域渗透实战:Cascade域渗透过程详解

信息收集阶段

初始扫描与发现

  1. 端口扫描

    • 使用nmap扫描发现目标为Windows Server 2008主机
    • 发现大量开放端口
  2. SMB服务枚举

    • SMB允许匿名登录,但没有可用共享
    • 使用smbclient工具进行检查
  3. RPC服务检查

    • 通过rpcclient空密码连接成功
    • 收集了部分系统信息
  4. LDAP匿名访问

    • 发现LDAP服务允许匿名访问
    • 枚举LDAP收集有用信息:
      • 发现DC名称
      • 发现一个账号的疑似密码经过base64加密
      • 解密获得密码"r.thompson@cascade.local"的凭证

凭证利用尝试

  1. 尝试使用WinRM连接失败
  2. 转向通过SMB和获取的密码寻找更多共享文件

共享文件枚举与利用

  1. 文件发现

    • 找到"Meeting_Notes_June_2018.html"文件
    • 发现"VNC Install.reg"文件,内含加密的VNC密码
  2. VNC密码破解

    • 使用Metasploit框架破解VNC密码
    • 参考GitHub项目"PasswordDecrypts"成功解密
    • 获得密码后通过crackmapexec测试发现可通过WinRM获取shell
  3. 获取初始访问

    • 使用Evil-WinRM工具获取s.smith用户的shell
    • 成功获取user.txt标志

内网横向移动

权限提升路径

  1. 审计共享发现

    • 发现s.smith是"Audit Share"组成员
    • 该组只有s.smith一个用户
    • 可以访问c:\shares\但无法列出目录
  2. 本地访问共享文件

    • 通过本地访问读取共享文件
    • 将文件复制到本地虚拟机分析
  3. 审计数据库分析

    • 发现SQLite3数据库文件Audit.db
    • 连接数据库并转存三个表中的所有数据
    • 寻找用户名和密码信息

代码审计与解密

  1. 发现加密逻辑

    • 发现RunAudit.bat显示CascAudit.exe以db文件作为参数运行
    • 分析发现CascAudit.exe对用户密码进行AES CBC模式加密
  2. 调试解密过程

    • 获取VI、KEY等加密要素
    • 通过调试设置断点获取解密后的密码
    • 成功解密获得arksvc账号密码

AD Recycle Bin利用

  1. 发现特殊权限

    • 发现arksvc拥有AD Recycle Bin权限
    • 这是Windows Server 2008添加的功能,允许恢复已删除对象
  2. 恢复已删除账户

    • 使用PowerShell命令查询域中所有已删除对象
    • 恢复临时管理账户TempAdmin的信息
    • 对恢复的信息进行base64解密获得明文密码
  3. 权限提升

    • 通过WinRM连接获取arksvc的shell
    • 使用TempAdmin的凭证尝试登录
    • 通过密码重用攻击成功登录administrator域管账号

最终控制

  1. 获取域控权限
    • 使用wmiexec工具登录域控
    • 成功获取system权限
    • 获取root.txt标志

技术细节详解

AD Recycle Bin技术原理

  1. 功能概述

    • Server 2008添加的功能,允许管理员恢复已删除的AD对象
    • 类似文件系统的回收站功能
  2. 对象生命周期

    • 删除后首先进入"已删除对象"状态(msDS-DeletedObjectLifetime定义时间)
    • 然后成为"回收对象"(isRecycled=TRUE)
    • 最后在tombstoneLifetime指定时间后被垃圾收集清理
  3. 对象变化特点

    • 对象被移动至"已删除对象"容器
    • 重命名为DEL:Object-Guid格式
    • 新增isDeleted、lastKnownParent等属性
    • 删除objectCategory和sAMAccountType属性
  4. 恢复方法

    • Windows Server 2012前:使用LDAP工具或PowerShell
    • Windows Server 2012后:通过Active Directory管理中心

无AD Recycle Bin的恢复方法

  1. 逻辑删除恢复

    • 使用LDP工具修改isDeleted属性
    • 恢复distinguishedName属性
    • 需要知道对象删除前的DN
  2. 局限性

    • 恢复的对象会丢失大部分属性
    • 必须在tombstoneLifetime期限内恢复
  3. tombstoneLifetime属性

    • 定义逻辑删除保留天数
    • 默认值:
      • Windows Server 2003以上:180天
      • 较早版本:60天
    • 最小值限制:2天(2008 R2+)或60天(2000-2008)

总结与攻击路径

  1. 完整攻击链

    • LDAP匿名访问 → 获取r.thompson凭证 → SMB共享枚举 → VNC密码破解 → s.smith访问 → 审计共享分析 → 代码审计解密 → arksvc凭证 → AD Recycle Bin滥用 → TempAdmin恢复 → 密码重用 → administrator权限
  2. 关键学习点

    • 匿名LDAP访问的信息泄露风险
    • 配置文件中存储密码的危险性
    • 自定义加密实现的安全性问题
    • AD Recycle Bin权限的滥用风险
    • 密码重用攻击的有效性
  3. 防御建议

    • 禁用不必要的匿名访问
    • 加强配置文件中的密码保护
    • 审计具有AD Recycle Bin权限的账户
    • 实施严格的密码策略防止重用
    • 监控异常的对象恢复操作
域渗透实战:Cascade域渗透过程详解 信息收集阶段 初始扫描与发现 端口扫描 : 使用nmap扫描发现目标为Windows Server 2008主机 发现大量开放端口 SMB服务枚举 : SMB允许匿名登录,但没有可用共享 使用smbclient工具进行检查 RPC服务检查 : 通过rpcclient空密码连接成功 收集了部分系统信息 LDAP匿名访问 : 发现LDAP服务允许匿名访问 枚举LDAP收集有用信息: 发现DC名称 发现一个账号的疑似密码经过base64加密 解密获得密码"r.thompson@cascade.local"的凭证 凭证利用尝试 尝试使用WinRM连接失败 转向通过SMB和获取的密码寻找更多共享文件 共享文件枚举与利用 文件发现 : 找到"Meeting_ Notes_ June_ 2018.html"文件 发现"VNC Install.reg"文件,内含加密的VNC密码 VNC密码破解 : 使用Metasploit框架破解VNC密码 参考GitHub项目"PasswordDecrypts"成功解密 获得密码后通过crackmapexec测试发现可通过WinRM获取shell 获取初始访问 : 使用Evil-WinRM工具获取s.smith用户的shell 成功获取user.txt标志 内网横向移动 权限提升路径 审计共享发现 : 发现s.smith是"Audit Share"组成员 该组只有s.smith一个用户 可以访问c:\shares\但无法列出目录 本地访问共享文件 : 通过本地访问读取共享文件 将文件复制到本地虚拟机分析 审计数据库分析 : 发现SQLite3数据库文件Audit.db 连接数据库并转存三个表中的所有数据 寻找用户名和密码信息 代码审计与解密 发现加密逻辑 : 发现RunAudit.bat显示CascAudit.exe以db文件作为参数运行 分析发现CascAudit.exe对用户密码进行AES CBC模式加密 调试解密过程 : 获取VI、KEY等加密要素 通过调试设置断点获取解密后的密码 成功解密获得arksvc账号密码 AD Recycle Bin利用 发现特殊权限 : 发现arksvc拥有AD Recycle Bin权限 这是Windows Server 2008添加的功能,允许恢复已删除对象 恢复已删除账户 : 使用PowerShell命令查询域中所有已删除对象 恢复临时管理账户TempAdmin的信息 对恢复的信息进行base64解密获得明文密码 权限提升 : 通过WinRM连接获取arksvc的shell 使用TempAdmin的凭证尝试登录 通过密码重用攻击成功登录administrator域管账号 最终控制 获取域控权限 : 使用wmiexec工具登录域控 成功获取system权限 获取root.txt标志 技术细节详解 AD Recycle Bin技术原理 功能概述 : Server 2008添加的功能,允许管理员恢复已删除的AD对象 类似文件系统的回收站功能 对象生命周期 : 删除后首先进入"已删除对象"状态(msDS-DeletedObjectLifetime定义时间) 然后成为"回收对象"(isRecycled=TRUE) 最后在tombstoneLifetime指定时间后被垃圾收集清理 对象变化特点 : 对象被移动至"已删除对象"容器 重命名为DEL:Object-Guid格式 新增isDeleted、lastKnownParent等属性 删除objectCategory和sAMAccountType属性 恢复方法 : Windows Server 2012前:使用LDAP工具或PowerShell Windows Server 2012后:通过Active Directory管理中心 无AD Recycle Bin的恢复方法 逻辑删除恢复 : 使用LDP工具修改isDeleted属性 恢复distinguishedName属性 需要知道对象删除前的DN 局限性 : 恢复的对象会丢失大部分属性 必须在tombstoneLifetime期限内恢复 tombstoneLifetime属性 : 定义逻辑删除保留天数 默认值: Windows Server 2003以上:180天 较早版本:60天 最小值限制:2天(2008 R2+)或60天(2000-2008) 总结与攻击路径 完整攻击链 : LDAP匿名访问 → 获取r.thompson凭证 → SMB共享枚举 → VNC密码破解 → s.smith访问 → 审计共享分析 → 代码审计解密 → arksvc凭证 → AD Recycle Bin滥用 → TempAdmin恢复 → 密码重用 → administrator权限 关键学习点 : 匿名LDAP访问的信息泄露风险 配置文件中存储密码的危险性 自定义加密实现的安全性问题 AD Recycle Bin权限的滥用风险 密码重用攻击的有效性 防御建议 : 禁用不必要的匿名访问 加强配置文件中的密码保护 审计具有AD Recycle Bin权限的账户 实施严格的密码策略防止重用 监控异常的对象恢复操作