新的研究结果表明,攻击者可以利用一种隐匿的恶意软件检测规避技术,并通过操纵 Windows 容器隔离框架来绕过端点安全的解决方案。
Deep Instinct安全研究员丹尼尔-阿维诺姆(Daniel Avinoam)在本月初举行的DEF CON安全大会上公布了这一发现。
Microsoft的容器体系结构(以及扩展的 Windows 沙盒)使用所谓的动态生成的映像将文件系统从每个容器分离到主机,同时避免重复系统文件。
Avinoam一份报告中说:它只不过是一个“操作系统映像,其中包含可以更改的文件的干净副本,但链接到主机上已存在的Windows映像中无法更改的文件”,从而降低了完整操作系统的整体大小。结果就是包含'幽灵文件'的图像,它们不存储实际数据,但指向系统上的不同目录。
正因为如此,我突然想到,如果我们可以使用这种重定向机制来混淆我们的文件系统操作并混淆安全产品,那会怎样?
这就提到了 Windows 容器隔离 FS (wcifs.sys) 过滤器驱动程序的作用。该驱动程序的主要目的就是处理 Windows 容器与其主机之间的文件系统隔离。
换句话说,我们的想法是让当前进程在一个人造容器内运行,并利用迷你过滤器驱动程序来处理 I/O 请求,这样它就可以在文件系统上创建、读取、写入和删除文件,而不会向安全软件发出警报。
值得一提是,在此阶段,迷你过滤器通过向过滤器管理器注册它选择过滤的 I/O 操作,间接地连接到文件系统栈。每个迷你过滤器都会根据过滤器要求和负载顺序组分配一个微软指定的 "整数 "高度值。
wcifs 驱动程序的高度范围为 180000-189999(特别是 189900),而反病毒过滤器(包括第三方的反病毒过滤器)的高度范围为 320000-329999。因此,可以在不触发回调的情况下执行各种文件操作。
Avinoam解释说:因为我们可以使用IO_REPARSE_TAG_WCI_1重新解析标签覆盖文件,而无需检测防病毒驱动程序,所以它们的检测算法不会接收整个图片,因此不会触发。
尽管如此,实施这种攻击需要有管理权限才能与 wcifs 驱动程序通信,而且不能用它来覆盖主机系统上的文件。
在披露这一消息的同时,网络安全公司还展示了一种名为 "NoFilter "的隐蔽技术,该技术可滥用 Windows 过滤平台(WFP)将用户权限提升至 SYSTEM,并可能执行恶意代码。
这些攻击允许使用 WFP 复制另一个进程的访问令牌,触发 IPSec 连接,利用打印线轴服务将 SYSTEM 令牌插入表中,并有可能获得登录到被入侵系统的另一个用户的令牌,以进行横向移动。