【缝隙公告】 Microsoft Windows PsExec 0day缝隙

颁布功夫 2021-01-08

0x00 缝隙概述

CVE  ID


时  间

2021-01-08

类   型

LPE

等  级

高危

远程利用

否

影响领域

PsExec v1.72-v2.2

 

0x01 缝隙详情

image.png

PsExec是SysInternals套件的一部门,它是系统治理员的一种工具,可在推算机客户端远程执行利用法式。

2020年12月09日,PsExec被披露存在一个本地权限提升0day缝隙,该缝隙被定名为管路劫持(或定名管路占用)缝隙,该缝隙允许攻击者诱使PsExec沉新打开恶意创建的定名管路并授予其本地系统权限。成功利用此缝隙后,攻击者将可能以本地系统的身份执行肆意过程,从而节造整个推算机。

有关钻研人员暗示,该缝隙影响PsExec版本从1.72到最新版本2.2,这意味着该缝隙已经存在约莫14年了。

 

缝隙细节

PsExec蕴含一个名为“PSEXESVC”的嵌入式资源,它是一个可执行的服务级别组件,每当PsExec客户机以远程机械为指标执行PsExec时,该组件就会作为SYSTEM被提取、复造到远程机械上并执行。PsExec客户端和远程PSEXESVC服务之间的通讯通过定名管路进行。具体来说,名为“\PSEXESVC”的管路掌管解析和执行PsExec客户端的号令,好比“要执行哪个利用法式”、“有关号令行数据”等。

当然,出于安全原因,PSEXESVC服务的“\PSEXESVC”管路受到�;�,仅允许治理员进行读/写接见。

image.png

 

但是,通过管路抢注(即起初创建管路的步骤),低权限利用法式能够接见该管路。也就是说,若是本地低权限利用法式在执行PSEXESVC之前创建了“\PSEXESVC”定名管路,则PSEXESVC将获取现有事俘的句柄,而不是创建定名管路,这将产生一些意料之表的后果,稍后将看到。下面展示了PSEXESVC若何创建“\PSEXESVC”管路的反汇编:

image.png

 

在这里,从nMaxInstances参数能够看到,它允许存在无限的“\PSEXESVC”管路事俘。此表,它并不能确保它是第一个创建“\PSEXESVC”管路的利用法式,并且通常使用FILE_FLAG_FIRST_PIPE_INSTANCE标志来实现。在这种情况下,它将尝试创建定名管路,若是定名管路已经存在,则只需在挪用后获取现佑装\PSEXESVC”管路的句柄即可,这将继承现有管路的ACL。

 

以下,通过造作了一个单一的“ PipeHijack.exe”法式,该法式创建了“\PSEXESVC”管路,该管路拥有对“ David Wells”用户的读/写接见权限。

image.png

 

运行后,若是将来在本机上本地或远程执行PsExec,PSEXESVC事俘将获得管路的句柄,并能够读取/写入该句柄,从而允许低权限利用法式与此PSEXESVC系统服务通讯。

image.png

 

PoC链接:

https://github.com/tenable/poc/blob/master/Microsoft/Sysinternals/PsExecEscalate.cpp

 

0x02 措置建议

目前,Microsoft暂未颁布此缝隙的安全更新,但 0patch团队已经颁布了此缝隙的微补丁。

下载链接:

https://blog.0patch.com/2021/01/local-privilege-escalation-0day-in.html

 

0x03 参考链接

https://www.bleepingcomputer.com/news/security/windows-psexec-zero-day-vulnerability-gets-a-free-micropatch/

https://medium.com/tenable-techblog/psexec-local-privilege-escalation-2e8069adc9c8

 

0x04 功夫线

2020-12-09  David Wells披露缝隙

2021-01-07  0patch团队颁布微补丁

2021-01-08  VSRC颁布安全公告

 

0x05 附录

 

CVSS评分尺度官网:http://www.first.org/cvss/

image.png