Linuxsudo权限提升的漏洞

这篇文章主要介绍“Linux sudo权限提升的漏洞”,在日常操作中,相信很多人在Linux sudo权限提升的漏洞问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux sudo权限提升的漏洞”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

站在用户的角度思考问题,与客户深入沟通,找到丹东网站设计与丹东网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、网络空间、企业邮箱。业务覆盖丹东地区。

目录

0x01 漏洞介绍

0x02 漏洞影响

0x03 漏洞复现

0x04 漏洞细节

0x05 参考

0x01 漏洞介绍

此漏洞可以使受限制的用户运行root命令

0x02 漏洞影响

1.8.28之前的sudo版本均会受到影响

此漏洞的利用需要使用户具有sudo的权限

0x03 漏洞复现

Linux sudo权限提升的漏洞

0x04 漏洞细节

因为需要用户拥有root权限,这也意味着用户的sudoers中的runas说明符中具有特殊值ALL

我们这里来查看一下/etc/sudoers

我们可以看到下面几个用户权限的配置信息,它们的含义是这样的

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

第一个字段中,不以%开头的,代表“将要授权的用户”,例如其中的root;以%开头的表示“将要授权的组”,比如其中的%admin、%sudo

第二个字段表示允许登陆的主机,ALL表示所有,这里指明的是用户可以在哪些服务器上登陆本服务器来执行sudo命令,比如

wuxin ALL=/usr/sbin/reboot,/usr/sbin/shutdown

表示的是普通用户wuxin在所有主机上,都可以通过sudo运行reboot和shutdown两个命令

第三个字段如果省略的话,表示切换到root用户,如果为ALL,则表示可以切换到任何用户,里面的(ALL:ALL)表示的是允许切换到任何(用户:组)

PS:如果没有省略,必须使用括号将两个值括起来

第四个参数为NOPASSWD,这个文件中的这个省略掉了,意味着都是需要密码来进行操作的,如果为下面这个样子就不需要输入密码了

wuxin ALL=(ALL:ALL) NOPASSWD:ALL

第五个参数为授权操作的命令,如果值为ALL的话,就可以执行任意的命令了

这里解释了这么多,也就是说明了我们这个环境下的所有的用户都是可以执行sudo的。

在这种情况下,我们就可以使用#uid语法以任意用户ID来运行它

例如执行

sudo -u#1234 id -u

将会返回1234

Linux sudo权限提升的漏洞

但是sudo执行前用于更改用户ID的setresuid(2)和setreuid(2),特别对待用户ID-1(或其等效的4294967295),不会更改此用户的ID值,实际上他们返回的值为0

这是因为sudo本身已经用用户ID 0运行,因此在尝试更改用户ID为-1时,是不会发生任何更改的,另外由于通过-u指定的用户ID在密码数据库是不存在的,因此不会允许任何PAM会话模块

到此,关于“Linux sudo权限提升的漏洞”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


新闻名称:Linuxsudo权限提升的漏洞
链接地址:http://scyanting.com/article/pecesh.html