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

相关推荐

  • vue组件值变化但不刷新问题怎么解决

    今天分享文章“vue组件值变化但不刷新问题怎么解决”,主要从:组件值变化但不刷新强制组件刷新、bug复现、解决等几个方面为大家介绍,希望能帮到您。 组件值变化但不刷新强制组件刷新 在调用组件的时候,如果数据中只是某个属性变化(比如id)变化,在vue开发工具中看到变量值变化,但是组件上的数据就是不刷…

    2022年6月29日
    2.1K00
  • 升级服务器什么意思

    升级服务器通常意味着1、提高硬件性能、2、更新软件和操作系统、3、扩展存储容量、4、增强安全功能。提高硬件性能包括增加处理器的核心数、频率或升级到更高效的型号,以便应对增长的数据处理需求。此外,增加内存可以显著提升多任务处理和大型应用程序的运行效率。提升内存通常是应对性能瓶颈的首要解决方案,因为它直…

    2024年4月23日
    4600
  • cad快速看图标注看不见怎么解决

    cad快速看图标注看不见解决方法: 1.把图纸上传到快看云盘,然后从云盘列表里打开这个图,点左侧的【同步标注】,名列前茅次使用云盘的请先登录账号、创建项目; 2.提示同步成功后,点云盘右上角的【成员】按钮,把对方的CAD快速看图账号添加为成员; 3.添加完成后,再点图纸左侧功能里的【成员协作】&#8…

    2022年9月1日
    1.2K00
  • Redis怎么实现保存对象

    redis保存对象 redis数据结构 String——字符串 Hash——字典 List——列表 Set——集合 Sorted Set——有序集合 redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredis…

    2022年9月2日
    64800
  • word页码如何设置

    word设置页码的方法: 1、首先,打开你的Word文档,进入主页面。 2、将鼠标放在页脚下面,双击进入编辑状态, 此时的页眉和页脚都可以编辑,但是正文内容是变成了灰色。 3、然后在“页眉和页脚工具”设计选项卡下,选择“页码—>页面底端—>普通数字2”。 在这里普通数字1、2、3的三种页…

    2022年9月20日
    54100
  • php如何将数据强转为字符串类型

    两种转换方法:1、在数据之前加上用括号括起来的目标类型“(string)”,语法“(string)指定数据”。2、使用强制类型转换函数strval()或settype(),语法“strval(指定数据)”或“settype(指定数据2,”string”)”。 本教程操作环境:…

    2022年9月26日
    1.7K00
  • 刀塔用什么服务器

    DOTA 2, commonly known as 刀塔 in Chinese, operates using a pool of dedicated servers provided by Valve, its developer, and are hosted in various region…

    2024年4月23日
    4300
  • jquery如何获取元素有几个子元素

    在jquery中,可以利用children()方法配合length属性来获取元素有几个子元素;children()方法可以返回被选元素的所有子元素,length属性可以获取包含jquery对象中元素的数目,语法为“$(指定元素).children().length;”。 本文操作环境:windows…

    2022年9月10日
    1.2K00
  • html是不是静态页面

    html是静态页面;html表示结构,css表示样式,由HTML与CSS制作的页面叫做静态页面,动态页面指的是动态数据的页面,而非模拟数据的页面,html网页当中的数据均为静态数据,当前端页面与后台整合之后,网页当中的数据是来源于数据库时,则称为动态页面。 本教程操作环境:windows10系统、H…

    2022年9月8日
    73400
  • 如何优化PHP和Laravel以提高Web应用的性能

    四种类型的优化 在我看来,优化可以在四个不同的层面上进行(当涉及到PHP应用时,就是): 语言层面:这意味着你使用更快的语言版本,并避免语言中特定的功能/编码风格,使你的代码速度变慢。 框架层面:这些是我们在本文中要涉及的内容。 基础设施层面:调整你的 PHP 进程管理器、Web 服务器、数据库等。…

    2022年9月26日
    80200
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

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

分享本页
返回顶部