PrintDemon漏洞影响所有Windows版本

2020-05-14 06:21:03

两名安全研究人员今天公布了有关Windows打印服务中的一个漏洞的详细信息,他们说,该漏洞会影响到1996年发布的Windows NT 4之前的所有Windows版本。

该漏洞代号为PrintDemon,位于Windows打印假脱机程序(Windows Print Spooler)中,Windows打印假脱机程序是负责管理打印操作的主要Windows组件。

该服务可以将要打印的数据发送到物理连接的打印机的USB/并行端口,或者发送到驻留在局域网或因特网上的打印机的TCP端口,或者发送到本地文件,在极少数情况下,用户想要保存打印作业以备以后使用。

在今天发布的一份报告中,安全研究人员Alex Ionescu&;Yarden Shafir表示,他们在这个旧组件中发现了一个漏洞,可以被滥用来劫持打印机假脱机程序的内部机制。

该漏洞不能被用来通过互联网远程侵入Windows客户端,因此它不是可以被利用来在互联网上随机攻击Windows系统的东西。

PrintDemon是研究人员所说的本地权限提升(LPE)漏洞。这意味着,一旦攻击者在应用程序或Windows计算机中有了最微小的立足点,即使拥有用户模式的权限,攻击者也可以运行一个没有权限的PowerShell命令来获得对整个操作系统的管理员级权限。

Ionescu和Shafir说,这是可能的,因为打印假脱机服务的设计方式是工作的。

因为这是一项服务,任何想要打印文件的应用程序都可以使用这项服务,所以它对系统上运行的所有应用程序都是可用的,没有任何限制。攻击者可以创建打印到文件的打印作业,例如操作系统或其他应用程序使用的本地DLL文件。

攻击者可以启动打印操作,故意使打印假脱机程序服务崩溃,然后让作业恢复,但这一次打印操作以系统权限运行,从而覆盖操作系统上任何位置的任何文件。

攻击者可以通过一个PowerShell命令利用CVE-2020-1048:add-PrinterPort-name c:\windows\system32\ualapi.dll在未打补丁的系统上,这将安装一个永久性后门,即使您打了补丁*,它也不会消失。有关更多详细信息,请参见https://t.co/9yMSWNM8VG。

-亚历克斯·约内斯库(@aionescu)2020年5月13日。

在今天的一条推文中,Ionescu说,在当前操作系统版本上的攻击只需要一行PowerShell。在较旧的Windows版本上,这可能需要进行一些调整。

Ionescu说,在没有打补丁的系统上,这将安装一个持久的后门,即使你打了补丁,这个后门也不会消失。

好消息是,这一点现在已经被修补,因此Ionescu和Shafir公开披露了这一点。PrintDemon的修复程序已于昨天发布,微软将于周二发布2020年5月的补丁程序。

在CVE-2020-1048标识符下跟踪PrintDemon。来自SafeBReach实验室的两名安全研究人员也独立报告了同样的问题。

Ionescu还在GitHub上发布了概念验证代码,目的是帮助安全研究人员和系统管理员调查漏洞,准备缓解和检测能力。

对于威胁猎人:使用PowerShell中的Get-PrinterPorts扫描任何基于文件的端口,或转储HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports。应该调查其中包含文件路径的任何端口,特别是以DLL或EXE结尾的端口。https://t.co/wYZn296Gwm。

-兰迪·帕格曼(@rpargman)2020年5月13日。

上个月,Ionescu和Shafir也发布了类似漏洞的详细信息和概念验证代码,他们将其命名为FaxHell。

FaxHell的工作原理与PrintDemon类似,但研究人员利用Windows传真服务覆盖并劫持本地(DLL)文件,从而在Windows系统上安装外壳和后门。