linux 漏洞 poc,Ubuntu Linux 权限升级漏洞 PoC(CVE-2019-7304)

在 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" 等更精简的旋转中。

漏洞描述

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

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

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

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

漏洞复现

首先我们保证有一个叫 vulnbug_spyder 的低权限用户,我们查 vulnbug_spyder 版本为 2.35.5

然后我们生成一个公钥,在 Ubuntu SSO 上注册一个账户,将公钥配置到账户中,通过利用访问控制检查来使用本地 snapd 服务的受限 API 函数(POST / v2 / create-user)。这将在 Ubuntu SSO 中查询提供的电子邮件地址的用户名和公共 SSH 密钥,然后根据这些值创建本地用户,我们直接使用公开的利用脚本进行测试,发现攻击成功后会自动跳转到名字和远程 sso 注册一样的账号的 shell,但是权限很低。

但是我们直接使用 Sudo -i 的时候发现不需要输入验证密码就可以变成 root 权限

影响版本

安全问题会影响这些 Ubuntu 及其衍生产品的发布:

· Ubuntu 18.10

· Ubuntu 18.04 LTS

·Ubuntu 16.04 LTS

·Ubuntu 14.04 LTS

修复建议

Canonical 官方已经针对该漏洞发布了修复 CVE-2019-7304 的安全补丁:

时间轴

·2019-01 月 研究人员通过在 Ubuntu Linux 的默认安装中发现了一个权限提升漏洞

·2019-02-13 研究人员通过博客披露漏洞的详情

·2019-02-13 深信服千里目安全实验室复现漏洞并发布漏洞预警

参考链接

https://initblog.com/2019/dirty-sock/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值