背景: 在微软六月份修复的数十个安全漏洞中,有一个Windows Print Spooler权限提升漏洞(CVE-2021-1675)。Print Spooler是Windows系统中用于管理打印相关事务的服务,虽然微软在公告中将该漏洞标记为Important级别的本地权限提升漏洞,但实际上在域环境中合适的条件下,无需任何用户交互,未经身份验证的远程攻击者就可以利用该漏洞以SYSTEM权限在域控制器上执行任意代码,从而获得整个域的控制权。
等级: 严重
漏洞评分: 7.8
原理:Windows Print Spooler存在设计缺陷,Print Spooler服务对应的进程以system权限运行,攻击者可通过键入恶意代码绕过安全验证,进行权限提升。若攻击者处于域环境中,则可连接到DC(域控制器)的Print Spooler服务并利用该漏洞执行恶意代码或安装恶意驱动,从而控制整个域环境。
一、复 现
本次漏洞应用cube0x0的复现方案。
项目地址:https:// github.com/cube0x0/CVE- 2021-1675
测试开始。
主要利用kali,win10以及DC。
添加一普通域用户。
kali上面下载cube0x0的exp,注意先下载impacket,cd到impacket下再git clone CVE-2021-1675。
share下放置了CS生成的artifact.dll。
以下是cube0x0的方法,随后发现New-SmbShare无法使用,于是尝试通过win10系统右键属性打开共享来解决,后来验证此法有效,New-SmbShare可正常使用。
(使用CS创建share下放置的artifact.dll。)
可以使用rpcdump.pyfrom impacket 来扫描潜在的易受攻击的主机。
rpcdump.py @192.168.1.10 | grep MS-RPRN
Protocol: [MS-RPRN]: Print System Remote Protocol
使用exp,参数分别是刚才创建的新域用户的用户名和密码,还有DC的ip,最后是smb共享文件的路径。
此处将aaa.vbs换成artifact.dll。artifact.dll 已经被spoolsv.exe加载,上线成功。
二、威胁狩猎与检测方法
识别来自 Spoolsv.exe 的可疑进程访问事件,并授予对目标进程的高权限访问权限。 process: rundll32.exe parentprocess:*spoolsv.exe
SPL: appname:windows tag:gs1675 |stats count() by
image,parentimage
可疑路径:\\Windows\\System32\\spool\\drivers\\x64\
SPL: appname:windows |eval
name=mvjoin(rizhiyi.EventData.Data[].Name,",")|eval
text=mvjoin(rizhiyi.EventData.Data[].text,",")|stats count() as
cnt by name,text|eval name=split(name,",")|eval
text=split(text,",")|eval num=mvfind(name,"CallTrace")|where
num!=-1|eval CallTrace=mvindex(text,num)|eval
CallTrace=split(CallTrace,"|")|fields CallTrace,text,name
3.事件:检测新打印机插件加载失败的时间
EventID: 808
ErrorCode: '0x45A'
MyExploit.dll
evil.dll
addCube.dll
rev.dll
rev2.dll
main64.dll
mimilib.dll
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论