CVE202134527复现

一、背景

  CVE-2021-1675和CVE-2021-34527两个都是通过加载DLL的方式实现代码执行的windows打印服务中的漏洞,攻击者可以利用该漏洞使用低权限用户加载恶意DLL,实现远程代码执行,在网上已经有不少的复现博客,这里记录下自己复现该漏洞以及RPC相关知识的总结。

二、CVE-2021-1675复现

  复现用例参考:

  C++用例:https://github.com/hayasec/PrintNightmare

  python用例:https://github.com/cube0x0/CVE-2021-1675

  该漏洞发生在AddPrinterDriverEx函数,当第三参数传入APD_INSTALL_WARNED_DRIVER = 0x00008000时,会绕过Access的检查,成功调用InternalAddPrinterDriverEx进行DLL加载,该函数可以通过rpc的MS-RPRN协议的RpcAddPrinterDriverEx函数进行调用,MS-RPRN的guid为12345678-1234-ABCD-EF00- 0123456789AB,使用通过管道\pipe\spoolss进行rpc传输,其中例子1使用tcpip协议,例子2使用smb协议进行rpc调用

  测试如下:

  例子1:

  

   流量如下:

  

  例子2:

  

  使用的SMB3加密流量,无法从流量观察到攻击信息

   

三、CVE-2021-34527(PrintNightmare)复现

  该漏洞的POC使用Mimikatz中的RpcAsyncAddPrinterDriver进行复现,该API同样可以设置APD_INSTALL_WARNED_DRIVER,绕过权限检查,实现恶意DLL加载和代码执行,RpcAsyncAddPrinterDriver为MS-PAR协议的RPC调用,GUID为76F03F96-CDFD-44FC-A22C-64950A001209

  测试用例:mimikatz

  

   

  其中流量如下:

  

 四、参考:

  https://www.freebuf.com/vuls/279876.html

  https://422926799.github.io/posts/c257aa46.html

  

原文地址:https://www.cnblogs.com/aliflycoris/p/15306787.html