Cve-2021-1675 or cve-2021-34527?

  • A+
所属分类:安全文章

Cve-2021-1675 or cve-2021-34527? 

Detailed analysis and exploitation of windows print spooler 0day vulnerability


2021年6月29号:深信服安全研究员在Github上分布了名为《

PrintNightmare (CVE-2021-1675): Remote code execution in Windows Spooler Service》相关POC和漏洞信息


2021年6月30号:安全研究员@cube0x0在github上分布了使用Impacket的pyhton EXP。


2021年7月1号:安全研究员@cube0x0在github更新了C# Implementation of CVE-2021-1675的EXP。


2021年7月2号:微软披露Windows Print Spooler Remote Code Execution VulnerabilityCVE-2021-34527,表示已知该漏洞存在在野利用。该漏洞目前为零日状态,微软暂未发布修复。



...部分安全厂商把在github上披露的《PrintNightmare (CVE-2021-1675): Remote code execution in Windows Spooler Service》认为是新的CVE-2021-34527,也有部分厂商认为不是。


exp:

https://github.com/cube0x0/CVE-2021-1675

1.本地提权复现

使用的是

https://github.com/hlldz/CVE-2021-1675-LPE

环境为:

Cve-2021-1675 or cve-2021-34527?


复现不难,因为spoolsv.exe是x64的,所以我们这里使用Cobalt Strike的是x64的dll。

Cve-2021-1675 or cve-2021-34527?


执行漏洞利用时,需要将 DLL 路径作为漏洞利用的第一个参数。就可以了!

CVE-2021-1675-LPE.exe PAYLOAD_DLL_PATH


Cve-2021-1675 or cve-2021-34527?

Cve-2021-1675 or cve-2021-34527?


2.远程RCE复现

使用的是

https://github.com/cube0x0/CVE-2021-1675


环境为:

攻击主机:WIN10  域普通用户 text 域内主机

Cve-2021-1675 or cve-2021-34527?


攻击主机:windows server 2019  域控(DC)

Cve-2021-1675 or cve-2021-34527?



按照https://github.com/cube0x0/CVE-2021-1675 的smb设置方法,在域内一台主机上提供匿名访问权限的共享文件


Cve-2021-1675 or cve-2021-34527?

把恶意的DLL放进分享目录并允许匿名访问,在域控或目标主机上必须能直接获取到文件。

否则:

报错 Error: code: 0x5 - rpc_s_access_denied 说明smb还不能匿名访问

Cve-2021-1675 or cve-2021-34527?


这里使用的是C#版本的EXP来进行演示利用


Cve-2021-1675 or cve-2021-34527?


在DC对应的文件夹中,我们可以看到

Cve-2021-1675 or cve-2021-34527?


可以看到Cobalt Strike成功上线

Cve-2021-1675 or cve-2021-34527?


防御方法

微软建议

确定 Print Spooler 服务是否正在运行

运行以下命令:

Get-Service -Name Spooler

如果 Print Spooler 正在运行或该服务未设置为禁用,请选择以下选项之一以禁用 Print Spooler 服务,或通过组策略禁用入站远程打印:


选项 1 - 禁用 Print Spooler 服务

如果禁用 Print Spooler 服务适合您的企业,请使用以下 PowerShell 命令:

Stop-Service -Name Spooler -ForceSet-Service -Name Spooler -StartupType Disabled


选项 2 - 通过组策略禁用入站远程打印

还可以通过组策略配置设置:

计算机配置/管理模板/打印机

禁用“允许打印后台处理程序接受客户端连接:”策略以阻止远程攻击。


限制 ACL

为驱动程序目录和所有子目录添加拒绝规则,防止 SYSTEM 帐户修改其内容。

$Path = "C:WindowsSystem32spooldrivers"$Acl = (Get-Item $Path).GetAccessControl('Access')$Ar = New-Object  System.Security.AccessControl.FileSystemAccessRule("System", "Modify", "ContainerInherit, ObjectInherit", "None", "Deny")$Acl.AddAccessRule($Ar)Set-Acl $Path $Acl


检测方法

EventID = '11' and Image like 'spoolsv.exe' and TargetFilename like 'C:WindowsSystem32spooldriversx643'


EventID      316Message    INFO 316 NT AUTHORITYSYSTEM 已添加或更新 Windows x64 Version-3 的打印机驱动程序 1234。文件:- UNIDRV.DLL, kernelbase.dll, 123.dll。无需用户操作。



本文始发于微信公众号(黑白天实验室):Cve-2021-1675 or cve-2021-34527?

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: