前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cve-2021-1675 or cve-2021-34527?

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

作者头像
黑白天安全
发布2021-07-16 16:58:39
1.3K0
发布2021-07-16 16:58:39
举报

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 服务是否正在运行

运行以下命令:

代码语言:javascript
复制
Get-Service -Name Spooler

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

选项 1 - 禁用 Print Spooler 服务

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

代码语言:javascript
复制
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

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

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

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

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

限制 ACL

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

代码语言:javascript
复制
$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

检测方法

代码语言:javascript
复制
EventID = '11' and Image like 'spoolsv.exe' and TargetFilename like 'C:\Windows\System32\spool\drivers\x64\3\'
代码语言:javascript
复制
EventID      316Message    INFO 316 NT AUTHORITY\SYSTEM 已添加或更新 Windows x64 Version-3 的打印机驱动程序 1234。文件:- UNIDRV.DLL, kernelbase.dll, 123.dll。无需用户操作。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑白天实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.本地提权复现
  • 2.远程RCE复现
  • 防御方法
    • 限制 ACL
    • 检测方法
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档