使用DDL注入绕过Windows 10受控文件夹访问保护

栏目: 数据库 · 发布时间: 7年前

内容简介:在Windows 10中,微软新增了一项名为“受控文件夹访问”的功能,该功能可用于防止未知程序修改受保护文件夹中的文件。而在上周举行的DerbyCon安全会议上,一位安全研究人员则向大家展示了一种利用DLL注入来绕过受控文件夹访问保护的方法。

使用DDL注入绕过Windows 10受控文件夹访问保护

在Windows 10中,微软新增了一项名为“受控文件夹访问”的功能,该功能可用于防止未知程序修改受保护文件夹中的文件。

而在上周举行的DerbyCon安全会议上,一位安全研究人员则向大家展示了一种利用DLL注入来绕过受控文件夹访问保护的方法。

使用DLL注入绕过受控文件夹访问保护

受控文件夹访问 功能启用后,将会监视应用程序对受保护的某些文件夹中的文件所做的任何更改行为,并且只允许被列入白名单的应用程序修改这些文件。白名单应用程序可以是你指定的应用程序,也可以是微软默认列入白名单的应用程序。

在得知explorer.exe默认为受控文件夹访问白名单程序后,富士通系统集成实验室的安全研究员Soya Aoyama想出了一种,在启动时将恶意DLL注入资源管理器的方法。由于资源管理器已列入白名单,因此在注入DLL时它将启动并绕过勒索软件保护功能。

当explorer.exe启动时,它将加载HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers注册表项下找到的DLL。‘

使用DDL注入绕过Windows 10受控文件夹访问保护

HKEY_CLASSES_ROOT树是HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER中的注册表信息的合集。执行合并时,Windows会以HKCU树中的数据为优先级。

这意味着如果HKCU中存在密钥,它将优先于HKLM中的相同密钥,并且合并到HKEY_CLASSES_ROOT树中的数据。如果这里你感到有点疑惑,那么你可以 阅读本文档 以获取更多信息。

默认情况下,当资源管理器启动时它会从HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32键加载 Shell 32.dll。要将恶意DLL加载到explorer.exe中,Aoyama只需创建一个HKCU\Software\Classes\CLSID\{90AA3A4E-1CBA-4233-B8BB-535773D48449}\InProcServer32 键,并将其默认值设置为恶意DLL即可。

现在,当Explorer.exe进程被杀死并重启时,恶意DLL将被执行而不是Shell32.dll。以下是DLL注入到explorer.exe中的示例:

使用DDL注入绕过Windows 10受控文件夹访问保护

这不仅绕过了受控文件夹访问保护,而且连Windows Defender也没有检测到该恶意行为。根据Aoyama的测试结果,不仅仅是Windows Defender,包括一些主流的防护软件Avast,ESET,Malwarebytes Premium和McAfee都没有检测到该恶意行为。

有关更多详细信息以及Aoyama在DerbyCon上的演讲和演示内容,请观看下面的视频:

MSRC回应

Aoyama表示在他发表该演讲之前,已向微软安全应急响应中心负责任的披露了该漏洞,并包含了可用于绕过受控文件夹访问保护的POC。

使用DDL注入绕过Windows 10受控文件夹访问保护

不过,遗憾的是微软方面并不认为这是一个符合漏洞奖赏计划或需要补丁的漏洞。

微软在对Aoyama的回复中表示:”如果我没理解错的话,执行该攻击的前提是攻击者已经登录到了目标账户,然后通过注册表植入恶意DLL。由于你只能写入HKCU,因此无法影响其他用户,最重要的是执行该攻击的前提是已经获取目标系统的相应账户权限。另外,似乎也没有权限提升方面的漏洞,因此我们并不认为这是一个实际存在的漏洞。”

使用DDL注入绕过Windows 10受控文件夹访问保护

但实际情况是,勒索软件并不需要提权来加密受害者的计算机。恶意软件开发人员可以使用其他漏洞或方法来执行vssadmin。这样做可以在没有管理权限的情况下安装恶意软件,并且仍可绕过受控文件夹访问保护功能。

*参考来源: bleepingcomputer FB小编secist编译,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法:C语言实现

算法:C语言实现

塞奇威克 / 霍红卫 / 机械工业出版社 / 2009-10 / 79.00元

《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》细腻讲解计算机算法的C语言实现。全书分为四部分,共16章。包括基本算法分析原理,基本数据结构、抽象数据结构、递归和树等数据结构知识,选择排序、插入排序、冒泡排序、希尔排序、快速排序方法、归并和归并排序方法、优先队列与堆排序方法、基数排序方法以及特殊用途的排序方法,并比较了各种排序方法的性能特征,在进一步讲解符号表、树等......一起来看看 《算法:C语言实现》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换