危害:这个漏洞级别属于稍次于Zerologon
的打域利器之一. 和以往的打印机协议中继/委派系列,危害度和利用条件基本在同一维度,
没全量打补丁且重启生效的甲方/网管朋友们,得抓紧时间了.
笔者测试线上,全补丁机器依然可打。网管朋友们可以阻断+感知
同步操作了.
影响版本
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
Windows Server 2008 R2
Windows Server 2008
pDriverPath 知道一个驱动的绝对路径,和系统版本有关
新版exp,有enum驱动绝对路径的接口,成功率更高
讲道理: 一个普通域账号/或者机器账号权限
如果条件合适, 只需要进入你的办公网. 网络权限
获取机器账号或中继,可能的操作: mitm6 NBT-NS LLMNR wpad等
6月的补丁安装且重启了,为啥还是被打了?
6月的补丁生效的是本地提权, 远程条件合适还是可以打,比如DC.
你确定你所有的DC/Exchange大几十台,都打了补丁?都重启生效了?有无正反向的测试验证 ?
dll
已经看到过来下载了,为啥没上线?
请用64
位的dll, 本地确保调试OK
windows defender
或其他杀软,确认绕过了?本地/测试环境确保调试OK

win server 2012 DC
不能打?
笔者多个环境测试成功, 但不保证都可以打.
保持怀疑和审慎态度,github开源的一定就没问题么? 测试前 smbclient.py先测试, 如果rpc_s_access_denied, 账号密码hash没有问题, 有没有可能poc实现的有些许问题?
前面一切正常,就是无法下载dll, 是不是不受影响了?回显: ERROR_BAD_NET_RESP - The specified server cannot perform the requested operation.
这是由于win 10/server 2016 某小版本后安全性提升的结果
, 可本地测试 dir \\vnc_host\share
,查看回显, 如下图即为该情况. 
如图只可以抵御一些攻击的,但不完全免疫此次漏洞。笔者测试了2种方法可以直接bypass, 另有几种可能的绕过思路未实践测试。
DC/exchange/域管常登机器/重要资产机器,不需要打印机协议
的, 直接下掉.
//cmd:
net stop spooler && sc config spooler start=disabled
//PowerShell:
Stop-Service -Name Spooler -Force;
Set-Service -Name Spooler -StartupType Disabled
ACL规则
//通过 PowerShell 部署(手动或通过 RMM)创建 ACL
$Path = "C:\Windows\System32\spool\drivers"
$Acl = Get-Acl $Path
$Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("System", "Modify", "ContainerInherit, ObjectInherit", "None", "Deny")
$Acl.AddAccessRule($Ar)
Set-Acl $Path $Acl
//通过 PowerShell 部署删除 ACL (thx u/bclimer !)
$Path = "C:\Windows\System32\spool\drivers"
$Acl = Get-Acl $Path
$Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("System", "Modify", "ContainerInherit, ObjectInherit", "None", "Deny")
$Acl.RemoveAccessRule($Ar)
Set-Acl $Path $Acl
组策略封禁
域下发组策略 gpmc.msc
//gpedit.msc
计算机配置/管理模板/打印机
//选择禁用
本地组策略 gpedit.msc
Policies/Windows Settings/Security Settings/System Services/Print Spooler
//选择禁用
组策略生效后, 服务自动关闭, 无法继续攻击

已有事件日志分析
安全日志分析:
Microsoft-Windows-Security-Auditing
分析 RelativeTargetName
, 注意bypass的情况.
出口smb日志Microsoft-Windows-SmbClient/安全
出去的链接分析异常 
webdav尝试等 
Sysmon日志: 通过 spoolsv.exe
进程寻找 ImageLoad(事件 ID 7)的使用
非标事件日志采集和监控(特异性好) 开启记录
$logDeets = Get-LogProperties 'Microsoft-Windows-PrintService/Operational'
$logDeets.Enabled = $true
Set-LogProperties -LogDetails $logDeets
事件 ID 316
Microsoft-Windows-PrintService/Operational
Microsoft-Windows-PrintService/Admin
注册表变动监控
驱动相关:HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\
文件变动监控(注意bypass的情况/目录穿透):
目录路径 C:\Windows\System32\spool\drivers\x64\*

特定目录C:\Windows\System32\spool\drivers\x64\
的*.dll
新增;
特定目录子目录创建 C:\Windows\System32\spool\drivers\x64\
, 如old
;
spoolsv.exe
写入 (Sysmon 事件id 11) 和删除 (Sysmon 事件id 23) .dll
文件
其他弱特征规则
rpcdump
等的探测规则
进程的出网日志
impacket的协议特征检测
nids的相关规则
以上部分操作,实验室测试环境执行可以阻断和检测部分攻击,但不保证对生产环境无任何不良影响,请确认和充分测试你的所有变更操作.
由于个人时间和知识有限,如有错误和遗漏的,请私聊我.
最后祝大家周末加班快乐. 😄