记一次C/S架构客户端配置文件泄露导致的内网沦陷
字数 1330 2025-08-06 18:07:42

C/S架构客户端配置文件泄露导致内网沦陷实战分析

漏洞背景

本文记录了一次通过C/S架构客户端配置文件泄露导致内网沦陷的完整攻击过程。攻击者利用客户端程序中硬编码的数据库凭据获取初始访问权限,进而通过内网横向移动最终控制域控服务器。

攻击流程

1. 信息收集与初始访问

  1. 发现客户端程序:目标系统使用C/S架构的客户端程序

  2. 逆向分析客户端

    • 使用工具如IDA Pro或dnSpy反编译客户端程序
    • 发现程序硬编码了数据库连接字符串
    • 提取到明文数据库凭据:server=192.168.1.100;uid=sa;pwd=Admin@123;database=test
  3. 数据库连接测试

    • 使用Navicat等工具尝试连接内网数据库服务器
    • 成功连接并发现敏感数据表

2. 权限提升与横向移动

  1. 获取数据库服务器权限

    • 发现数据库服务器同时运行Web服务
    • 通过数据库写入webshell到Web目录
    • 使用蚁剑等工具获取Web服务器交互式shell
  2. 内网信息收集

    • 执行ipconfig /all获取网络配置
    • 执行net user /domain查看域用户
    • 执行net group "domain admins" /domain确认域管理员
  3. 使用pr.exe进行提权

    • 上传免杀处理的pr.exe提权工具
    • 执行提权操作获取系统权限
    • 注意:需确保工具行为免杀,避免触发安全防护

3. 域控攻陷

  1. 定位域控服务器

    • 执行nltest /dsgetdc:域名或查看DNS记录
    • 确认域控IP地址
  2. 获取域控凭证

    • 方法一:读取域控服务器内存中的密码
    • 方法二:导出NTDS.dit文件获取域控hash
  3. Pass the Hash攻击

    • 使用获取的域控hash尝试登录域内其他主机
    • 使用工具如mimikatz或impacket套件中的psexec.py

关键技术与工具

  1. 逆向分析工具

    • IDA Pro
    • dnSpy (.NET程序反编译)
    • Ghidra
  2. 数据库连接工具

    • Navicat
    • SQLCMD
  3. 内网渗透工具

    • pr.exe (免杀处理)
    • mimikatz
    • impacket套件
    • Cobalt Strike
  4. 免杀技术

    • 代码混淆
    • 分阶段加载
    • 白名单程序劫持
    • 行为混淆

防御建议

  1. 客户端安全

    • 避免在客户端硬编码敏感凭据
    • 使用加密存储必要配置
    • 实施代码混淆保护
  2. 数据库安全

    • 使用最小权限原则
    • 定期轮换凭据
    • 启用数据库审计日志
  3. 内网防护

    • 部署网络分段
    • 启用主机防火墙
    • 监控异常网络连接
  4. 域控安全

    • 限制域管理员登录范围
    • 启用LSA保护
    • 监控NTDS.dit访问

攻击技巧与注意事项

  1. HW行动中的得分要点

    • 控制域控后应立即收集域内所有主机凭证
    • 快速横向移动到尽可能多的主机
    • 保持持久化访问
  2. 免杀处理关键点

    • 静态免杀:修改特征码,加壳/混淆
    • 行为免杀:避免敏感API直接调用
    • 网络通信免杀:使用合法协议隧道
  3. 内网横向移动技巧

    • 优先攻击管理类系统(如运维平台、监控系统)
    • 利用域信任关系跨域攻击
    • 收集并利用内网中的备用凭据

通过此案例可以看出,一个简单的客户端配置泄露可能导致整个内网沦陷,强调了纵深防御和安全开发实践的重要性。

C/S架构客户端配置文件泄露导致内网沦陷实战分析 漏洞背景 本文记录了一次通过C/S架构客户端配置文件泄露导致内网沦陷的完整攻击过程。攻击者利用客户端程序中硬编码的数据库凭据获取初始访问权限,进而通过内网横向移动最终控制域控服务器。 攻击流程 1. 信息收集与初始访问 发现客户端程序 :目标系统使用C/S架构的客户端程序 逆向分析客户端 : 使用工具如IDA Pro或dnSpy反编译客户端程序 发现程序硬编码了数据库连接字符串 提取到明文数据库凭据: server=192.168.1.100;uid=sa;pwd=Admin@123;database=test 数据库连接测试 : 使用Navicat等工具尝试连接内网数据库服务器 成功连接并发现敏感数据表 2. 权限提升与横向移动 获取数据库服务器权限 : 发现数据库服务器同时运行Web服务 通过数据库写入webshell到Web目录 使用蚁剑等工具获取Web服务器交互式shell 内网信息收集 : 执行 ipconfig /all 获取网络配置 执行 net user /domain 查看域用户 执行 net group "domain admins" /domain 确认域管理员 使用pr.exe进行提权 : 上传免杀处理的pr.exe提权工具 执行提权操作获取系统权限 注意:需确保工具行为免杀,避免触发安全防护 3. 域控攻陷 定位域控服务器 : 执行 nltest /dsgetdc:域名 或查看DNS记录 确认域控IP地址 获取域控凭证 : 方法一:读取域控服务器内存中的密码 方法二:导出NTDS.dit文件获取域控hash Pass the Hash攻击 : 使用获取的域控hash尝试登录域内其他主机 使用工具如mimikatz或impacket套件中的psexec.py 关键技术与工具 逆向分析工具 : IDA Pro dnSpy (.NET程序反编译) Ghidra 数据库连接工具 : Navicat SQLCMD 内网渗透工具 : pr.exe (免杀处理) mimikatz impacket套件 Cobalt Strike 免杀技术 : 代码混淆 分阶段加载 白名单程序劫持 行为混淆 防御建议 客户端安全 : 避免在客户端硬编码敏感凭据 使用加密存储必要配置 实施代码混淆保护 数据库安全 : 使用最小权限原则 定期轮换凭据 启用数据库审计日志 内网防护 : 部署网络分段 启用主机防火墙 监控异常网络连接 域控安全 : 限制域管理员登录范围 启用LSA保护 监控NTDS.dit访问 攻击技巧与注意事项 HW行动中的得分要点 : 控制域控后应立即收集域内所有主机凭证 快速横向移动到尽可能多的主机 保持持久化访问 免杀处理关键点 : 静态免杀:修改特征码,加壳/混淆 行为免杀:避免敏感API直接调用 网络通信免杀:使用合法协议隧道 内网横向移动技巧 : 优先攻击管理类系统(如运维平台、监控系统) 利用域信任关系跨域攻击 收集并利用内网中的备用凭据 通过此案例可以看出,一个简单的客户端配置泄露可能导致整个内网沦陷,强调了纵深防御和安全开发实践的重要性。