查看原文
其他

可复现的高危漏洞!PWNKIT漏洞导致任意用户本地提权!

碳泽攻防实验室 上海碳泽信息科技有限公司 2023-02-21


近日,碳泽攻防实验室关注到由境外安全厂商率先披露的CVE-2021-4034 PWNKIT漏洞,并对其进行跟踪及研究。该漏洞与Linux/UNIX操作系统中广泛使用的权限管理组件polkit直接相关,且POC利用代码已公开传播。若未及时关注并修复,则该漏洞可能给您的信息系统带来较高的潜在风险。




1/ 漏洞简述

Polkit是一个在各类Linux及Unix 操作系统中被广泛用于控制系统范围权限的组件。它为非特权进程与特权进程通信提供了一种有组织的方式,用户可以使用 polkit 以root用户权限执行命令,只要在需要执行的命令前面附加上:pkexec。成功利用CVE-2021-4034,也即Polkit本地提权漏洞允许任何非特权用户在未经漏洞修补的主机上获得 root 权限。




2/ 影响面简述

⭕️ 漏洞在多套环境下都得到验证,任何具备普通权限的用户均能够经简单的工具利用该漏洞,获取完整的root权限。
⭕️ 该漏洞在以默认参数安装的 Ubuntu、Debian、Fedora、CentOS等常见Linux发行版上存在,能够经简单的工具利用获得完整的 root 权限。
⭕️ 其他 Linux 发行版同样可能容易受到攻击(例如:Solaris,FreeBSD等,但OpenBSD已被明确证明不可利用),攻击者可以经简单的工具利用该漏洞。
⭕️ 此漏洞已经在代码中存在并隐藏了 12 年多,影响自 2009 年 5 月第一个版本以来的所有 pkexec 版本(commit c8c3d83)。
⭕️ 该漏洞POC(利用代码)已经由Github等平台公开传播数日,攻击者利用成本极低。



3/ 复现截图




4/ 原理简述

pkexec 的 main() 函数在开头(源码 534-568 行)处理命令行参数,并在 PATH 环境变量的目录中搜索要执行的程序(如果其路径不是绝对路径)。此时,如果命令行参数 argc 的数量为 0,则传递给 execve() 的参数列表 argv 为{NULL},也即 argv[0] 为 NULL,将会导致:
在第 534 行,整数 n 永久设置为 1;
在第 610 行,从 argv[1] 越界读取指针路径;
在第 639 行,指针 s 被越界写入 argv[1]。
这种越界写入允许我们将一个“不安全”的环境变量(例如,LD_PRELOAD)重新引入 pkexec 的环境。这些“不安全”变量通常在调用 main() 函数之前从 SUID 程序的环境中删除(通过 ld.so)。



5/ 修复建议

⭕️ 若操作系统厂商/或 社区提供了漏洞修复补丁,则优先通过版本升级应用这些补丁。
⭕️ 若未发布相关补丁/或 情形不容许版本升级操作,则使用命令:chmod 0755 /usr/bin/pkexec 修改polkit可执行文件的权限(删除SUID位)。
⭕️ 做好信息资产漏洞评估与管理工作,避免攻击者通过其他漏洞间接利用PWNKIT漏洞提升权限,造成不必要的损失。
⭕️通过碳泽千乘SOAR解决方案,结合专项工作流及定制化插件,完成特定漏洞风险评估和处置。或通过调度玉衡漏洞风险管理平台,基于资产管理模型,完成漏洞评估与管理工作,避免攻击者间接利用PWNKIT漏洞提升权限,造成不必要的损失。 



6/ 常见问题

Q:哪些版本的Polkit组件易受攻击?

A:从 2009 年开始的所有 Polkit 版本都存在漏洞。

 

Q:本推文是否会公开PWNKIT漏洞的利用代码?

A:不会*。但鉴于该漏洞的利用代码已在开源社区(Git*hub)等广泛传播,如您有相关验证需求,可以通过搜索CVE-2021-4034 漏洞编号轻易地找到。

*:受《网络安全法》相关条款限制。

 

Q:此漏洞是否有任何缓解措施?

A:如果您的操作系统厂商/或 社区尚未提供漏洞修复补丁,您可以暂时性从 pkexec 中删除 SUID 位作为临时缓解措施;例如使用命令:chmod 0755 /usr/bin/pkexec 。

 

Q:这个漏洞可以远程利用吗?

A:不可以。但是如果攻击者可以以任何非特权用户身份登录,则可以快速利用该漏洞来获得 root 特权。

 

Q:是否可以审计日志来发现漏洞被利用过的痕迹?

A:可以。PWNKIT漏洞的多数利用技术会在日志中留下痕迹(例如:The value for the SHELL variable was not found the /etc/shells file,或:The value for environment variable [环境变量值] contains suspicious content 等等)。需要注意的是,此漏洞也可以被利用,而不会在日志中留下任何痕迹。



关于我们


上海碳泽信息科技有限公司(以下简称碳泽)成立于2017年,总部位于上海。碳泽在深圳、长沙设有研发中心,同时在北京、杭州、重庆均设有分支机构。作为国家高新技术企业,碳泽荣获多项专利和软著,被中国网络安全产业联盟(CCIA)评为2021潜力之星。

如您有任何疑问,或对文中提及的各类技术有所需求,
请不吝与我们联系。

当前,碳泽主要聚焦于为您提供
下一代安全防御与响应能力(NGDR)建设;
漏洞全生命周期风险管理平台建设。

我们的产品包括:
碳泽® 玉衡 漏洞风险管理平台
碳泽® 摇光 深度安全检测系统
碳泽® 千乘 安全编排自动化响应平台

End

碳泽信息
专注下一代安全防御与响应体系

电话:400-1788-258

销售咨询:sales@tanze.net.cn

技术支持:support@tanze.net.cn

官网:http://www.tanze.net.cn


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存