最近HVV爆出的很火的WPS命令执行漏洞,其实并不是0DAY,早在2019年就出现了,只不过最近EXP才公开。接下来我们来复现一遍。
0x00 影响版本
- WPS Office 2023 个人版 < 11.1.0.15120
- WPS Office 2019 企业版 < 11.8.2.12085
0x01 环境配置
- wps版本: WPS V11.1.0.12300
- 靶机: windows 10
- 攻击机: ubuntu 20.04 IP:192.168.2.103
0x02 漏洞原理
WPS 内置了一个浏览器,可以解析html/javascript/css代码。产生漏洞的原因就是未能正常处理JS代码,造成内存溢出,最终导致了RCE漏洞。
0x03 前期准备
- 一个包含执行计算器命令的DOC文件。
- 一个包含执行反弹shell命令的DOC文件。
- 一个包含恶意代码的html文件。
- Ubuntu安装了python3和nc。
0x04 修改window靶机的hosts文件
hosts文件路径:C:\\windows\system32\drivers\etc\
当使用WPS内置浏览器访问第三方网站链接时会产生弹窗,但是如果访问的域名在内置白名单内就不会弹。
所以为了方便测试,我们直接修改靶机的hosts文件,增加一条:
192.168.2.103 clientweb.docer.wps.cn.cloudwps.cn
# ubuntu 开启80端口
python3 -m http.server 80
最后利用域名去浏览器访问,测试是否能够成功访问。
如图,能正常访问,但是页面空白即为正常。
0x05 触发计算器
Ubuntu本机开启web服务,用于靶机远程下载恶意HTML文件。
# ubuntu 20.04
python3 -m http.server 80
直接将包含执行计算器命令的DOC文件传到windows打开即可触发计算器。如图:
0x06 反弹shell
反弹shell的话,与触发计算器有一点区别,除了需要新的word外,ubuntu上的html文件也需要跟换。这里直接使用,具体相关细节可以加群讨论。
Ubuntu本机开启web服务,用于靶机远程下载恶意HTML文件。
# ubuntu 20.04
python3 -m http.server 80
# 另开一个终端窗口
nc -lvnp 9000
触发: 将包含执行反弹shell命令的DOC文件上传到windows上并打开即可触发反弹shell命令。
0x06 修复
直接升级wps为官方最新版即可抵御此漏洞。