linux安全漏洞,普通用户提权至root执行任意命令!

         ~~~~~~~~         因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。 ​​​​
                                                                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                 ————玛丽亚·杜埃尼亚斯

前言

据报道指出sudo存在一个安全策略隐患,即便sudoers配置文件中明确表示不允许以root用户进行访问,但恶意用户仍可利用该漏洞提取至root身份以执行任意命令。

sudo是个什么呢?简单的说就是普通用户可以通过它以管理员的身份执行某些不可描述的命令,并且无需切换使用环境。
相关目录
/etc/sudoers #保存sudo的规约
/etc/sudoers.d #sudo目录
在这里插入图片描述

漏洞详情

该漏洞由苹果信息安全部门的 Joe Vennix 追踪发现,漏洞的编号为:CVE-2019-14287
在这里插入图片描述
使用sudo命令时,你可以直接指定用户的uid来代替用户名。之所以会产生这个漏洞,是因为将用户id转换为用户名的函数会将-1(或与无效等效的4294967295)误认为是0,而0就是root用户的id。另外,通过-u选项指定的id值在密码数据库中不存在,因此不会运行任何PAM会话 模块。

漏洞利用

该漏洞是管理员在/etc/sudoers配置文件中使用了ALL关键词后造成的。当配置文件中存在*=(ALL, *)形式的配置时,攻击者可以通过指定用户id为-1或者4294967295,从而以root权限在服务器上执行命令。
例如该条命令:boy ALL=(ALL, !root) /usr/bin/vim
在这里插入图片描述
该条命令的意思为:允许boy用户以非root权限之外的所有用户权限运行vim命令。
我们来看一下没提权之前的boy id,可以看到为1000,而root为0
在这里插入图片描述
我们用sudo -u#-1 id -u 测试一下,发现id返回为0

在这里插入图片描述
使用命令sudo -u#-1 vim进入vim环境下,然后使用!/bin/bash反弹一个shell
在这里插入图片描述
如图所示,我们已经提升至root权限,并能够查询的系统保存的密码信息。
在这里插入图片描述

修复建议

1、该漏洞影响sudo1.8.28之前的版本,低于该版本的建议升级版本
2、检查/etc/sudoers文件中是否存在ALL关键词的复合限制逻辑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值