首页
社区
课程
招聘
[翻译]CVE-2018–8412: Office 2016 for Mac通过旧版程序包进行权限升级
发表于: 2018-9-11 22:17 5721

[翻译]CVE-2018–8412: Office 2016 for Mac通过旧版程序包进行权限升级

2018-9-11 22:17
5721

补丁已发布,请将您的MAU (Microsoft AutoUpdate)升级到18081201

img

微软自动更新助手 (Microsoft Autoupdate Helper) 3.18(180410) + 旧版不安全SilverLight安装包权限升级漏洞(EoP)

此问题波及Microsoft Office for Mac 2016和SkypeForBusiness(16.17.0.65)

本报告涵盖两个主要缺陷:

/Library/PrivilegedHelperTools/com.microsoft.autoupdate.helper 中有一个 XPC服务com.microsoft.autoupdate.helper

(XPC是OSX下的一种跨进程通信技术。 它定义了两个运行进程可以相互通信的方式。)

它基于NSXPCConnection,仅导出以下两个XPC接口:

仅允许白名单上的有效Microsoft签名二进制文件通过:

以下是两种可能的绕过方式。

首先, 它使用pid(进程ID), 这是不可信任的, 因为 exec* 函数可以将本身进程替换成另一个, 同时保持pid不变。详细内容请见 MacOS/iOS用户空间权利指派检查非常宽松 and 别信任进程ID!

实际上这种方式是不可行的。 当调用者尝试替换自身时,将调用失效处理程序,这会导致[MAUHelperTool shouldExit]方法返回true。

然后主事件循环将终止该进程。 所以这是不可行的。
但另一种方法是使用DYLD_ * 环境变量生成一个有效的进程,以启用动态代码注入。
由于以下文件不受保护,因此可以滥用它们来绕过签名检查。

/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft AutoUpdate

/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/Microsoft AU Daemon.app/Contents/MacOS/Microsoft AU Daemon

可以使用下面任一方法来保护这些二进制文件:

所以现在我可以与XPC通信。

弄乱log(日志)是没用的。 - [MAUHelperTool installUpdateWithPackage:withXMLPath:withReply:]接受来自XPC客户端的路径并安装它。 但它会锁定程序包并在包上执行数字签名验证!

我无法绕过pkg文件上的签名验证,这个问题似乎无法解决。
我做出了决定:不要绕过。

在检查了一些有效的包之后,我找到了旧版的SilverLight的安装包:dd2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2E0K9h3y4J5L8%4y4G2k6Y4c8Q4x3X3g2U0L8$3#2Q4x3V1k6Y4k6i4c8K6K9h3I4$3k6i4u0D9K9h3N6Z5N6q4)9J5c8V1N6W2N6q4)9J5k6q4y4@1j5i4u0@1k6h3c8Q4x3V1k6u0L8Y4y4@1j5h3I4D9i4K6u0r3c8r3g2X3j5i4g2D9N6l9`.`.

这个安装包当然是被信任的:

post-install脚本引起了我的注意。

设置全局写入权限:

有意思的命令:

(在之前的chmod命令后,它是可写入的)

所以它们起到什么作用呢?

rundylib, 就如它名字所示

那么PlayReadyGetIBXVersionTool呢?

它在特权进程中从“Cache”加载并执行共享库,只是为了获得版本信息。

/Library/Internet Plug-Ins/Silverlight.plugin/Contents/MacOS/SLMSPRBootstrap.dylib/Library/Application Support/Microsoft/PlayReady/Cache 均可由非特权用户写入。但前者需要条件竞争,我更喜欢稳定的漏洞。

因此,这个漏洞利用非常简单。

演示 (注意此为Youtube视频,考虑翻墙观看):

af8K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6&6L8%4g2@1N6g2)9J5k6h3u0W2i4K6u0r3c8h3#2h3L8f1I4#2h3o6k6f1f1K6b7`.

原文链接:088K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0k6h3c8A6N6h3#2Q4x3X3g2U0L8$3#2Q4x3V1j5H3P5r3y4U0i4K6u0r3j5%4k6W2i4K6u0V1x3U0l9I4z5q4)9J5k6o6R3@1x3e0u0Q4x3X3c8E0M7#2)9J5k6r3!0X3k6X3W2U0k6g2)9J5k6o6t1H3x3e0k6Q4x3X3c8X3L8%4u0Q4x3X3c8E0j5h3y4Q4x3X3c8H3M7X3W2$3K9h3I4W2k6$3g2Q4x3X3c8W2M7$3y4S2L8r3q4@1K9h3!0F1i4K6u0V1N6X3W2S2i4K6u0V1j5g2)9J5k6r3I4W2k6$3q4U0P5g2)9J5k6s2m8S2j5$3E0S2k6$3g2Q4x3X3b7%4k6X3y4U0k6r3u0X3y4K6q4V1z5h3t1`.

翻译: 看雪翻译小组 一壶葱茜

校对: 看雪翻译小组 Nxe# hello

 
 
 

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2018-9-11 23:49 被一壶葱茜编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回