钓鱼邮件:WPS 0Day漏洞的威胁和应对

文摘   科技   2023-12-25 09:36   广东  

“A9 Team 甲方攻防团队,成员来自某证券、微步、青藤、长亭、安全狗等公司。成员能力涉及安全运营、威胁情报、攻防对抗、渗透测试、数据安全、安全产品开发等领域,持续分享安全运营和攻防的思考和实践。”


01

分析


某次演练期间,团队内收到了一个钓鱼邮件,管理邮件网关的老哥将样本丢给我进行简单分析,小看一手,发现标题和内容都是相当吸引人去点击浏览的。


邮件中超链接到一个存储桶,点击后下载一个word文档《【共克时艰】2023年企业薪资调整通知.docx》



不得不说,还挺有模有样的。



将文档上传云沙箱 情报平台显示为恶意文件



直接丢到虚拟机上跑,看看有什么行为。

打开此docx文件,会生成两个文在wps的公式编辑器安装目录:


C:\Users\Lotus\AppData\Local\Kingsoft\WPS Office\12.1.0.15355\office6\mui\zh_CN\resource\ksee\EqnEdit.exe


C:\Users\Lotus\AppData\Local\Kingsoft\WPS Office\12.1.0.15355\office6\mui\zh_CN\resource\ksee\symsrv.dll


我们依次看看这两个文件

EqnEdit:EqnEdit文件为公式编辑器组件 



通过MD5对比,发现原来的EqnEdit被替换了(图标也变了)



另外一个symsrv.dll已经被标识为恶意,甚至有你懂得图标



之后EqnEdit.exe会加载symsrv.dll,通过白加黑的利用方式对

xxxxx.oss-cn-shenzhen.aliyuncs.com这个域名进行DNS查询,与xxx.xx.166.31和xxx.xx.165.230建立网络连接,执行后续的恶意操作。




这几个ip、存储桶链接丢到情报中心分析一波,均标识为恶意



通过EDR检测出来Office进程释放可执行文件/脚本



docx文件实际上是一个压缩文件,其中包含了多个XML和其他相关文件,解压后我们得到一个文件夹。



文件目录作用如下:

_rels文件夹:包含文档相关的关系文件,这个文件记录了文档中各个部分之间的关联关系docProps文件夹:包含了文档的属性信息,这些信息描述了文档的元数据,如标题、作者、创建日期等core.xml:包含文档的核心元数据,比如作者、标题、主题等。app.xml:包含应用程序级别的属性,比如应用程序名称、版本等。Word文件夹:包含了文档的主要内容document.xml:这是最主要的XML文件,包含了文档的实际内容,如段落、文字、样式等styles.xml:这个文件定义了文档中使用的样式,如字体、颜色、段落格式等。settings.xml:这个文件包含了文档的各种设置,如页面大小、页边距、缩放比例等。webExtensions.xml:它用于定义Word文档中的Web扩展(Web Extensions)相关的设置和功能。Web扩展是一种允许在Word中添加自定义功能和交互的技术。在这个文件中能找到一些与Web扩展相关的信息,比如扩展的名称、描述、图标、脚本等。theme文件夹:这个文件夹包含了文档的主题信息,如颜色、字体等。[Content_Types].xml:这个XML文件定义了文档中包含的不同类型的文件,如XML文件、图像文件等。


这里我们重点关注两个xml文件,第一个是webExtensions.xml,包含着攻击者远程下载文件的路径。Word的Web扩展是一种技术,它允许开发者在Word中添加自定义的功能和交互;



另外一个是docProps文件夹下的core.xml,如前文所说,这里包含文档的作者、创建时间等信息。能看到作者是个A开头的用户,这里是个伏笔我们后文会说到。



至此,已经完成对钓鱼文件的简单分析。这个时候就需要兵分两路,一方面回过头来快速应急;另一方面继续对样本深入地分析、溯源。


应急阶段:

这一步了解到先前已排查公司全网,此钓鱼邮件投递的范围仅一封。且用户没有点开邮件并且及时上报。与此同时,情报的同事也传来了最新的IOC信息。

接着做的应急内容大概如下:



值得一提的是,这个时候的最新情报显示该钓鱼邮件主要利用WPS 0day漏洞,主要受影响为wps个人版的12.1.0.15355以下版本。好消息是我司除个别终端,大部分均已经替换至wps企业版。后续应急重点也是针对企业内部的个人版用户开展。根据不断冒出的最新情报信息做应急加固,并验证加固策略生效。


不得不说,这一点确实运气好,分析样本的虚拟机中办公工具装的是wps个人版,且在受影响范围内,能对这个钓鱼样本有一个比较整体的分析判断。与此同时,溯源的师傅也传来消息,通过上文core.xml中包含的作者信息,已经抓到了作者的博客、微博等信息,为某大厂攻击队相关人员,很可能就是此次钓鱼的攻击者。





说说这次0day漏洞的主要原理:在docx文档中嵌入一个wps web扩展,当使用wps去打开文档的时候会去请求里面的链接。由于WPS内部的浏览器存在漏洞,会调用系统的api实现特定路径的文件下载和执行,导致RCE利用。


后续Sou1rain师傅对这一漏洞进行了更深入的分析,本次漏洞主要利用点是通过白名单匹配项访问域名,通过浏览器对象览器对象 WebShape白名单就能调用`KxWebExtensionView::delayShowWebView(this)`函数,在无任何提示的情况下创建访问链接,实现0click。


这里的白名单利用的是

WPS Office\version\office6\addons\kwebextensionlist\config.ini

文件中trustedDomains键的键值结尾的域名,即以 wps.cn 或 wpscdn.cn 结尾的域名可实现直接访问。

样本中正是以`education-web.docer.wps.cn`结尾。同时也提到了一个之前没有注意到的点,就是word文档中会有一个小图标,如下图:



这是以GitHub 上公开的项目 ba0gu0/wps-rce 中对 PoC_docx 的构造可知该图片来源于 `PoC_docx\word\media\image.png`


通过修改 `PoC_docx\word\_rels\document.xml.rels `文件和 `PoC_docx\word\document.xml `文件把 image 图片和 webExtension1.xml 文件绑定起来,构造成浏览器对象 WebShape,拉起 WPS web 组件,才有后续的任意网页访问。


02

修复

修复手段:

• 将WPS升级到最新版本

防护手段:

• 不要随意点开任何不明来源的文件、链接

• 不要随意点不明来源来源的邮件中附带的url、带url超级链接或图片

若不慎点击,需立即断开网络,与IT人员联系协助处理



03

小结


这次的0day漏洞出现的时候官网尚未修复,属于在野利用状态,配合钓鱼场景利用危害极大。不难发现近几年针对国产化的流行软件漏洞愈加频繁,这一趋势表明随着国内软件的普及和使用率上升,国内软件也会逐渐成为安全防守和对抗的主战场。

本文以蓝队安全运营人员角度,简单的分析了一起真实的钓鱼邮件的整个生命周期,以及背后利用到漏洞。希望本文能起到抛砖引玉的作用,欢迎各位师傅们指点交流,不胜感激。


04

参考链接

[1]https://cloud.tencent.com/developer/article/2350916?areaId=106001










A9 Team
A9 Team 甲方攻防团队,成员来自某证券、微步、青藤、长亭、安全狗等公司。成员能力涉及安全运营、威胁情报、攻防对抗、渗透测试、数据安全、安全产品开发等领域,持续分享安全运营和攻防的思考和实践,期望和朋友们共同进步,守望相助,合作共赢。
 最新文章