文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Azure漏洞允许攻击者升级权限

2024-12-03 06:15

关注

由于触发该漏洞需要规避一个flush-to-disk限制,Intezer研究人员将该漏洞称为 "Royal Flush"。逃脱flush-to-disk限制就意味着要把数据移交给内核,在那里数据对于其他进程来说是可见的,但是在系统重启后可能就无法使用了。

[[394958]]

该公司发现,Azure Functions容器在运行时会使用privileged Docker标志,这意味着Docker主机和容器使用者都可以共享/dev目录中的设备文件。该漏洞是由于这些设备文件具有 "他人 "的读写权限而引起的。

周四发布的分析报告中描述,"相对宽松的设备文件权限并不是系统的默认设置"。

根据Intezer的说法,由于Azure Functions环境中包含了52个不同的文件系统分区,这些分区可以使得不同权限的用户可见,这个特点就成了一个很大的安全问题。

研究人员解释说:"我们怀疑这些分区是属于其他Azure Functions客户端的,但通过进一步的评估显示,这些分区只是同一操作系统所使用的普通文件系统,比如Docker主机的文件系统pmem0 "。

Intezer研究副总裁Ari Eitan告诉Theatpost:"在攻击者以一个低权限的用户身份来访问受害者环境的情况下,这可能就会变得非常危险,利用这个漏洞,攻击者可以升级权限,做一些他本不能够做到的事情(例如从文件系统中读取文件)。"

此外,虽然该漏洞不是一个Docker逃逸漏洞,他说:"如果用户能够升级到root权限,他们将能够使用各种Docker逃逸技术逃逸到Docker主机内,将这两者结合在一起使用,对于系统的安全来说将是一个巨大的威胁。"

Royal Flush云容器漏洞

为了查找这种设置可能会产生的攻击路径,研究人员创建了一个本地测试容器。他们发现,通过使用Debugfs程序(一种用于调试Linux内核的特殊程序,可以用来检查和改变文件系统的状态),一个无权限的用户可以轻松穿越Azure Functions文件系统。而且,事实证明,非特权用户还可以直接编辑其中的任何文件。

据分析:"一开始,我们尝试使用zap_block命令直接编辑文件系统块的内容。在系统内部,Linux内核会将/dev/sda5设备文件进行修改处理,对/etc/passwd文件的修改会写入到缓存中。因此,需要将系统的更改刷新到磁盘内,这种刷新是由Debugfs程序处理实现的。"

然而,研究人员找到了一种方法,能够绕过这种对文件进行直接修改的限制。

研究人员解释说:"首先,我们在容器的diff目录中,通过Debugfs创建了一个硬链接,这样更改就会影响到我们的容器中的文件了。"

他们补充说:"这个硬链接仍然需要root权限来编辑,所以我们还必须要使用zap_block来编辑其中的内容。受一个名为'pagecache管理'的项目启发,我们可以使用posix_fadvise来使得内核从缓存中刷新页面。这会使得内核加载我们的修改,我们最终会将它们传播到Docker主机文件系统中。"

研究人员指出,Debugfs还支持写模式,允许用户对底层磁盘进行修改。他们补充说:"需要重点注意的是,我们通常不会向挂载的磁盘中写入内容,因为它可能会导致磁盘的损坏"。

研究人员解释说,由于攻击者可以编辑Docker主机的任意文件, 因此他们可以对/etc/ld.so.preload文件进行修改,这将允许攻击者进行"预加载-劫持 "攻击,通过容器的diff目录来传播恶意的共享文件。

根据研究人员分析:"这个文件可能会被预加载到Docker主机系统中的每个进程中(我们之前就记录了使用这种技术的HiddenWasp恶意软件),因此攻击者这样就能够在Docker主机上执行恶意代码。"

Intezer向微软安全响应中心(MSRC)报告了该漏洞,但微软并没有发布补丁。根据分析,这家计算巨头认定该漏洞 "对Azure Functions用户的安全没有影响",因为研究人员使用的Docker主机实际上是一个HyperV容器,有另一个沙箱的保护。但这并不是说这个漏洞在其他的配置下就不会有危险。

Eitan说:"尽管MSRC说这个没有什么可担心的,但我们相信高级攻击者可以利用这个漏洞,并且它可以帮助攻击者进行更高级别的攻击,这也就是我们要公布它的原因。"

研究人员还提供了漏洞验证的代码。

微软对此并没有立即进行回复评论。

Intezer建议:"通过这样的案例我们可以发现,漏洞有时是未知的,或者是消费者无法控制的,我们建议要对云安全采取双层保护的方法。做好基本的防护工作,比如修复已知的漏洞和加固你的操作系统,降低被攻击的可能性。实施运行时的保护策略,检测和应对漏洞的利用和其他的内存攻击。"

本文翻译自:https://threatpost.com/azure-functions-privilege-escalation/165307/

【责任编辑:赵宁宁 TEL:(010)68476606】

 

来源:嘶吼网内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯