freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

WPS Office从路径穿越到远程代码执行漏洞分析与复现
2024-10-08 17:23:37
所属地 北京

漏洞概述

WPS Office程序promecefpluginhost.exe存在不当路径验证问题,允许攻击者在Windows上加载任意Windows库文件。该漏洞已被APT-C-60攻击者利用,当用户打开MHTML格式的文档时,只需单击一个恶意制作的超链接,即可执行攻击者指定的恶意库文件,实现远程代码执行。

影响范围

WPS Office版本12.2.0.13110-12.2.0.16412

复现环境

操作系统:Win10 10.0.18363.592WPS Office版本:WPS Office 12.2.0.13110

分析过程

WPS程序安装后注册了一个名为 ksoqing 的自定义URL协议,注册表路径为:计算机\HKEY_CLASSES_ROOT\ksoqing\shell\open\command,其内容为"C:\Users\【用户名】\AppData\Local\Kingsoft\WPS Office\12.2.0.13110\office6\wps.exe" /qingbangong "%1"。即访问以ksoqing 开头的URL协议时,将启动wps.exe程序,并传递/qingbangong参数,%1则被替换为以ksoqing 开头的协议链接,一并作为wps启动的参数。

此时wps.exe程序解析参数/qingbangong,并将ksoqing链接内容一并发送到 C:\Users\【用户名】\AppData\Local\Kingsoft\WPS Office\12.2.0.13110\office6\wpscloudsvr.exe

wpscloudsvr.exe中的qingbangong.dll解析自定义URL链接内容。当type参数为ksolaunch时,将启动launchname参数指定的程序,参数使用base64编码。

launchname参数指定的程序启动时,wpscloudsvr.exe会将URL链接中的cmd参数使用base64解码,然后传递给它。

如果launchname参数指定的是promecefpluginhost.exe,该程序启动后,将加载ksojscore.dll,然后解析命令行中的-JSCefServicePath。

这个参数可以指定一个文件名,这个文件会被kso_qt::QLibrary::load函数加载到内存执行。默认情况下,如果只是指定一个文件名,会按照DLL搜索顺序搜索和加载这个文件,比如加载同EXE目录下指定的DLL文件。但是这个参数未做任何过滤,可以指定“..\”包含目录的路径,存在路径穿越漏洞,可以加载任意指定的DLL文件,最终实现任意代码执行。


使用路径穿越的漏洞可以加载指定DLL文件,但这还不够。APT-C-60攻击者使用MHTML格式的xls电子表格文件,利用其特性,实现下载远程DLL文件的目的。WPS支持MHTML格式的文档,这种文档可以包含 HTML、CSS 和 JavaScript 等文件,方便在浏览器中显示文档。

文档中可以使用img标签,指定远程DLL文件。

当文档被打开时,wps使用_XUrlDownloadToCacheFile函数下载文件到temp目录下的wps\INetCache目录中。


下载后的文件名,使用的是下载链接(UNICODE编码)的MD5值。

最终配合上述路径穿越漏洞,在-JSCefServicePath参数中指定下载的文件名,实现远程代码执行。这里还有一个小技巧,因为下载后的文件名并没有.dll后缀,而在加载的时候如果没有指定.dll后缀,会自动补上该后缀再加载。为了避免在加载的时候找不到指定文件导致失败,在-JSCefServicePath参数中指定下载的文件名时,需要在文件名最后额外加个“.”。

漏洞复现

新建xls格式的文档,添加超链接,超链接可任意,并另存为MHTML格式的文档。

根据远程DLL的下载链接,使用poc.py计算下载后的文件名,并最终生成ksoqing协议链接。

将ksoqing链接替换导出的MHTML格式文档中的超链接。

再根据远程DLL的下载链接,添加img标签,实现远程下载DLL文件。

开启远程DLL下载服务,然后打开MHTML文档,点击超链接,触发漏洞。

参考链接

ddpoc链接:

https://www.ddpoc.com/DVB-2024-8279.html

https://www.welivesecurity.com/en/eset-research/analysis-of-two-arbitrary-code-execution-vulnerabilities-affecting-wps-office/https://nvd.nist.gov/vuln/detail/CVE-2024-7262https://avd.aliyun.com/detail?id=AVD-2024-7262
原文链接
# 漏洞 # 漏洞分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录