在windows 服务中 调打印_Windows打印后台处理程序漏洞(CVE20201048)
2020年5月,Microsoft修补了CVE-2020-1048,该漏洞是Windows后台打印程序服务中的特权升级漏洞,该漏洞由SafeBreach Labs的Peleg Hadar和Tomer Bar发现。
一个月后,两位研究人员找到了一种绕过补丁程序并重新利用最新Windows版本上的漏洞的方法。Microsoft为该漏洞分配了一个新的标识号CVE-2020-1337,并将在2020年8月(星期二)修补程序中对其进行修补。
“打印界面的主要组件是后台打印程序。后台打印程序是管理打印过程的可执行文件。打印管理包括检索正确的打印机驱动程序的位置,加载该驱动程序,将高级功能调用假脱机到打印作业中,安排要打印的打印作业等等。后台打印程序在系统启动时加载并继续运行,直到操作系统关闭,”微软解释说。
“后台打印程序代码至少有20年的历史。通常,较旧的代码往往包含较旧的错误,并且由于安全漏洞而可能带来更大的风险,但实际上,在过去的20多年中,假脱机程序服务中几乎没有发现任何漏洞,” Hadar告诉Help Net Security。
其中之一是CVE-2010-2729,这是Stuxnet数年前利用的特权升级漏洞。另一个是CVE-2020-1048,它是2020年5月修复的上述Print Spooler缺陷。
新发现的Windows Print Spooler 0Day
Hadar和Bar 本周在Black Hat USA 2020上分享了有关两个发现的零日的更多信息。
CVE-2020-1337是一个本地特权升级漏洞,影响从Windows 7到Windows 10(32位和64位)的所有Windows版本。
Hadar解释说,除了允许攻击者获得SYSTEM特权外,它还可以用作持久性技术,具体步骤如下:
通过将shd和spl文件写入后台处理程序文件夹,恶意代码可能会在每次重新启动操作系统时触发漏洞。
操作系统重新启动后,后台处理程序服务将处理shd文件和spl文件,漏洞将被利用,后台处理程序会将恶意软件的dll重新写入到system32下易于受到dll劫持的路径,并将由系统过程。
本地DoS漏洞是一个古老的漏洞:从2000到Windows 10(32位和64位)的所有Windows版本中均可利用此漏洞。
这个没有CVE号码,也不会打补丁,因为微软表示“没有达到安全更新的服务要求”。
研究人员已经发布了针对CVE-2020-1048和后台打印程序DoS漏洞的漏洞利用PoC,并将在补丁发布后下周针对CVE-2020-1337发行一个漏洞。
缓解和进一步研究的工具
他们还发布了一个微型过滤器内核驱动程序的PoC,用于缓解特权提升漏洞(由于任意写入文件系统)。
“(在本地特权升级的情况下)任意文件写入错误类的根本原因之一是,允许无特权的用户直接写入由NT AUTHORITY \ SYSTEM运行的服务直接处理的文件夹”,他们解释说。
该驱动程序演示了如何实时阻止此类漏洞的使用(尽管他们警告说,该代码仅用于演示目的,不应在生产环境中使用)。
他们还为010十六进制编辑器提供了SHD文件模板,以帮助其他研究人员开始对后台打印程序机制进行自己的研究。
关于这些版本也是在github进行发布了。
后台打印程序利用及分析工具
该存储库包含我们在“后台打印程序”研究期间开发的工具,这些工具在Black Hat USA 2020和DEF CON 28安全模式下进行了介绍(“ Stuxnet的打印机中断之后的十年:打印仍然是可行的天堂的阶梯”。)
每个工具/项目都包含其自己的README.md文件:
SHDWriter:CVE-2020-1048-利用PoC
Spooler_DoS -后台处理程序DoS-PoC
AFW_MitigationDriver -任意文件写入缓解-迷你筛选器驱动程序
SHDWriter_2.0 -CVE-2020-1337-突破利用PoC(即将周二补丁后发布)
010Editor_Templates -010个未记录的影子文件结构的模板
带个项目链接:https://github.com/SafeBreach-Labs/Spooler 有时间感兴趣可以尝试一下!
在windows 服务中 调打印_Windows打印后台处理程序漏洞(CVE20201048)相关推荐
- windows 服务中托管asp.net core
在windows 服务中托管asp.net core SDK 2.1.300 官方示例 1.添加运行标识符 xml <PropertyGroup> <TargetFramework& ...
- win python 怎么打开建立一个孤立的进程_python实现在windows服务中新建进程的方法...
本文实例讲述了python实现在windows服务中新建进程的方法.分享给大家供大家参考.具体实现方法如下: 需要安装的软件:python和pywin32,我这里装的分别是python-2.6.amd ...
- python打包成exe,并将exe注册到windows服务中
前段时间接到需求,需要将py脚本打包成exe,并且注册到windows服务中,保证电脑启动时服务能够自动启动,因此选择了pyinstaller进行打包,简单易操作. 安装所需要的包 pip insta ...
- c语言创建windows进程,C语言实现在windows服务中新建进程的方法
本文实例讲述了C语言实现在windows服务中新建进程的方法.分享给大家供大家参考.具体如下: 运行环境:visual stdio 2008 文件名:testService.c #include #i ...
- Windows Server中的 WINS 服务器远程内存损坏漏洞分析
本文讲的是Windows Server中的 WINS 服务器远程内存损坏漏洞分析, 漏洞概要 在2016年12月,FortiGuard Labs发现并报告了Microsoft Windows Serv ...
- 创建寄宿在Windows服务中的WCF服务
1.创建Windows服务项目 2.Server1改名为你想要的名称,比如WinServer 3.在项目中新建一个WCF文件夹,用于存放wcf服务文件. 注:在WcfServer类的上面还要添加 [S ...
- 解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离
服务(Service)对于大家来说一定不会陌生,它是Windows 操作系统重要的组成部分.我们可以把服务想像成一种特殊的应用程序,它随系统的"开启-关闭"而"开始-停止 ...
- 在 Windows 服务中托管 ASP.NET Core
概述 众所周知,ASP.NET Core采用了和传统ASP.NET不同的托管和HTTP处理方式,即把服务器和托管环境完全解耦. ASP.NET Core内置了两个HTTP服务器实现,一个是基于libu ...
- C#windows服务中的Timer控件的使用
C#windows服务程序中的Timer控件的使用是什么情况呢?那么本文就C#windows服务程序中的Timer控件的使用问题向你介绍相关的操作. C# windows服务程序中的Timer控件的使 ...
最新文章
- HashMap和LinkedHashMap的区别
- CMMI过程域-MA度量和分析
- 阿里钉钉,马云旗下的又一个千亿美金产品?
- 成功解决preprocessing\label.py:151: DeprecationWarning: The truth value of an empty array is ambiguous.
- SQL Server返回当前实例系统日期和时间的函数
- 在CodeBlocks上配置OpenGL问题
- hdu4513--Manacher算法--回文串的O(n)算法
- 前端工具--less篇
- 有限自动机的构造与识别
- class会不会回收?用不到的class怎么回收_5分钟!用Java实现目标检测 | PyTorch
- mysql 表列表_一个MySQL表中的多列表显示
- MySQL存储引擎及InnoDB并发控制介绍
- ice 服务java连接,java - ICE中的连接计数 - 堆栈内存溢出
- 自动化刷EOS资金盘(类Fomo3D)游戏
- 数分统计学基础知识框架。
- Win10 安装 JDK1.8 及配置环境变量
- kettle数据同步从FTP服务器上下载文件
- MongoDB客户端命令总结
- inet addr、bcast、mask
- 学习SQLServer: 设置QUOTED_IDENTIFIER