Linux sudo权限绕过漏洞详解

最近大热的bug时间,就是Linux sudo权限绕过漏洞CVE-2019-14287事件,对此,我们做了一些研究。虽然各大平台已经把核心的东西晒出来了,但是,因为目前没有说的特别完整的,所以,笔者研究一番后,总算是把这个过程都弄明白了。

关于sudo的定义,我们就不细说了,不了解的小伙伴可以问度娘。这里我们主要说一下漏洞的问题。

本漏洞存在于sudo 1.8.28之前的版本,随便打开个虚拟机看看当前版本。如果版本没有问题,那就直接开撸。

先附上发现者苹果信息安全部门Joe Vennix的原文:

从这里我们知道,要复现这个漏洞是有前提的,上文中作者赋予bob用户通过sudo命令执行vi命令的权利,但是只拥有除了root权限以外的权限,很明显,这样以来,是不能修改和访问root用户和用户组的文件的。

而如果不添加这个权限,bob是不能执行sudo命令的,举个例子:

文件中并没有赋予其他用户使用sudo命令的权利,我们切换到common用户,执行sudo命令:

很明显,common用户不能使用sudo,我们将common用户添加到sudoers中,也赋予非root权限执行vi命令:

首先赋予sudoers root用户写的权利,原本sudoers是没有写的权利的:

然后将非root使用vi命令的权利赋给common:

我们现在来试试common的sudo vi:

OK,我们可以使用sudo vi修改文件了,但是现在没有root权限,所以无法修改root组的/etc/passwd文件。

我们知道,root用户的id是0,如果我们能将common用户的id也变成0就可以执行root的权限了,这也就是漏洞的原理所在,当前sudo版本会将id为-1和4294967295的用户作为id为0来进行识别,所以我们只需要将uid指定为0或4294967295均可绕过上面的权限控制执行root权限:

OK,这样我们就可以让common用户以root权限执行vi命令了。

(0)

相关推荐

  • 快检查一下你的sudo:无需密码就能获取root权限,还是个10年老bug

    贾浩楠 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "这可能是近期内最需要重视的sudo漏洞." 程序员都知道,一句sudo可以"为所欲为". ...

  • Debian与Ubuntu有哪些区别,哪个更好?

    Debian和Ubuntu都是比较着名的Linux系统之,目前很多租用的美国服务器大多都支持安装这两种操作系统. Ubuntu是私有标准桌面化Linux系统,而对于有经验的用户来说,可能更倾向于选择D ...

  • Ubantu服务器创建多个用户,多个用户互不干扰

    实验室采购了一台Linux服务器,需要几个人使用.我们希望几个人在使用的过程中,互不干扰.自己所安装的各种环境不会对其他人或root账号下的主系统环境有影响.要达成此目的,需要使用拥有超级管理员权限的 ...

  • linux 系统 chown设置文件权限

    一.相关命令sudo groupadd dnsmasqsudo chown enadmin:enadmin test.txt二.过程~/test$ ls -l-rw-r--r-- 1 root roo ...

  • Debian普通用户获取root权限|sudo的安装与配置

    转载于:https://www.linuxidc.com/Linux/2016-04/130522.htm Debian系统的普通用户需要安装软件时,往往会收到"Permission den ...

  • sudo以其他用户身份身份执行命令-linux运维命令

    Linux运维管理人员以另一个用户身份执行命令就会用到sudo命令.通过sudo命令,可以让普通用户在执行指定的命令或程序上,拥有超级用户的权限,进行分类,并且有针对性地将不同的命令授予指定的普通用户 ...

  • Linux openssl 生成证书的详解

    目录 前言 1 概念 2 环境 3 创建根证书CA 4 颁发证书 4.1 在需要证书的服务器上,生成证书签署请求 4.2 在根证书服务器上,颁发证书 5 测试 5.1 读取test.pfx文件 5.2 ...

  • (7条消息) linux send与recv函数详解

    转载地址: http://blog.csdn.net/sjin_1314/article/details/9565743 [csharp]  view plain  copy   print ? 1  ...

  • linux命令总结dd命令详解

    一:dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文件 ...

  • 【转】ecshop后台语言项执行漏洞详解

    该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门. 以下是详细分析 1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索用户信息 为什么要搜索用户该漏洞需要能登录 ...

  • CPU漏洞详解

    CPU漏洞详解

  • 安装需要管理员权限怎么办?软件程序文件需要管理员权限解决方法详解

    我们的电脑可以安装许多软件,比如说学习软件.游戏软件等等.,最近有位朋友在使用电脑安装程序软件的时候,系统会提示"需要管理员权限",让他感觉到很烦.但是设置管理员权限,又担心恶意软 ...

  • 万字长文!Unix和Linux你不知道的那些历史(详解版)

    00 前言 UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,L ...

  • 【Linux 命令】scp 命令详解

    Linux 命令之 scp 命令详解 一.scp 简介 scp 命令用于不同主机之间复制文件和目录. scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令. s ...

  • 【Linux 命令】cp 命令详解

    一.cp 命令简介 cp 命令主要用于复制文件或目录.即用来将一个或多个源文件或者目录复制到指定的目的文件或目录. cp 命令可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下. ...