最近的网络安全观察中发现,恶意行为者可以利用偷偷摸摸的恶意软件检测规避技术,并通过操纵 Windows 容器隔离框架来绕过终端安全解决方案。安全研究人员在本月早些时候举行的DEFCON 安全会议上介绍了这一发现。
微软的容器架构(以及扩展的Windows Sandbox)使用所谓的动态生成的映像将文件系统从每个容器到主机分开,同时避免系统文件的重复。
它只不过是一个操作系统映像,其中包含可以更改的文件的干净副本,但链接到主机上已存在的 Windows 映像中的无法更改的文件,从而缩小了完整操作系统的整体大小。
结果是包含‘幽灵文件’的图像,这些文件不存储实际数据,而是指向系统上的不同卷。正是在这一点上,我突然想到了这个想法,如果我们可以使用这种重定向机制来混淆我们的文件系统操作并混淆安全产品呢?
这就是 Windows 容器隔离 FS (wcifs.sys) 微筛选器驱动程序发挥作用的地方。该驱动程序的主要目的是处理 Windows 容器与其主机之间的文件系统分离。
驱动程序通过解析其附加的重解析点和关联的重解析标签来处理幻影文件重定向,这些重解析标记唯一地标识所有者,即在 I/O 操作期间对文件执行附加过滤器定义的处理的文件系统过滤器驱动程序的实现者。
根据中国网络安全行业门户极牛网(GeekNB.com)的梳理,Windows 容器隔离过滤器使用的两个此类重解析标记数据结构是 IO_REPARSE_TAG_WCI_1 和 IO_REPARSE_TAG_WCI_LINK_1。
简而言之,这个想法是让当前进程在构造的容器内运行,并利用微过滤器驱动程序来处理 I/O 请求,以便它可以在文件系统上创建、读取、写入和删除文件,而无需通知安全软件。
在此阶段值得指出的是,微过滤器通过向过滤器管理器注册它选择过滤的 I/O 操作来间接附加到文件系统堆栈。每个微过滤器都会根据过滤器要求和加载顺序组分配一个 Microsoft 分配的“整数”高度值。
wcifs.sys 驱动程序占用的海拔范围较低,为 180000-189999(特别是 189900),而防病毒过滤器(包括来自第三方的过滤器)则在 320000-329999 的海拔范围内运行。因此,可以执行各种文件操作,而无需触发其回调。
因为我们可以使用 IO_REPARSE_TAG_WCI_1 重新解析标记覆盖文件,而无需检测防病毒驱动程序,因此它们的检测算法不会接收整个情况,因此不会触发。
尽管如此,发起攻击需要管理权限才能与 wcifs.sys 驱动程序进行通信,并且它不能用于覆盖主机系统上的文件。
该信息披露之际,这家网络安全公司展示了一种名为NoFilter的隐秘技术,该技术滥用 Windows 过滤平台 (WFP) 将用户权限提升至 SYSTEM 权限,并可能执行恶意代码。
这些攻击允许使用 WFP 复制另一个进程的访问令牌、触发 IPSec 连接并利用 Print Spooler 服务将 SYSTEM 令牌插入表中,并能够获取登录到受感染系统的另一个用户的令牌用于横向运动。
极牛网精选文章《可利用Windows容器隔离框架绕过对恶意软件的终端安全检测》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/25382.html