OffensiveCon24 Windows设备驱动攻击面分析

admin 2024年6月17日14:27:51评论7 views字数 1127阅读3分45秒阅读模式

该视频展示了 Eric Egsgard 在 OffensiveCon24 的演讲,他介绍了他对 Windows 设备驱动程序的研究以及如何发现本地权限提升漏洞。

视频主要内容:

🔹 介绍和背景

  • Eric 目前在 Field Effect 工作,这是一家提供网络安全解决方案的公司,主要服务于中小型企业。他在公司的工作主要集中在 Windows 内核部分。

  • 他的职业生涯大部分时间都在进行漏洞研究,并且他仍然花时间进行漏洞挖掘。

🔹 Windows 中的沙盒

  • Windows 使用多种类型的沙盒来限制恶意代码的影响,这些沙盒包括 Chrome 和 Edge 使用的渲染沙盒、应用容器隔离以及 Defender Application Guard 等。

  • 沙盒的基本目的是限制在其中运行的代码能做什么,以确保任何恶意代码只能对系统造成有限的影响。这通过只允许沙盒访问系统和操作系统功能的一小部分服务来实现,例如,通常不允许网络访问和只能进行隔离的文件系统访问。

🔹 设备驱动程序的研究

  • 传统的设备驱动程序在内核模式下运行,并通过在设备树中创建条目向用户模式公开功能。驱动程序可以设置访问控制和权限,用户模式应用程序可以像打开文件一样打开这些设备,并向其发送各种类型的系统调用 (syscalls),如读写操作。

  • 设备控制操作 (IOCTL) 是驱动程序与应用程序交换信息的常用方法。当设备控制调用发生时,内核的 IO 管理器会调用驱动程序来处理。

🔹 研究过程

  • Eric 决定首先枚举从不同沙盒可以访问的设备。他编写了一个测试程序,从沙盒内尝试打开系统中的每个设备,看看哪些设备可以成功打开。

  • 他发现一些设备可以访问,最终决定专注于 "multiple UNC provider" (MUP),这是一个内核模式组件,负责将使用 UNC 路径的所有远程文件系统访问引导到网络重定向器。由于可能可以通过这个设备与多个驱动程序进行通信,这为研究提供了丰富的攻击面。

🔹 漏洞利用

  • Eric 发现一个名为 CSC 的驱动程序 (Client-Side Caching) 在处理文件控制请求时,没有对输入缓冲区进行充分检查和验证,这是一个明显的漏洞,可以允许在任意地址写入空值。

  • 他详细描述了利用此漏洞的过程,从识别 IO 控制请求的处理函数,到通过输入缓冲区进行任意写入,最终实现内核内存的任意读写。

🔹 演示

  • 在演示部分,Eric 展示了如何通过发现的漏洞获得内核权限。他编写了一个演示程序,展示了漏洞利用的整个过程,包括信息泄露、内存喷射和最终获取系统权限。

🔹 披露和解决

  • Eric 在 2023 年 12 月向 Microsoft 报告了该漏洞,微软很快确认了该漏洞,并在 2024 年 5 月的更新中修复了此漏洞。

原文始发于微信公众号(3072):OffensiveCon24 Windows设备驱动攻击面分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月17日14:27:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   OffensiveCon24 Windows设备驱动攻击面分析https://cn-sec.com/archives/2848690.html

发表评论

匿名网友 填写信息