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

2021/07/05 13:47
阅读数 382

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

环境为:


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


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

CVE-2021-1675-LPE.exe PAYLOAD_DLL_PATH



2.远程RCE复现

使用的是

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


环境为:

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


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



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


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

否则:

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


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



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


可以看到Cobalt Strike成功上线


防御方法

微软建议

确定 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:\Windows\System32\spool\drivers"$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:\Windows\System32\spool\drivers\x64\3\'


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



本文分享自微信公众号 - 黑白天实验室(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部