0x01 前言
渗透过程中总是会遇到千奇百怪的问题,比如前段时间内网横向时用MS17010打台win7,EternalBlue已经提示win了,可是DoublePulsar就是死活一直报错,最后我查阅大量资料,终于解决了这个问题,于是就有了这篇文章。
从本周二开始,微软将不再为专业版和企业版的Windows 7提供扩展安全更新。与此同时,雷德蒙公司鼓励Windows 7设备用户升级到更高的Windows操作系统版本,特别是Windows 11,尽管它在市场表现上仍然落后于老的Windows 10系统。
2009年10月,微软推出了Windows7,后来分别在2015年1月和2020年1月达到其支持结束和延长支持结束的日期。这促使希望停留在Windows 7的用户转向微软的扩展安全更新(ESU)计划。然而,这一计划的更新也将于1月10日星期二结束,与Windows 8.1的EOS时间节点一致。
微软建议那些将受到影响的人升级他们的系统或设备。
早在2013年,Gynvael和我发布了我们的研究结果,在操作系统内核中发现so-called double fetch漏洞,通过在一个被称为Bochs的IA-32仿真器中运行它们。仿真器(以及我们的定制嵌入式仪器)的目是捕获关于对源自内核的用户模式存储器访问的详细信息,以便我们以后可以运行分析工具,在一个系统调用范围内发现多个对单个内存地址的引用,并产生有意义的报告。我们称这个项目为Bochspwn (使用Github上的kfetch工具包测试内存引用),并且大部分成功,导致在Windows内核中发现了几十个严重的漏洞。
这是这个系列中关于未修补的本地Windows内核拒绝服务错误的第三篇文章。截至目前为止,以前发布的帖子如下:
Windows内核本地拒绝服务#2:win32k!NtDCompositionBeginFrame(Windows 8-10)
Windows内核本地拒绝服务#1:win32k!NtUserThunkedMenuItemInfo(Windows 7-10)
与以前讨论的两个问题相反,今天的bug不是在图形子系统(win32k.sys),而是在核心内核模块:ntoskrnl.exe,更具体地是在nt!NtDuplicateToken系统调用的处理程序里(同名) 。