前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVE-2019-7304 Ubuntu Linux 权限升级漏洞复现

CVE-2019-7304 Ubuntu Linux 权限升级漏洞复现

作者头像
墙角睡大觉
发布2019-09-24 16:01:12
1.6K0
发布2019-09-24 16:01:12
举报

在2019年1月,国外安全人员在Ubuntu Linux的默认安装中发现了一个权限提升漏洞。这是由于snapd API中的一个错误,这是一个默认服务。任何本地用户都可以利用此漏洞获取对系统的直接root访问权限,CVE编号CVE-2019-7304。

为了简化Linux系统上的打包应用程序,各种新的竞争标准正在出现。Canonical,Ubuntu Linux的制造商,正在推广他们的“Snap”软件包。这是一种将所有应用程序依赖项转换为单个二进制文件的方法 – 类似于Windows应用程序。

Snap生态系统包括一个“应用程序商店”,开发人员可以在其中贡献和维护随时可用的软件包。

管理本地安装的Snap以及与此在线商店的通信部分由名为“snapd”的系统服务处理。此服务自动安装在Ubuntu中,并在“root”用户的上下文中运行。Snapd正在发展成为Ubuntu操作系统的重要组成部分,特别是在用于云和物联网的“Snappy Ubuntu Core”等更精简的旋转中。

0X1 漏洞描述

Snapd提供附加到本地UNIX_AF套接字的REST API。通过查询与该套接字的任何连接相关联的UID来完成对受限API函数的访问控制。在for循环中进行字符串解析期间,可能会影响用户控制的套接字对等数据以覆盖UID变量。这允许任何用户访问任何API函数。

通过访问API,有多种方法可以获取root。下面提到了两种可能性:

1.使用“create-user”API根据从Ubuntu SSO查询的详细信息创建本地用户。

2.Sideloads Snap包含一个生成新本地用户的install-hook。

本次影响版本:

Ubuntu 18.10

Ubuntu 18.04 LTS

Ubuntu 16.04 LTS

Ubuntu 14.04 LTS

0X2 环境搭建

实验环境Ubuntu16.04

然后下载POC代码:

https://github.com/initstring/dirty_sock

登录Ubuntu:https://login.ubuntu.com

然后本地生成一个秘钥:

ssh-keygen -t rsa -C "<you email>"

然后到./.ssh下把,id_rsa.pub(公钥)拷到你账户的ssh_key里面去

0X2 漏洞利用

开始利用下载的poc代码文件中第一个脚本测试:

直接利用脚本1进行提权攻击:

显示成功,但是ssh没有开启,所以连接失败,再次利用显示失败!

利用脚本2成功:

成功添加账户dirty_sock,查看其信息,发现已经具有sudo权限:

提权成功!

再次回到第一次提权,发现snap的版本已经系统被更新了:

官方给的修复即将snap升级到2.37.1以上即可,所以脚本1利用失败!但是利用脚本2的用户我们已经添加了,所以后门用户存在。因此,使用Ubuntu系统的用户需要尽快更新升级!

参考文章:

https://github.com/SecuritySi/CVE-2019-7304_DirtySock

http://www.4hou.com/vulnerable/16181.html

https://github.com/initstring/dirty_sock

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

本文分享自 安全漏洞环境学习 微信公众号,前往查看

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

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

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