linux post请求_Linux 曝出严重安全漏洞,受限用户亦可提权至 Root 身份运行任意命令!(内附解决方案)...

59f85ee194f4ba1ee02833470e813786.png

作为 Linux 中最常使用的重要实用程序之一,sudo 几乎安装在每一款 UNIXLinux 发行版上的,以便用户调用和运行核心命令。

然而近期这个命令曝出的一个严重的本地提权漏洞,即便配置中明确不允许 root 用户访问,该漏洞仍可允许恶意用户或程序,在目标 Linux 系统上以 root 用户身份执行任意命令。

sudo 作为一个系统命令,其允许普通用户以特殊权限来运行程序或命令,而无需切换使用环境。

漏洞详情

据悉,该漏洞由苹果信息安全部门的 Joe Vennix 追踪发现(漏洞的 CVE ID 为 CVE-2019-14287 )。

4aaee1c1c2f8cdef840949796646b419.png

如果想要利用这个漏洞,只需按以下的方式运行即可。

$ sudo -u#-1 id -u

或者

$ sudo -u#4294967295 id -u

使用 sudo 命令时,你可以直接指定用户的 UID 来代替用户名。

之所以会产生这个漏洞,是因为将用户 ID 转换为用户名的函数会将 -1(或无效等效的 4294967295)误认为是 0,而这正好是 root 用户 User ID 。此外,由于通过 -u 选项指定的 User ID 在密码数据库中不存在,因此不会运行任何 PAM 会话模块。

如何利用漏洞

CVE-2019-14287 是管理员在配置文件中用了 ALL 关键词后造成的。当 /etc/sudoers 文件中存在 *=(ALL, *) 形式的配置时,本地攻击者可以通过指定用户 ID 为 -1 或者 4294967295,从而以 root 权限在服务器上执行命令。例如:

user_name ALL=(ALL, !root) /usr/bin/vim

当存在这种 ALL=(ALL, !root) 形式的配置时,表示对被切换到的用户进行了 ALL(所有用户) 和其他用户的剔除操作。例如上面的含义就是:允许 user_name 用户以非 root 权限之外的所有用户权限运行 vim 命令。

下面我们来看一个实例,首先配置一个允许 r7 用户以非 root 权限之外的所有用户权限运行 vim 命令的规则。

6fc8cbf34c6a413e0e52fde5cb63f5c5.png

然后,直接以 r7 用户身份切换为 root 来运行 vim 命令。

bb835733c0a4a1be3e9f53ed00d9cab2.png

我们可以看到,命令执行请求被拒绝了。

接着,我们利用漏洞中所描述的方式进行身份切换。

8afbd96a39bd4710fafbf78e9f5badde.png

我们可以看到成功切换为 root 用户,并打开了 /etc/shadow 文件。

09575eb4dd5c96ee07d140baba54787f.png

/etc/shadow 文件只有具备 root 权限的用户才能进行访问。

因此,我们可以很轻易地利用该漏洞在 vim 命令下启动一个具有 root 权限的 Shell,然后执行任何命令。

# 在 vim 中执行外部命令,下面这个就表示执行一个带有 root 权限的 SHELL。:!/bin/bash

漏洞修复建议

  1. 该漏洞影响最新版本 1.8.28 之前的所有 sudo 版本,目前各大 Linux 发行版都已经向用户推送最新版本,请及时升级到 sudo 1.8.28 版本。

  2. 检查 /etc/sudoers 是否存在 ALL 关键词的复合限制逻辑。

参考文档

  1. https://www.google.com

  2. https://www.cnbeta.com/articles/tech/899229.htm

  3. https://www.anquanke.com/post/id/188743

  4. https://nosec.org/home/detail/3045.html

2c65b5d38f5d39bae853c00c71776033.gif

254a0961c635a4c9147bd50e5f690295.png

你可能还喜欢

点击下方图片即可阅读

0a8205433c97dbfe68efca9f68b64c9e.png

MacOS 终端利器 iTerm 2 曝严重安全漏洞,至少存在 7 年(含 PoC 视频)

8d066e69849f7629c565cbffc62ce17a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值