Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PlEXcalaison — Plex媒体服务器本地权限提升漏洞验证代码 - CVE-2021-42835 | Kitploit
工具/GitHubGitHub/netanelc305/plexcalaison
权限提升漏洞分析漏洞利用渗透测试二进制利用
GitHubnetanelc305/plexcalaison

PlEXcalaison

Plex媒体服务器本地权限提升漏洞验证代码 - CVE-2021-42835

查看仓库
64年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

本地权限提升 - CVE-2021-42835

Windows 版 Plex Media Server 1.25.0.5282 之前版本存在检查时间与使用时间漏洞(TOCTOU),允许低权限用户获取 SYSTEM 权限。

发现者

Tomer Peled、Netanel Cohen 以及 BugSec 安全研究员 Amir Shen。

详情

Windows 版 Plex 使用 PlexUpdateService.exe 来安装新更新。该服务在 SYSTEM 上下文中运行。安装更新时,服务首先验证文件完整性和数字签名,只有检查通过后才安装更新。

在此过程中,在完整性检查和签名检查之后,存在一个设计缺陷:对更新文件的处理不当。文件被关闭后,稍后才重新打开进行安装。

这个漏洞允许攻击者在服务完成完整性和签名验证后,立即将更新文件替换为恶意文件,从而在 SYSTEM 上下文中执行代码。

此 POC 使用了 James Forshaw 开发的工具,并做了轻微修改。原始工具可在此处找到 - https://github.com/googleprojectzero/symboliclink-testing-tools

为了实现上述操作,我们使用了一个交接文件夹,该文件夹首先指向包含有效更新文件的文件夹,然后切换到包含恶意文件的文件夹。

我们发现文件访问顺序如下:

  1. 读取更新文件以检查其数字签名。
  2. 关闭更新文件。
  3. 读取 CACERT.pem。
  4. 验证签名。
  5. 再次读取更新文件。
  6. 执行安装。

我们在交接文件夹上创建了一个挂载点,指向包含有效更新文件的文件夹。 在 cacert.pem 上设置 opLock 并附带回调函数,一旦该文件被访问,我们就将挂载点更改为恶意文件夹。

此外,我们还创建了一个 RPC 客户端来触发更新。

使用方法

  1. 克隆仓库,在 Visual Studio 中打开 PlEXcalasion.sln。
  2. 删除 TOCTOU\junction 目录下的 Delete me.txt 文件——它只是占位符,用于让 git 包含该文件夹,此文件夹必须为空!
  3. 修改路径:

在 PlexClient/PlexClient.cpp 中将 ROOTDIR 替换为你的路径。

root@kitploit:~
const wchar_t* pszString = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction\\plex.exe"; // 更新文件路径

在 PlEXcalaison/BaitAndSwitch/BaitAndSwitch.cpp 中将 ROOTDIR 替换为你的路径。

root@kitploit:~
static LPCWSTR junction = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\junction";  // 交接文件夹路径,确保为空!
static LPCWSTR target1 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\valid"; // 包含有效更新文件的文件夹路径
static LPCWSTR target2 = L"<ROOTDIR>\\PlEXcalaison\\TOCTOU\\malicious"; // 包含恶意文件的文件夹路径——必须与更新文件名称相同!
static LPCWSTR cacert = L"C:\\Program Files (x86)\\Plex\\Plex Media Server\\Resources\\cacert.pem"; // cacert.pem 的路径——位于 Plex 目录下
  1. 生成解决方案。
  2. 确保已生成 PlexClient.exe,且位于 Rleases 目录下。
  3. 将希望以系统权限执行的 exe 文件放入 malicious 文件夹,并重命名为 plex.exe(POC 中我使用了 cmd.exe)。
  4. 执行 BiteAndSwitch.exe。

相关文章

https://ir-on.io/2021/12/02/local-privilege-plexcalation/

https://forums.plex.tv/t/security-regarding-cve-2021-42835/761510

下载工具