漏洞公告
2021年7月1日,微软紧急发布Windows Print Spooler远程代码执行漏洞的安全通告,漏洞编号为:CVE-2021-34527。
利用该漏洞,攻击者只需一个普通权限的用户,即可对目标网络中的Windows系统发起远程攻击,控制存在漏洞的域控制器、服务器和PC,从而控制整个网络。该漏洞广泛的存在于各个版本的Windows操作系统中,利用难度和复杂度低,危害极大。
影响范围
漏洞代码存在所有的Windows操作系统版本中,目前,微软还在进一步调查,该漏洞是否在所有版本的Windows操作系统能够成功利用。
漏洞描述
Windows Print Spooler是打印后台处理服务,即管理所有本地和网络打印队列及控制所有打印工作。
Microsoft Windows Print Spooler 服务未能限制对RpcAddPrinter DriverEx()函数的访问,该函数可以允许远程身份验证的攻击者以系统权限在易受攻击的系统上执行任意代码。该RpcAddPrinterDriverEx()函数用于在系统上安装打印机驱动程序。此函数的参数之一是DRIVER_CONTAINER对象,它包含有关添加的打印机将使用哪个驱动程序的信息。另一个参数,dwFileCopyFlags指定如何复制替换打印机驱动程序文件。攻击者可以利用任何经过身份验证的用户都可以调用RpcAddPrinterDriverEx()并指定位于远程服务器上的驱动程序文件。这会导致Print Spooler服务spoolsv.exe以SYSTEM权限执行任意DLL文件中的代码。
缓解措施
临时缓解措施:
1、确认Print Spooler Service是否正在运行(以域管理员身份运行)
以域管理员身份运行以下命令:
Get-Service -Name Spooler
2、如果Print Spooler Service正在运行或该服务未被禁用,请选择以下任一选项来禁用Print Spooler Service
禁用Print Spooler Service,使用PowerShell执行以下命令:
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled