Sudo Security Bypass
一个在Unix Sudo程序中探索CVE-2019-14287的靶场
CVE-2019-14287新版的sudo已经修复了该漏洞,但是版本<1.8.28的sudo还可能存在该漏洞
sudo是Uinx中的命令,用于以其它用户的身份执行命令(一般为root权限)
举个例子,比如root家目录下的文件只有root权限才能访问
你sudo后就是以root权限运行cat命令,就能查看root家目录下的文件
![](https://i-blog.csdnimg.cn/blog_migrate/3062f9725a8f9fd57ad2516fd97ff72c.png)
sudo的配置文件在/etc/sudoers
![](https://i-blog.csdnimg.cn/blog_migrate/5a6cae563ec423d12a8d1786e9ac41c8.png)
某些时候管理员会设置不允许已root权限允许命令
<user> ALL=(ALL:!root) NOPASSWD: ALL
这个设置可以以任何用户执行,除了root。
理论上看似很安全的设置,没法执行UID为0的权限sudo -u#0 <command>(rootUID为0)
但是如果你将UID设置为-1,sudo则会将其读取为0。sudo -u#-1 <command>
![](https://i-blog.csdnimg.cn/blog_migrate/382e9e46f1ce8ace85178edd8f6f16b9.png)
我们用实例演示
sudo -l 查看能sudo的命令,好家伙是个bash
![](https://i-blog.csdnimg.cn/blog_migrate/c5f31b5a4cc8fd453944a958ba9153e2.png)
直接sudo -u#-1 /bin/bash提升为root的bash
![](https://i-blog.csdnimg.cn/blog_migrate/37e9fb8922c8081326567171e8a20b48.png)