设为首页收藏本站
查看: 11483|回复: 3

CVE-2019-14287:sudo权限绕过漏洞分析与复现

[复制链接]
  • TA的每日心情

    2019-12-16 12:15
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    发表于 2019-10-28 17:50:04 | 显示全部楼层 |阅读模式


    漏洞概述
    有的用户可能知道,如果将sudo配置为允许用户通过Runas规范中定义的ALL关键字来以任意用户身份运行命令的话,那么攻击者将有可能通过制定用户ID -1或4294967295来以root权限执行恶意命令。

    际上,只要用户的权限足够高,即拥有最高sudo权限的用户,并且在Runas规范中定义了ALL关键字的话,他们就可以运行Runas规范中明确禁止使用的那些root命令,而且以这种方式运行的命令其日志项所显示的目标用户为4294967295,而不是root。与此同时,在执行相应命令的过程中,PAM会话模块将不会运行。

    Sudo 的全称是“superuserdo”,它是Linux系统管理指令,允许用户在不需要切换环境的前提下以其它用户的权限运行应用程序或命令。通常以 root 用户身份运行命令,是为了减少 root 用户的登录和管理时间,同时提高安全性。

    2019年10月14日,Sudo官方发布了Sudo 1.8.28版本,其中包含sudo root权限绕过漏洞(CVE-2019-14287)的补丁修复。

    CVE ID
    CVE为该漏洞分配的漏洞CVE编号为CVE-2019-14287。


    漏洞细节分析
    一般情况下,大多数Linux发行版的Runas规范(/etc /sudoers)都如下图所示,其中定义的ALL关键字将允许admin或sudo组中的用户以目标系统中的任意用户身份来运行命令:


    如果想利用该漏洞来实施攻击,用户需要拥有sudo权限,并允许用户使用任意用户ID来运行命令。通常来说,这意味着用户的sudoer项在Runas规范中定义了特殊的ALL值。

    如果sudoer策略允许的话,sudo支持由用户指定的用户名或用户ID来运行命令。比如说,下列sudoer项允许我们以任意用户的身份来运行id命令,因为在Runas规范中它包含了ALL关键字。

    alice myhost = (ALL) /usr/bin/id

    除了以任意有效用户的身份运行id命令之外,我们还能够以任意用户ID来运行该命令,此时需要使用#uid语句:

    sudo -u#1234 id -u

    该命令将返回“1234”。但是,sudo可以使用setresuid(2)和setreuid(2)这两个系统调用来在命令运行之前修改用户ID,并将用户ID修改为-1(或未签名的等价用户ID-4294967295):
    sudo -u#-1 id -u



    sudo -u#4294967295 id -u


    上述命令运行之后,将返回“0”。这是因为sudo命令本身已经在以用户ID“0”运行了,所以当sudo尝试将用户ID修改为“-1”时,不会发生任何变化。

    但是,sudo日志条目中记录下的命令运行用户的ID为“4294967295”,而并非root用户(或用户ID为“0”),除此之外,因为用户ID是通过-u选项指定的,并且不会在密码数据库中存储,所以PAM会话模块也不会运行。

    如果sudoer条目允许用户以任意用户身份运行命令(非root),那么攻击者就可以利用该漏洞来绕过这种限制了。比如说,我们有下列sudoer条目:
    bob myhost = (ALL, !root) /usr/bin/vi

    用户bob能够以除了root之外的其他任意用户身份来运行命令vi,但由于该漏洞的存在,bob实际上能够通过下列命令来以root权限运行vi命令,并绕过目标系统中的安全策略:
    sudo -u#-1 vi


    只有当包含了ALL关键词的sudoer条目存在于Runas规范中时,该漏洞才存在。比如说,如果规范中包含下列sudoer条目的话,目标系统是不会受到该漏洞影响的:
    alice myhost = /usr/bin/id

    在上述例子中,alice只能够以root权限运行id命令,任何以不同身份用户运行命令的尝试都将被拒绝。
    攻击场景截图:

    漏洞复现截图:

    受影响的Sudo版本
    版本号 < 1.8.28的Sudo版本均将受到该漏洞的影响。

    漏洞修复
    Sudo v1.8.28版本已修复该漏洞,建议广大Linux用户尽快手动将sudo包更新至最新版本。
  • TA的每日心情

    2020-6-23 10:47
  • 签到天数: 204 天

    [LV.7]常住居民III

    发表于 2019-10-29 00:00:47 | 显示全部楼层
    来水一波帖子感谢大佬分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    昨天 14:25
  • 签到天数: 779 天

    [LV.10]以坛为家III

    发表于 2019-12-2 20:57:45 | 显示全部楼层
    可以导致所有sudo账号,权限不足的也行,都可以绕过PAM包括黑名单,这也会影响logging的正确性,PAM指的是可插拔认证模块吧。关于这方面我还要多向楼主请教请教
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-6-6 18:21
  • 签到天数: 144 天

    [LV.7]常住居民III

    发表于 2020-1-9 15:20:37 来自手机 | 显示全部楼层
    416773409 发表于 2019-10-29 00:00
    来水一波帖子感谢大佬分享

    不要水贴,警告
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐 上一条 /3 下一条

    红盟社区--中国红客联盟 

    Processed in 0.073396 second(s), 16 queries.

    站点统计| 举报| Archiver| 手机版| 黑屋 |   

    Powered by HUC © 2001-2017 Comsenz Inc.

    手机扫我进入移动触屏客户端

    关注我们可获取更多热点资讯

    Honor accompaniments. theme macfee

    快速回复 返回顶部 返回列表