Linux sudo权限绕过漏洞详解

Linux sudo权限绕过漏洞CVE-2019-14287详解

难得提起兴致写一篇软文,对于新曝光的Linux sudo权限绕过漏洞CVE-2019-14287做了一些研究,
各大平台都已经把核心东西亮出来了,但是目前没有发现说的特别完整的,经过一番摸索,总算
弄清楚了。

关于sudo的定义就不细说了,网上随便搜搜一大堆,这里直接进入正题。
本漏洞存在于sudo 1.8.28之前的版本,随便打开个虚拟机看看当前版本:
在这里插入图片描述
版本没有问题,直接开撸。

先附上发现者苹果信息安全部门Joe Vennix的原文:
在这里插入图片描述
从这里我们知道,要复现这个漏洞是有前提的,上文中作者赋予bob用户通过sudo命令执行vi命令的权利,但是只拥有除了root权限以外的权限,很明显,这样以来,是不能修改和访问root用户和用户组的文件的。
而如果不添加这个权限,bob是不能执行sudo命令的,举个例子:
在这里插入图片描述
文件中并没有赋予其他用户使用sudo命令的权利,我们切换到common用户,执行sudo命令:
在这里插入图片描述
很明显,common用户不能使用sudo,我们将common用户添加到sudoers中,也赋予非root权限执行vi命令:
首先赋予sudoers root用户写的权利,原本sudoers是没有写的权利的:
在这里插入图片描述
然后将非root使用vi命令的权利赋给common:
在这里插入图片描述
我们现在来试试common的sudo vi:
在这里插入图片描述
OK,我们可以使用sudo vi修改文件了,但是现在没有root权限,所以无法修改root组的/etc/passwd文件。
我们知道,root用户的id是0,如果我们能将common用户的id也变成0就可以执行root的权限了,这也就是漏洞的原理所在,当前sudo版本会将id为-1和4294967295的用户作为id为0来进行识别,所以我们只需要将uid指定为0或4294967295均可绕过上面的权限控制执行root权限:
在这里插入图片描述
OK,这样我们就可以让common用户以root权限执行vi命令了。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值