近日安全研究人员Alex Ionescu和Yarden Shafir发布漏洞报告,称在Windows打印服务中发现了一个安全漏洞——PrintDemon,可以用来劫持Printer Spooler机制,影响1996年后发布的所有Windows版本,包括1996年发布的Windows NT4。漏洞CVE编号为CVE-2020-1048。

CVE-2020-1048

漏洞存在于Windows Print Spooler中,Print Spooler是打印后台处理服务,管理所有本地和网络打印队列及控制所有打印工作。该服务会发送要打印的数据给USB/并行端口、位于本地网络或互联网上的打印机的TCP端口、或本地文件。

权限提升

研究人员称PrintDemon是一个本地权限提升漏洞。也就是说攻击者进入app或Windows机器中,即使只有普通用户权限,也可以通过PowerShell命令等方式轻易获取系统的管理员权限。因为任意想要打印文件的app都可以访问该服务,因此所有系统上运行的app都可以访问。攻击者就可以创建一个打印到文件的打印任务,比如通过操作系统或其他应用使用本地DLL文件。

攻击者可以初始化一个打印操作,然后故意使Print Spooler服务奔溃,然后再恢复打印任务,此时打印操作就以SYSTEM权限运行了,可以覆写系统中的任意文件。

研究人员Alex Ionescu发推说,攻击者可以通过下面的简单PowerShell命令来利用CVE-2020-1048:

Add-PrinterPort -Name c:windowssystem32ualapi.dll

在未安装补丁的系统中,运行上述命令会安装一个永久后门,该后门即使修复后也不会消失。

更多参见https://t.co/9yMSWNM8VG

但是该漏洞无法通过互联网远程利用来入侵Windows客户端,因此无法利用该漏洞在互联网上随机地黑掉Windows系统。

PoC

Alex Ionescu还在GitHub上发布了PoC代码,参见:

https://github.com/ionescu007/PrintDemon

补丁

微软已经在5月的微软补丁日发布了该漏洞的补丁,由于该漏洞非常容易被利用,研究人员建议用户尽快安装补丁。此外,还可以通过PowerShell的Get-PrinterPorts或复制HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionPorts 来扫描基于文件的端口,尤其是那些.DLL或.EXE扩展的文件路径中。

更多技术细节参见:https://windows-internals.com/printdemon-cve-2020-1048/



Source link

Write a comment:
*

Your email address will not be published.