近日,微软警告Windows用户称,Windows Print Spooler服务中存在未修补的严重漏洞。
本以为漏洞已被修复,意外披露PoC
这个被称为“PrintNightmare”的漏洞是在安全研究人员意外发布概念验证(PoC)漏洞后于本周早些时候被发现的。虽然微软尚未对该漏洞进行CVSS评分或严重程度分级,但它允许攻击者以系统级权限远程执行任意代码。
早前,可能是与微软之间的沟通出现了问题,导致某网络安全公司的研究人员发布了该漏洞的概念验证代码(PoC),错误地认为它已经作为CVE-2021-1675的一部分进行了修补,结果意外披露了零日漏洞。尽管该概念验证代码很快就从Github上撤下,但不幸的是,在此之前该项目就已被复制。
漏洞发现几天后,微软方面才最终发布了关于零日漏洞的警报。该公司甚至警告用户PrintNightmare漏洞正在被广泛利用。由于该漏洞允许攻击者以系统权限运行任意代码,因此成功利用该漏洞的不法分子可以安装程序、处理数据或创建具有完全用户权限的新账户。
微软还承认,PrintNightmare影响所有Windows版本中的Windows Print Spooler,包括安装在个人计算机、企业网络、Windows服务器和域控制器上的版本,但尚不清楚它是否可以在Windows以外的服务器版本上利用。
微软建议禁用 Windows Print Spooler 服务
目前,微软正在开发补丁,但有证据表明 PoC 漏洞已被使用。企业和企业用户最容易受到攻击,但一般用户也可能面临风险。该公司建议称,在补丁可用之前可以先禁用 Windows Print Spooler 服务。
如果停止所有打印不现实,网络管理员可以使用组策略禁用入站远程打印,这样一来即使是打印服务器任务中断,也至少可以提供本地打印服务。
但一般用户需要使用Powershell命令将其关闭,这将保护您的 PC 免受任何 PrintNightmare 威胁:
使用任务栏或Windows开始菜单搜索“Powershell”;
右键单击Powershell并选择“以管理员身份运行”;
在Powershell提示符下,运行以下命令以禁用Windows Print Spooler:
Stop-Service -Name Spooler -Force然后运行以下命令以防止Windows在启动时重新启用 Print Spooler 服务:
Set-Service -Name Spooler -StartupType Disabled
等到微软发布补丁并完成安全更新后,您可以使用以下两个命令在Powershell中重新启用 Print Spool 服务:
Set-Service -Name Spooler -StartupType Automatic
Start-Service -Name Spooler
除此之外,网络安全和基础设施安全局(CISA)建议管理员“在域控制器和无需打印服务的系统中禁用 Windows Print Spooler 服务”。
多年来,Windows Print Spooler 服务中的漏洞一直是系统管理员头疼的问题。最臭名昭著的例子是震网(Stuxnet)病毒。 十多年前,Stuxnet 使用多个0-day 漏洞,包括Windows Print Spooler漏洞,摧毁了数台伊朗核离心机。