devenv.exe中发生未处理的microsoft_漏洞分析|Office中XLM宏格式漏洞绕过安全保护分析...

ddf1244cd4686002f795b1230d834498.png

事件背景

    近日,有安全研究员发现在Excel 4.0及以下版本中,Office有一种XLM宏格式,这种类型的宏已被Visual Basic forApplications(VBA)宏替代。但是,所有Microsoft Office版本仍支持XLM宏,并且可以将其添加到SYLK文件中。SYMBolic LinK(SYLK)是1980年代微软的一种文件格式,主要用于在应用程序(尤其是电子表格)之间交换数据。

    在SYLK文件中展示XLM宏会出现一个很大的问题,因为Microsoft Office的受保护的文件不能打开此文件格式。保护措施是用来保护Office用户免受恶意代码的攻击的,但是SYLK文件不受该功能的约束。卡内基梅隆大学的CERT协调中心(CERT / CC)的Will Dormann表示:“用户只需单击一下鼠标,就可以通过公网传播的文档来执行任意操作。”

7a87ff3543b93d8b5a61720685c04321.png

漏洞分析

    使用XLM宏打开SYLK文件时,Mac版Office2011不会警告用户。Mac版Office 2016和2019警告要在SYLK文件中执行XLM宏。但是,当用户在设置中选择“禁用所有宏而不通知”选项时,将自动执行SYLK文件中的XLM宏,而不会警告用户。

    如果Mac用户在Office 2016或2019的设置中选择了“禁用所有宏而无需通知”,当打开SYLK文件(.SLK)时,攻击者可以执行具有登录用户权限的任意代码。

    另一个选项是启用“禁用所有带通知的宏”选项。根据Dormann的说法,此选项比不通知用户的选项安全性低,但在这种情况下,对于Mac用户,如果Microsoft未发布安全更新,则是更好的选择。

72036ecf4eafe8fe175cd9e55f939910.png

扩展名为.slk的SYLK文件具有以下特征:

1.SYLK不在MS Outlook阻止的附件列表中。

2.SYLK不包括在默认OWA阻止的扩展列表中。

3.Chrome浏览器的安全浏览文件类型列表中未将SYLK标记为危险

    使用lsregister命令:lsregister –dump

    可以看到哪个应用程序为该文件类型的默认处理程序。(lsregister命令位于/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/)

    在MacOS中我们可以看到Microsoft Excel已经被设置为SYLK文件的默认处理程序。

8434614f39783e202f953884d7c98bc1.png

    从Excel的Info.plist文件中我们可以看到,在CFBundleDocumentTypes列表中,Excel支持“ Microsoft Excel SLK File(.slk)”格式,因此macOS将其注册为.slk文件的默认句柄。所以,每当用户双击SYLK文件(.slk)时,macOS都会默认启动MicrosoftExcel来打开它。

9377cbf1e2b245537193d323683f7959.png

    这样我们就可以制作一个恶意文档,这个恶意文档使用XLM宏启动Calculator.app。

POC如下:

ID;PO;ENN;NAuto_open;ER101C1;KOutFlank;FC;X1;Y101;K0;ECALL("libc.dylib","system","JC","open-a Calculator")C;X1;Y102;K0;EHALT()E

    这个POC只需调用CALL("libc.dylib","system","JC","open-a Calculator")即可启动Calculator.app(通过open命令,通过在system找到的命令libc.dylib)。

    把这个POC另存为PoC.slk,我们注意到macOS为它分配了一个图标,说明Excel确实是启动slk文件的默认程序。我们打开这个文件可以看到他启动了Calculator.app

9c630f3bcdaf842b85d3a7642ff2377e.png

简而言之,即使设置了“禁用所有宏而无需通知”,打开恶意制作的Excel也可能导致自动且不会有任何提示的执行嵌入式宏。

漏洞危害

中危

影响版本

Mac版本的Office 2011、2016、2019

安全建议

(1)设置为:“禁用所有带通知的宏”,可以缓解此漏洞。

(2)由于应用程序沙箱和macOS Catalina中最新的安全性增强,此漏洞的影响目前很小。

(3)减少这类攻击的最佳方法是完全拦截MS Office中的SYLK文件,这可以通过MS Office信任中心设置中的File Block设置来完成。

参考信息

https://www.patreon.com/posts/31418067

https://objective-see.com/blog/blog_0x50.html

https://www.security.nl/posting/629816/Office+voor+Mac+kan+XLM-macro%27s+niet+goed+uitschakelen

70431e0318ab07c1f020ef5e4a9ba3db.png

如需帮助请咨询 hscert@hillstonenet.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值