SandboxEscaper披露漏洞POC研究报告是什么

事件概述

近日,安全研究人员SandboxEscaper在GitHub上发布了针对Windows 10的5个零日漏洞的演示利用代码。

代码分别是:

Windows错误报告

Windows任务计划

Windows安装程序

IE11沙箱逃离

Windows AppX部署服务

其中除一、五俩个零日漏洞外,其他三个都是在2018年就已爆出。

漏洞详情

Windows错误报告零日

1. 利用条件:

可以通过精心放置的DACL(自主访问控制列表)操作来利用:

当我们触发报告队列任务时,WER服务将尝试删除两个文件。它会为这两个文件写一个DACL,以确保SYSTEM对它们进行“删除”。这种方式的工作方式分为两步:

a. 调用GetFileSecurity并获取安全描述

b. 向安全描述符添加了一些内容,因此具有SYSTEM删除权限,然后使用SetFileSecurity将其写回文件

它还关闭两个函数调用之间的文件句柄,这意味着如果在两个函数调用之间我们生成一个硬链接,它将首先从正常文件获取安全描述符,用户可以写入该文件。

然后,它将复制这些权限,并将此安全描述符应用于指向完全不同文件的硬链接。

成功的运行将如下所示:

SandboxEscaper披露漏洞POC研究报告是什么

您可以在QuerySecurityFile之后和SetSecurityFile之前看到正在创建的硬链接。可以使用IDA查看(wer.dll)并确认。很明显遭受攻击的功能是:UtilAddAccessToPath

2. 重现步骤:

a. 将AngryPolarBearBug.exe和report.wer复制到同一文件夹中

b. 运行AngryPolarBearBug.exe

此漏洞由于触发条件难以把控导致成功几率较低(触发错误可能需要15分钟,如果花了太长时间,需要关闭程序,清理缓存数据文件夹),并且早些时候已被修复。

Windows任务计划零日

1. 利用条件

Windows10有两个tasks文件夹:

a. C: Windowstasks

b. C:WindowsSYSTEM32tasks

名列前茅个是由于历史遗留问题保留使用。第二个被win10任务调度程序使用。在过去(即windows xp),任务 “.job”文件格式将放在”c: windows tasks”中。

如果在Windows 10上要将.job文件导入任务计划程序,则必须将旧的“.job“文件先复制到”c: windowstasks”中,并使用从旧系统复制的schtasks.exe和schedsvc.dll运行以下命令:

schtasks /change /TN”taskname” /RU username /RP password”

这将导致调用RPC“_SchRpcRegisterTask”,它由任务调度程序服务公开。触发这个错误,可以直接调用这个函数,而不是必须要从windows xp复制schtasks.exe。

它首先在当前用户权限下运行,但是当它遇到以下功能时:

int __stdcalltsched :: SetJobFileSecurityByName(LPCWSTRStringSecurityDescriptor,const unsigned __int16 *,int,const unsigned __int16 *)

它开始在NT AUTHORITY SYSTEM权限下运行

然后在c: windowssystem32tasks中创建的任务上调用SetSecurityInfo:

SandboxEscaper披露漏洞POC研究报告是什么2. 重现步骤

a. 将polarbear.exe,bear.job,schtasks.exe,schtasks.dll从“poc files”文件夹复制到测试VM

b. 运行polarbear.exe,传递本地非管理员帐户的用户名和密码。

要触发此漏洞首先需要拥有正确的用户名及密码。但是,这并非什么难事,有很多黑客工具可以做到这点.

Windows安装程序零日

1. 利用条件

在修复安装Windows程序时,如果可以劫持该进程以将文件写入Windows操作系统的未授权区域,则会有很短的时间间隔(竞争条件)。

这个msiexec / fa(修复安装)操作的漏洞可用于植入恶意软件并接管黑客最初只能访问低权限帐户的计算机。

2. 重现步骤

a. 运行polarbear.exe (确保 test.rbf 和 test.rbs 在同一目录下)

b. 打开命令行安装.MSI安装程序 必须是 c:windowsinsatller 目录下的,例如命令:”msiexec/fa c:windowsinstaller123123213.msi”

此漏洞复现也存在运气成分,需要安装时竞争条件恰到好处的触发,同时快速点击返回按钮。

IE11沙盒逃离零日

1. 利用条件

整个执行流程较为简单,通过com组件与ie通信执行硬编码”<html><body><script>alert(‘wtf’);</script></body></html>”, 执行在此之前需要将target.link写入到windows自带的“%USERPROFILE%Favorites“目录下

2. 重现步骤

a. InjectDll.exe PID TestDll.dll

此漏洞关键首先得成功获取IE11进程句柄并成功注入目标模块,从而执行恶意代码。显然这个零日不可被远程利用,应被视为影响较小的问题。

Windows AppX部署服务零日

1. 利用条件

这是Windows AppX部署服务(AppXSVC)不正确处理硬链接的方式中的一个错误。来自于CVE-2019-0841,

利用漏洞首先检查目标文件是否存在,如果存在,它将检查其权限。由于我们使用Microsoft Edge进行此攻击,因此它将终止Microsoft Edge以访问settings.dat文件。

在Microsoft Edge被杀后,它将检查“setting.dat”文件并将其删除,以便创建指向所请求的目标文件的硬链接。一旦创建了硬链接,Microsoft Edge再次启动以触发漏洞。最后检查是否确实为当前用户设置了“完全控制”权限。

2019.4月份微软推送补丁修复,但是仍可被利用。

2. 重现步骤

a. 运行polarbear.exe

b. 运行windowsappslpe.exe

此漏洞绕过微软修复的CVE-2019-0841补丁。通过提前创建硬链接而后执行漏洞补丁之前EXP进行攻击。

Windows AppX漏洞复现及详细原理剖析

我们现在直接运行可执行文件polarbear.exe并对其利用原理进行剖析:

a. 目的是在系统数据目录“%LOCALAPPDATA%”创建指定子目录\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\Microsoft.MicrosoftEdge_44.17763.1.0_neutral__8wekyb3d8bbwe

以供攻击利用

SandboxEscaper披露漏洞POC研究报告是什么

成功执行:

SandboxEscaper披露漏洞POC研究报告是什么

b. 使用NtOpenFile以对象属性为OBJ_CASE_INSENSITIVE打开文件

SandboxEscaper披露漏洞POC研究报告是什么

c. 使用ZwSetInformationFile设置文件属性需要将FILE_LINK_INFORMATION结构体ReplaceIfExists字段设置为TRUE并将 FILE_INFORMATION_CLASS传递值为FileLinkInformation

SandboxEscaper披露漏洞POC研究报告是什么

d. 最终调用已封装好的函数CreateNativeHardlink,好的传递需要创建的硬链接文件 L”\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\Microsoft.MicrosoftEdge_44.17763.1.0_neutral__8wekyb3d8bbwe\bear3.txt”以及

需要修改权限的文件”C:\Windows\win.ini”

SandboxEscaper披露漏洞POC研究报告是什么

此时我们便可以看到创建硬链接成功:

SandboxEscaper披露漏洞POC研究报告是什么

至此,整个绕过补丁的利用环境已构建完毕。 但我们仍需使用CVE-2019-0841来达到本地提权的攻击效果。

此漏洞主要围绕着DCAL引发的事件,简单地来说,如果Windows对象没有自主访问控制列表(DACL),则系统允许每个人完全访问它。如果对象具有DACL,则系统仅允许DACL中的访问控制条目(ACE)明确允许的访问。

让我们关注“settings.dat” 这是Microsoft Edge 的文件,也是此漏洞利用过程起到关键作用的文件,所有WindowsApps用户配置文件都存储在当前用户的AppData文件夹下:

SandboxEscaper披露漏洞POC研究报告是什么

Windows 10已经安装了许多默认应用程序,每个包都有一个settings.dat文件,如前所述。

NT AUTHORITYSYSTEM使用此文件来写入任何配置更改。启动Windows应用程序后,系统会使用OpLock操作(独占锁定)来阻止其他进程在应用程序运行时使用/访问该文件。

在我们启动Microsoft Edge的情况下,settings.dat文件会被进程以NT AUTHORITYSYSTEM打开,可以在下面的屏幕截图中看到:

SandboxEscaper披露漏洞POC研究报告是什么SandboxEscaper披露漏洞POC研究报告是什么

打开后,将按以下方式执行一些基本完整性检查:

a. 检查文件权限,如果文件权限不正确,使用正确的文件权限更正

b. 读取文件内容,如果内容已损坏,则删除该文件

c. 通过从“CWindowsSystem32settings.dat”复制设置模板文件来重新配置

d. 继续启动Windows相关应用程序

所以执行POC的程序至少会做到以下三点:

(1) 利用漏洞首先检查目标文件是否存在,如果存在,它将检查其权限。由于我们使用Microsoft Edge进行此攻击,因此它将终止Microsoft Edge以访问该settings.dat文件。

(2) 在Microsoft Edge被杀之后,它将检查“setting.dat”文件并将其删除,以便创建到所请求的目标文件的硬链接(win.ini)

(3) 一旦创建了硬链接,Microsoft Edge再次启动以触发漏洞。最后检查是否确实为当前用户设置了“完全控制”权限。

以下为执行结果示意图:

执行前:

SandboxEscaper披露漏洞POC研究报告是什么

执行后:

SandboxEscaper披露漏洞POC研究报告是什么

漏洞总结及安全建议

通过上述分析我们可以知道,以下是触发漏洞的最基本先决条件:

NT AUTHORITYSYSTEM应对目标文件具有“完全控制权”

低权限用户或Users组应具有“读取/执行”权限

安全建议:

下载并更新Windows系统补丁修复漏洞

不随意运行来历不明的程序

安装知名杀毒软件并保持最新版

感谢你的阅读,相信你对“SandboxEscaper披露漏洞POC研究报告是什么”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注亿速云网站!小编会继续为大家带来更好的文章!

文章标题:SandboxEscaper披露漏洞POC研究报告是什么,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/25378

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云
上一篇 2022年9月15日 下午11:15
下一篇 2022年9月15日 下午11:16

相关推荐

  • 2024年9款优质CRM系统全方位解析

    文章介绍的工具有:纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时,许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说,找到一个既能提高客户关系管理效率,又能适应业务扩展的CRM系统尤为重要…

    2024年7月25日
    1600
  • 数据库权限关系图表是什么

    数据库权限关系图表是一种以图表形式展示数据库权限分配和管理的工具。它可以有效地帮助我们理解和管理数据库中的各种权限关系。数据库权限关系图表主要包含以下几个部分:数据对象、用户(或用户组)、权限类型、权限级别、权限状态等。其中,数据对象是权限关系图表中的核心元素,它代表了数据库中的各种数据资源,如表、…

    2024年7月22日
    200
  • 诚信数据库是什么意思

    诚信数据库是一种收集、存储和管理个人或组织诚信信息的系统。它是一种用于评估和管理个人或组织行为的工具,通常由政府、商业组织或者非营利组织进行运营。诚信数据库的主要功能包括:1、评估个人或组织的诚信状况;2、提供决策支持;3、预防和控制风险;4、促进社会信用体系建设。 在这四大功能中,评估个人或组织的…

    2024年7月22日
    400
  • 数据库期末关系代数是什么

    关系代数是一种对关系进行操作的代数系统,是关系模型的数学基础,主要用于从关系数据库中检索数据。其操作包括选择、投影、并集、差集、笛卡尔积、连接、除法等。其中,选择操作是对关系中的元组进行筛选,只保留满足某一条件的元组;投影操作则是从关系中选择出一部分属性构造一个新的关系。 一、选择操作 选择操作是关…

    2024年7月22日
    700
  • mysql建立数据库用什么命令

    在MySQL中,我们使用"CREATE DATABASE"命令来创建数据库。这是一个非常简单且基础的命令,其语法为:CREATE DATABASE 数据库名。在这个命令中,“CREATE DATABASE”是固定的,而“数据库名”则是你要创建的数据库的名称,可以自己设定。例如,如…

    2024年7月22日
    500
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部