DLL注入可绕过Windows10勒索软件防护功能

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

在上周举行的DerbyCon安全会议上,一位名为Soya Aoyama的安全研究人员展示了勒索软件如何利用DLL注入来绕过“受控文件夹访问”防护功能。

Soya Aoyama在DerbyCon安全会议上的演示

使用DLL注入绕过“受控文件夹访问”

受控文件夹访问”是Windows 10中新推出的一项功能,允许用户保护文件夹及其中的文件,这样只能由列入白名单的应用程序修改它们。白名单应用程序可以是用户指定的应用程序,也可以是Microsoft默认列入白名单的应用程序。

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

Aoyama的设计基于这样的原理:当explorer.exe启动时,它将加载HKEY_CLASSES_ROOT * shellex ContextMenuHandlers注册表项下发现的DLL。

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 key中加载Shell.dll。

要将恶意DLL加载到explorer.exe中,Aoyama只需创建HKCU Software Classes CLSID {90AA3A4E-1CBA-4233-B8BB-535773D48449} InProcServer32key,并将其默认值设置为恶意DLL。

现在,当Explorer.exe被关闭并重新启动时,恶意DLL将在explorer.exe而不是Shell.dll中启动。下面是注入explorer.exe的DLL示例。

不幸的是,这不仅会绕过“受控文件夹访问”功能,而且也会避开Windows Defender的检测。根据Aoyama的测试,这样的方法避开了各大勒索软件安全防护软件、平台如Avast,ESET,MalwarebytesPremium和McAfee的检测。

微软安全相应中心针对此漏洞的回应

Aoyama表示,在此次DerbyCon安全会议上的演示之前,他已经向微软安全响应中心 告了这个漏洞,包含了可用于绕过“受控文件夹访问”的概念验证。

不过,微软公司回应称这并不是需要补丁的漏洞,也不会为此提供赏金。

不幸的是,勒索软件不需要升级特权来加密受害者的计算机而是清除卷影副本,但是恶意软件开发人员可以利用其他的漏洞或方法来执行vssadmin工具(用于创建或删除卷影副本,以及列出卷影副本的信息)。

这样做可以在没有管理权限的情况下安装恶意软件,并且仍然可以绕过”受控文件夹访问“的勒索软件防护功能。对于计算机用户来说,这当然不是一个好消息。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月10日
下一篇 2018年9月10日

相关推荐