CVE-2019-14287:linux sudo bug - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

CVE-2019-14287:linux sudo bug

ang010ela 漏洞 2019-10-16 10:02:59
149069
收藏

导语:Linux SUDO bug可使用用户以root权限运行命令。

研究人员在Linux SUDO命令中发现了一个bug,非授权的用户可以利用该bug以root权限运行命令。幸好该漏洞不是以标准配置下运行,因此大多数Linux服务器不受影响。

在Linux操作系统下执行命令时,非特权的用户可以用sudo命令来以root权限来运行命令,前提是要知道root用户密码或提前被授予权限。

可以通过在/etc/sudoers配置文件中加入特殊命令来配置Sudo命令为允许用户以其他用户运行命令。比如,下面的命令就可以让用户test以其他非root用户来运行/usr/bin/vim和 /usr/bin/id命令。

test ALL = (ALL, !root) /usr/bin/vim
test ALL = (ALL, !root) /usr/bin/id

Test用户要运行上面的命令,就可以用sudo -u来指定要运行的用户。比如:

sudo -u bleeping-test vim

在Linux中创建用户时,每个用户都会有一个UID。如下图所示,test用户的UID为1001,用户bleeping-test的 UID 为1002。

UIDs of users 

用户UID

用户在使用sudo命令时还可以用UID来替代用户名。比如,下面的命令就用bleeping-test用户的UID来替代用户名了:

sudo -u#1002 vim

漏洞分析

苹果安全研究人员 Joe Vennix 发现sudo命令中存在一个安全漏洞,用户利用该漏洞可以通过在sudo命令中将UID 设为-1或4294967295来以root权限运行sudo命令。

比如,下面的命令就利用该漏洞来以root权限启动 /usr/bin/id ,但是test用户的 /etc/sudoers文件中是没有这样的权限的。

sudo -u#-1 id

使用该bug来运行/usr/bin/id命令来获取root权限如下所示:

 Using the sudo bug to run /usr/bin/id as root

利用sudo bug以root权限运行/usr/bin/id

虽然该bug很强大,但是只有通过sudoers配置文件授予用户这样的权限该漏洞才可能运行。如果没有配置的话,该漏洞是无法利用的,而大多数Linux发行版中默认是不配置的。

攻击

为了利用该漏洞,用户需要为命令配置sudoer指令来启动其他命令。

在下面的例子中,研究人员使用的是VIM命令:

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

在VIM中,用户可以用:!命令启动其他程序。比如,在VIM中,可以用!ls 来在当前文件夹中执行ls命令。

如果使用 sudo -u#-1 vim命令来利用该漏洞,VIM就会以root启动。用户可以执行 !whoami 命令来进行确认。

VIM running as root 

VIM以root运行

可以看到VIM 以root权限启动了,其中执行的所有命令都是root权限运行的。

在被黑的机器上就可以用这样的方法来启动root shell,然后执行任意命令。

攻击的POC视频如下:

Launching a root shell 

启动root shell

Sudo v1.8.28之前版本受到该漏洞的影响。最新发布的sudo 1.8.28版本修复了该漏洞,研究人员建议用户尽快升级到1.8.28版本。

更多技术细节参见:https://www.sudo.ws/alerts/minus_1_uid.html

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务