【Linux】修复由 polkit 的组件 pkexec 引发的严重本地提权漏洞

2022年1月25日,突然曝出的坏消息令 Linux 用户们错愕不已 —— Polkit 系统工具中存在一项已有 12 年“悠久历史”的大 bug,攻击者能够借此在大多数主流 Linux 发行版中获得至高无上的 root 权限。
简单来说,当黑客通过弱口令等途径,以普通用户的身份登录到你的 linux 系统,他能很简单的通过 pkexec 组件获取到 root 权限,然后把你的系统重装成 windows

为什么PwnKit 漏洞能提权 root

在这里插入图片描述

▲ 看到第三位的 s (set uid)权限没有,就是他的原因。
当一个可执行文件具有 s 权限,普通用户执行该文件的时候,经过系统层层审批( 复杂的 ACL ) 会临时获得 root 权限。
所以,该漏洞修复起来也简单,直接摘掉 s 权限就行了。

野路子修复 PwnKit 漏洞

在这里插入图片描述

▲ chmod u-s /usr/bin/pkexec
centos 系统可以直接用本命令修复。

修复由 polkit 的组件引发的严重本地提权漏洞

在这里插入图片描述

▲ 从 redhat 官方我们能看到2022年1月26日更新的 polkit 已经修复了该漏洞,所以我们直接升级 polkit 就行了。

yum clean all && yum makecache
yum update polkit -y
rpm -qi rpm -qf /usr/bin/pkexec

centos系统直接复制上面的命令

在这里插入图片描述

▲ 当你看到 Build Date 是 2022年1月26日,说明漏洞修复完成,这样,你就不用摘除pkexec 的 s 权限了,免得依赖的服务出问题。

Ubuntu 修复 PwnKit 漏洞

sudo apt-get update
sudo apt-get install policykit-1

Debian修复 CVE-2021-4034 提权漏洞

apt upgrade policykit-1

在这里插入图片描述

▲ find /usr -perm 4755 -exec ls -l {} ; 命令能找出/usr 目录下所有带 s 权限的文件,不要去随意改动 s 权限,会出问题。

为什么系统会设置这么一个看起来很危险的 set uid 权限:
我们来看一个很常见的场景,普通用户修改自己的密码,修改密码的时候,会更新 /etc/shadow 这个文件,但,普通用户压根就写不动这个文件
在这里插入图片描述

/etc/shadow 的权限是0,任何人都无法读、写、执行,当普通用户用 passwd (/usr/bin/passwd 带s 权限)命令修改自己密码的时候,临时有了一部分 root 权限,所以能正常的改写 /etc/shadow 文件,从而正常的修改自己的密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值