前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2019-14287:利用sudo提权复现

CVE-2019-14287:利用sudo提权复现

作者头像
Timeline Sec
发布2019-12-15 11:59:12
1.6K0
发布2019-12-15 11:59:12
举报
文章被收录于专栏:Timeline SecTimeline Sec

本文作者:violin(Timeline Sec核心成员)

本文共847字,阅读大约需要2分钟

0x00 简介


sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

0x01 漏洞概述


该漏洞是一个sudo安全策略绕过问题,可导致恶意用户或程序在目标 Linux 系统上以 root 身份执行任意命令,CVE 编号为CVE-2019-14287。个人觉得该漏洞比较鸡肋,因为需要特殊的配置才能触发,在默认的Linux中并不会存在该安全问题。

0x02 影响版本


Sudo版本 < 1.8.28

0x03 环境搭建


任何linux机器上执行sudo -V得到的版本 < 1.8.28均可

本人使用的环境为sudo 1.8.23

由于需要特定的配置,所以首先修改配置文件sudoers(文件位置/etc/sudoers)

在 root ALL=(ALL:ALL) ALL 下面添加一行配置:

代码语言:javascript
复制
test    ALL=(ALL,!root) ALL

1、其中的test表示用户名 2、第一个ALL表示允许该用户在任意机器或者终端中使用sudo 3、括号里面的(ALL,!root)表示命令可以被除了root以外的任意用户身份去执行 4、最后一个ALL表示被允许执行

添加的这一行的配置的意思就是:test这个用户可以使用sudo命令,以除了root以外的任意身份去执行命令。

0x04 漏洞利用


切换到test用户:$su test

执行 $sudo id 失败

执行 $sudo -u#111 id 成功

所以我们就可以直接是使用 sudo -u#id 指定用户 id 去执行命令,由于可以指定id,所以可以使用-u#-1或者-u#4294967295绕过限制,从而以root身份去执行任意代码:

这是因为 sudo 命令本身就已经以用户 ID 为0 运行,因此当 sudo 试图将用户 ID 修改成 -1时,不会发生任何变化。这就导致 sudo 日志条目将该命令报告为以用户 ID 为 4294967295而非 root (或者用户ID为 0)运行命令。(来自代码卫士)

0x05 修复方式


更新至 Sudo 1.8.28 版本

参考链接:

https://mp.weixin.qq.com/s/FV1V_CguP1PQE68yJnEkvQ

https://www.exploit-db.com/exploits/47502

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Timeline Sec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档