iis jmail邮件组件 漏洞_pipePotato:一种新型的通用提权漏洞

a19659714c725c31893e067daee0d10f.png

作者:xianyu & daiker

0x00 影响

本地提权,对于任意windows Server 2012以上的windows server版本(win8以上的某些windows版本也行),从Service用户提到System 用户,在windows Server 2012,windows Server 2016,windows Server 2019全补丁的情况都测试成功了。

0x01 攻击流程

bdb63f7594fad8dc1ea66d657c622add.gif

演示基于server 2019

  • laji.exe. msf 生成的正常木马
  • pipserver.exe 命名管道服务端,注册命名管道
  • spoolssClient.exe 打印机rpc调用客户端

首先,攻击者拥有一个服务用户,这里演示采用的是IIS服务的用户。攻击者通过pipeserver.exe注册一个名为pipexpipespoolss的恶意的命名管道等待高权限用户来连接以模拟高权限用户权限,然后通过spoolssClient.exe迫使system用户来访问攻击者构建的恶意命名管道,从而模拟system用户运行任意应用程序

0x02 漏洞成因

spoolsv.exe 进程会注册一个 rpc 服务,任何授权用户可以访问他,RPC 服务里面存在一个函数 RpcRemoteFindFirstPrinterChangeNotificationEx

85aa85d46697d29c872c988038e1d167.png

https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/eb66b221-1c1f-4249-b8bc-c5befec2314d

8c65f6770b0e9f7f310ad819808ff7e3.png

pszLocalMachine 可以是一个 UNC 路径(host),然后 system 用户会访问 hostpipespoolss,

2ee08593116ef539b3e3630f219ed03b.png
07eca84568bd5c4d32e4145dca553c0c.png

在文档 https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rprn/9b3f8135-7022-4b72-accb-aefcc360c83b里面

server name 是这样规范的

SERVER_NAME = "" host "" | ""

如果 SERVER_NAME 是 127.0.0.1 ,system用户会访问 127.0.0.1pipespoolss

e3663a2402cfdc55e17d1490a040e718.png

问题是,如果 SERVER_NAME 是127.0.0.1/pipe/xx,system用户会访问127.0.0.1pipexxxpipespoolss,这个命名管道并没有注册,攻击者就可以注册这个命名管道。

c5c5f1f7b2f964076d395a9c76f24569.png
186a94610e23aabc3afd27b1f91747b9.png

当 system 用户访问这个命名管道(pipexpipespoolss),我们就能模拟system 用户开启一个新的进程。

3d2c053cad83c15c19131bba7c3af2a9.png
64b52b816e8426d6f78e27c06c51020b.png

0x03 时间线

2019年12月5日 向MSRC进行反馈,分配编号VULN-013177 CRM:0279000283

ef8b0e5a25d201133041fd2a84aab6b8.png

2019年12月5日 分配Case编号 MSRC Case 55249

5df98683b660d2f8e566c472520982b2.png

2019年12月15日 向MSRC发邮件询求进度,微软2019年12月18日回复

47e97af05fa8c65def754ae0cc00bb19.png
9eaddda97f26a31ed88ebc4c0b79da7d.png

2019年12月27日 MSRC 回信认为impersonate的权限需要administrator或者等同用户才拥有,Administrator-to-kernel并不是安全问题。事实上,所有的service 用户(包括local service,network service 都具备这个权限)。我们向MSRC发邮件反馈此事

the account used to impersonate the named pipe client use the SeImpersonatePrivilege. The SeImpersonatePrivilege is only available to accounts that have administrator or equivalent privileges. Per our servicing criteria: Administrator-to-kernel is not a security boundary.
93e0468bde5aee8a23d149a56c8c62ce.png
c639ce79987db7375f10d4863a1a9492.png

2019年12月28日 MSRC 回信会处理,至今没有回信

acf42e2405cf26c67d983907eb99a012.png

2020年5月6日 在安全客上披露

原文链接:https://www.anquanke.com/post/id/204510

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值