Linux 本地sudo权限提升漏洞(CVE-2019-14287)
简介
- 此漏洞可以使受限制的用户运行root命令
- 1.8.28之前的sudo版本均会受到影响
漏洞复现
首先我们利用root用户新建一个test账号:
然后我们编辑/etc/sudoers(这里也要求是root权限)
这里添加一行1
test All=(ALL,!root) /bin/bash
然后我们切换到test用户,执行我们的命令:
这里是以root的权限执行了/bin/bash,这个命令就是打开一个新的shell,我们再来试一试
修改/etc/sudoers1
test All=(ALL,!root) /usr/bin/id
这里我们再来看,这里确实是以root的身份运行了id这个命令
也可以设置去运行其他的命令
漏洞原理
我们先来看看/etc/sudoers中我们添加的配置信息1
2test 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" 转载请保留原文链接及作者。