Lenovo 诊断驱动程序 EoP - 任意 R/W

admin 2022年11月11日19:06:26评论104 views字数 570阅读1分54秒阅读模式

Lenovo 诊断驱动程序 EoP - 任意 R/W

CVE-2022-3699

Lenovo Diagnostics Driver 的不正确访问控制允许低权限用户发布设备 IOCTL 以任意物理/虚拟内存读取/写入。

感谢 ch3rn0byl 提供的帮助(我完全 100% 撕掉了他的两个函数)。

解释

IOCTL 0x222000:

  • rdmsr

IOCTL 0x222008/0x22200C:

  • HalGet/SetBusData

IOCTL 0x222010:

  • 通过 MmMapIoSpace 读取

IOCTL 0x222014:

  • 通过 MmMapIoSpace 写入

  • IOC 将输入此披露中提供的指针中的值复制到映射的物理内存中

这个怎么准:

为了解决 MmPteBase 和其他先决条件,通过在物理内存范围0x1000 - 0x10000中找到 8 个零字节来物理“交换”空间。

该空间,虚拟内存将通过 IOCTL 0x222014 复制到该交换空间,并使用 IOC 0x22200 读回。

就像现在一样,所有虚拟读取都使用这个“交换”空间完成的。

这是进行虚拟学习的最佳方式吗?可能不是。

它有效吗?是的。

哦,注意你的偏移量——这是在禁止 HVCI 的 Windows 11 21H2 上测试的。


点击阅读原文-跳转至项目地址

https://github.com/alfarom256/CVE-2022-3699/

原文始发于微信公众号(Ots安全):Lenovo 诊断驱动程序 EoP - 任意 R/W

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月11日19:06:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Lenovo 诊断驱动程序 EoP - 任意 R/Whttp://cn-sec.com/archives/1403806.html

发表评论

匿名网友 填写信息