Linux 本地sudo权限提升漏洞(CVE-2019-14287)

  1. 简介
  2. 漏洞复现
  3. 漏洞原理
  4. 参考

简介

  • 此漏洞可以使受限制的用户运行root命令
  • 1.8.28之前的sudo版本均会受到影响

漏洞复现

首先我们利用root用户新建一个test账号:

然后我们编辑/etc/sudoers(这里也要求是root权限)

这里添加一行

1
test	All=(ALL,!root) /bin/bash

然后我们切换到test用户,执行我们的命令:

这里是以root的权限执行了/bin/bash,这个命令就是打开一个新的shell,我们再来试一试

修改/etc/sudoers

1
test	All=(ALL,!root) /usr/bin/id

这里我们再来看,这里确实是以root的身份运行了id这个命令

也可以设置去运行其他的命令

漏洞原理

我们先来看看/etc/sudoers中我们添加的配置信息

1
2
test	All=(ALL,!root) /usr/bin/id
授权用户/组 主机=[(切换到哪些用户或组)][是否需要输入密码验证] 命令1,命令2

我们这里并没有设置是否需要输入密码,所以默认是要输入密码执行的,要是不想要密码可以设置为:

1
test	All=(ALL,!root) NOPASSWD:ALL /usr/bin/id

我们再去运行一下,就不需要密码了

-u#-1 可以指定用户的id值,但是我们没有id值为-1的用户,默认应该就将不能识别的id值变成了0,id为0的值就是root了

(这是因为将用户ID转换为用户名的函数将-1或其无符号等效4294967295误认为是0,该值始终是root用户的用户ID。)

讲解完毕~

参考

https://thehackernews.com/2019/10/linux-sudo-run-as-root-flaw.html


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 sher10cksec@foxmail.com

文章标题:Linux 本地sudo权限提升漏洞(CVE-2019-14287)

本文作者:sher10ck

发布时间:2019-10-16, 14:53:24

最后更新:2020-01-13, 13:04:09

原始链接:http://sherlocz.github.io/2019/10/16/Linux-本地sudo权限提升漏洞-CVE-2019-14287/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录