CVE-2021-1675 漏洞复现

admin 2022年1月6日05:03:44评论186 views字数 2615阅读8分43秒阅读模式


CVE-2021-1675 漏洞复现



△△△点击上方“蓝字”关注我们了解更多精彩




0x00 前言


最近比较有热度的一个洞,CVE-2021-1675,看着危害程度比较高,也来凑热闹复现一下。

该漏洞后续CVE-2021-34527,也懒得复现了,大差不差。来自推特大佬的图镇楼

CVE-2021-1675 漏洞复现




0x01 复现环境

RCE复现环境

DCWindows Server 2019    IP192.168.159.15

 

CVE-2021-1675 漏洞复现


域主机:Win 10    

SMB服务器:非域内PC   IP192.168.159.129


本地提权复现环境:Windows 10  1803

 

POC

Mimikatz(https://github.com/gentilkiwi/mimikatz)Github脚本(https://github.com/evilashz/CVE-2021-1675-LPE-EXP)Payload DLL:Cobalt Strike




0x02 漏洞介绍

根据官方档的介绍,添加打印机驱动程序的API有:RpcAddPrinterDriverEx 和 AddPrinterDriverEx。调用两个API需要客户端(用户)具有 SeLoadDriverPrivilege 权限。该权限可以使用 whoami  /priv进行查看。


CVE-2021-1675 漏洞复现

漏洞存在点在ValidateObjectAccess函数,该函数是 Spooler Service 的常规安全检查函数。由于其中一个参数是用户可控的,因此普通用户可以绕过安全检查并添加驱动程序。

漏洞利用中涉及到的函数可以在官方文档中查阅到:

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/857d00ac-3682-4a0d-86ca-3d3c372e5e4ahttps://docs.microsoft.com/zh-cn/windows/win32/api/rpcdce/nf-rpcdce-rpcbindingsetauthinfoexw


另外关于RPC编程的知识直接百度看吧,有很多文章




0x03 域环境RCE复现

RCE能利用的前提:

1、域管能访问到SMB服务器,网络可达

2、攻击者在域内

3、攻击者到域控服务器需要一个域用户的用户名密码,建立RPC连接


再说下非域的情况,非域情况也可以实现RCE,但是实现RCE的前提是需要目标主机账户密码,非域的情况下主机的用户密码一致的情况比较少,且如果知道了主机的账户密码,可直接上去提权就好。


RCE整个攻击的代码执行流程(截图不是Mimikatz里的代码,大致是一样的)


1、攻击者与域控服务器建立RPC连接,进行句柄绑定(那一长串数字是打印机接口的UUID

CVE-2021-1675 漏洞复现

2、RpcBindingSetAuthInfoExW函数进行身份验证

CVE-2021-1675 漏洞复现

3、RpcEnumPrinterDrivers函数枚举域控机器上的已安装的打印机驱动程序目录

CVE-2021-1675 漏洞复现

4RpcAddPrinterDriverEx函数进行驱动安装(正常情况使用RpcAddPrinterDriverEx函数的前提是前面RPC验证的用户具有SeLoadDriverPrivilege权限,漏洞的点就在于绕过了这个权限验证)

CVE-2021-1675 漏洞复现

漏洞复现过程:

1、域控服务器上创建一个普通用户

CVE-2021-1675 漏洞复现

CVE-2021-1675 漏洞复现


2、建立SMB服务器

复制下面信息到一个PS1文件中,管理员权限运行该powershell脚本

mkdir C:shareicacls C:share /T /grant Anonymous` logon:ricacls C:share /T /grant Everyone:rNew-SmbShare -Path C:share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'REG ADD "HKLMSystemCurrentControlSetServicesLanManServerParameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f #This will overwrite existing NullSessionPipesREG ADD "HKLMSystemCurrentControlSetServicesLanManServerParameters" /v NullSessionShares /t REG_MULTI_SZ /d share /fREG ADD "HKLMSystemCurrentControlSetControlLsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /fREG ADD "HKLMSystemCurrentControlSetControlLsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f


CS生成的dll放在SMB共享目录中

CVE-2021-1675 漏洞复现


3、Mimikatz攻击验证

CVE-2021-1675 漏洞复现


4、成功上线,system权限

CVE-2021-1675 漏洞复现


目前在Windows Server 2019上复现成功,Windows Server 2008/2012上未复现成功。Windows Server 2012系统,观察到恶意的dll已经上传到目标服务器,在做备份时,创建了old目录,后来又删除了,原因未知,欢迎师傅找我一起探讨。


另外,2019系统上线后发现没过多久,打印机进程会崩溃掉线,所以得做上线会话迁移。





0x04 本地提权复现

RCE的情况需要账户密码的原因是因为RPC连接绑定打印机接口时,需要用户身份验证。对于本地提权,我们不需要账户密码。也不需要搭建smb服务器dll直接放到主机上就好。


整个攻击的代码执行流程:

1、EnumPrinterDriversW函数枚举域控机器上的打印机驱动

CVE-2021-1675 漏洞复现


2AddPrinterDriverEx函数进行驱动安装

CVE-2021-1675 漏洞复现


漏洞复现:

CVE-2021-1675 漏洞复现




0x05 总结 

在漏洞利用的时候,需要对dll进行免杀,因为在漏洞利用的过程中恶意dll会在目标服务器上落地。

另外,如果有师傅对逆向分析该漏洞代码感兴趣的,可以联系一起交流交流。





END



如您有任何投稿、问题、建议、需求、合作、后台留言NOVASEC公众号!

CVE-2021-1675 漏洞复现

或添加NOVASEC-MOYU 以便于及时回复。

CVE-2021-1675 漏洞复现


感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!


本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!



本文始发于微信公众号(NOVASEC):CVE-2021-1675 漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月6日05:03:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CVE-2021-1675 漏洞复现https://cn-sec.com/archives/494223.html

发表评论

匿名网友 填写信息