Azure Functions 提权漏洞分析
AzureFunctions是一种无服务器解决方案,可以使用户减少代码编写、减少需要维护的基础结构并节省成本。无需担心部署和维护服务器,云基础结构提供保持应用程序运行所需的所有最新资源。你只需专注于对你最重要的代码,AzureFunctions处理其余代码。AzureFunctions允许您提供一个带有不同“钩子”的简单应用程序,以触发它运行。这些可以是简单的Web挂钩或其他基于云的服务上的事件(例如,写入OneDrive的文件)。AzureFunctions的一个很好的好处是它们可以轻松地与其他供应商的服务绑定,例如Twilio或GitHub。
过渡到云服务的一个最常见的好处是可以共同承担保护资产的责任,但是云提供商也不能避免安全漏洞,比如漏洞或错误配置。这是研究人员在过去几个月在AzureFunctions中发现的第二次权限升级(EoP)漏洞。
今年2月份,安全公司Intezer研究人员发现微软的无服务器运算服务AzureFunctions,存在一个特权提升漏洞,且程序代码可从AzureFunctionsDockerDocker逃脱(Escape)至Docker主机。但微软认为,这个漏洞不影响用户安全。
AzureFunctions让用户不需要配置和管理基础设施,就能简单地开始执行程序代码,可由HTTP请求触发,并且一次最多只能执行数分钟处理该事件,用户的程序代码会在Azure托管的Docker中执行,无法逃脱受限的环境,但是这个AzureFunctions的新漏洞,却可让程序代码逃脱至Docker主机。
当程序代码逃脱到了Docker,取得根访问权限,就足以破坏Docker主机,并获得更多的控制权,除了逃脱可能受到监控的Docker,还能转移到安全性经常被忽略的Docker主机。
这一次,Intezer研究人员是与微软安全响应中心(MSRC)合作并报告的新发现的漏洞。他们确定这种行为对AzureFunctions用户没有安全影响。因为发现的Docker主机实际上是一个HyperV客户端,而它又被另一个沙箱层保护起来了。
不过,类似这样的情况仍然表明,漏洞有时是未知的,或者不受云用户的控制。推荐一种双管齐下的云安全方法:做一些基础工作,例如修复已知的漏洞和加固系统以减少受到攻击的可能性,并实现运行时保护,以便在漏洞利用和其他内存攻击发生时检测/响应它们。
Azure Functions Docker中的漏洞分析
Azure FunctionsDocker以-privilegedDocker标志运行,从而导致/dev目录下的设备文件在Docker主机和Docker客户端之间共享。这是标准的特权Docker行为,然而,这些设备文件对“其他”文件具有“rw”权限,如下所示,这是我们提出的漏洞会发生的根本原因。
AzureFunctionsDocker与低权限的应用程序用户一起运行。Docker的主机名包含“沙箱”一词,这意味着将用户包含在低权限中是很重要的。容器使用–privileged标志运行,这意味着,如果用户能够升级为root用户,则他们可以使用各种Docker转义技术逃到Docker主机。
设备文件上的宽松权限不是标准行为,从我的本地特权Docker设置中可以看到,/dev中的设备文件默认情况下不是很宽松:
AzureFunctions环境包含52个带有ext4文件系统的“pmem”分区。起初,我们怀疑这些分区属于其他AzureFunctions客户端,但进一步评估表明,这些分区只是同一个操作系统使用的普通文件系统,包括pmem0,它是Docker主机的文件系统。
使用debugfs读取Azure FunctionsDocker主机的磁盘
为了进一步研究如何利用此可写磁盘而不会潜在地影响其他Azure客户,研究人员在本地容器中模拟了该漏洞,并与非特权用户“bob”一起建立了本地环境:
利用设备文件o+rw
在我们的本地设置中,/dev/sda5是根文件系统,它将成为我们的目标文件系统。
使用debugfs实用程序,攻击者可以遍历文件系统,如我们上面成功演示的那样。debugfs还通过-w标志支持写入模式,因此我们可以将更改提交到基础磁盘。请务必注意,写入已挂载的磁盘通常不是一个好主意,因为它可能会导致磁盘损坏。
通过直接文件系统编辑利用
使用debugfs用'A'(0x41)覆盖/etc/passwd内容
类似地,Linux内核为最近加载到内存中的页面托管了一个读取缓存。
不幸的是,由于与我们在写入缓存中说明的约束相同,对/dev/sda5的更改将不会传播到/etc/passwd文件的视图中,直到其缓存的页面被丢弃。这意味着,我们只能覆盖最近未从磁盘加载到内存的文件,或者等待系统重新启动以应用更改。
经过进一步研究,研究人员找到了一种方法来指示内核放弃读取缓存,以便他们的zap_block更改可以生效。首先,我们通过debugfs创建了一个到Docker的diff目录的硬链接,以便更改可以辐射到Docker:
刷新读取缓存
Docker主机文件系统中的/etc/passwd,刷新后我们可以看到“AAA”字符串
总结
对漏洞利用的PoC进行总结如下:
微软目前对此发现的评估是,这种行为对AzureFunctions用户没有安全影响。因为我们探测的Docker主机实际上是一个HyperV客户端,所以它被另一个沙箱层保护。
无论你如何努力保护自己的代码,有时漏洞都是未知的或无法控制的。因此你应该具备运行时保护功能,以便在攻击者在你的运行环境中执行未经授权的代码时检测并终止攻击。
本文翻译自:
https://www.intezer.com/blog/cloud-security/royal-flush-privilege-escalation-vulnerability-in-azure-functions/
推荐系统
番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载
语言:中文版系统大小:3.91GB系统类型:Win7欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统
番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(32位) ISO镜像快速下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows 10 32位企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
笔记本&台式机专用系统 Windows10 企业版 版本1903 2022年7月(64位) 提供下载
语言:中文版系统大小:3.98GB系统类型:Win10笔记本台式机专用系统 Windows10 64专业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的专业版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动
雨林木风 Windows10 x64 企业装机版 版本1903 2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10新雨林木风 Windows10 x64 企业装机版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活
深度技术 Windows 10 x64 企业版 电脑城装机版 版本1903 2022年7月(64位) 高速下载
语言:中文版系统大小:3.98GB系统类型:Win10深度技术 Windows 10 x64 企业TLSB 电脑城装机版2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程
电脑公司 装机专用系统Windows10 x64 企业版2022年7月(64位) ISO镜像高速下载
语言:中文版系统大小:3.98GB系统类型:Win10电脑公司 装机专用系统 Windows10 x64 企业TLSB版2022年7月一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过
热门系统
- 1华硕笔记本&台式机专用系统 GhostWin7 32位正式旗舰版2018年8月(32位)ISO镜像下载
- 2深度技术 Windows 10 x86 企业版 电脑城装机版2018年10月(32位) ISO镜像免费下载
- 3电脑公司 装机专用系统Windows10 x86喜迎国庆 企业版2020年10月(32位) ISO镜像快速下载
- 4雨林木风 Ghost Win7 SP1 装机版 2020年4月(32位) 提供下载
- 5深度技术 Windows 10 x86 企业版 六一节 电脑城装机版 版本1903 2022年6月(32位) ISO镜像免费下载
- 6深度技术 Windows 10 x64 企业版 电脑城装机版2021年1月(64位) 高速下载
- 7新萝卜家园电脑城专用系统 Windows10 x64 企业版2019年10月(64位) ISO镜像免费下载
- 8新萝卜家园 GhostWin7 SP1 最新电脑城极速装机版2018年8月(32位)ISO镜像下载
- 9电脑公司Ghost Win8.1 x32 精选纯净版2022年5月(免激活) ISO镜像高速下载
- 10新萝卜家园Ghost Win8.1 X32 最新纯净版2018年05(自动激活) ISO镜像免费下载
热门文章
- 1迅雷云播“手机看片神器”使用教程(随时随地秒速离线云播放)
- 2Win10怎么设置网络按流量计费 Win10网络设置流量收费教程
- 3微信公众号怎么年审? 微信公众号年审流程及所需材料介绍
- 4win7蓝屏代码7f指什 怎么解决 很严重
- 5二手笔记本电脑价格是多少 二手笔记本电脑价格盘点
- 6安卓手机安装运行win7系统教程 安卓手机装win7系统教程
- 7华硕b460主板装win7系统及bios设置教程 10代CPU安装Win7教程 BIOS设置 U盘启动 完美支持USB驱动
- 8高通骁龙8cx怎么样 高通骁龙8cx处理器详细介绍
- 9Steam提示“需要在线进行更新,请确认您的网络连接正常”怎么办?
- 10aoc一体机电脑win10改win7系统及bios设置
常用系统
- 1雨林木风Ghost Win8.1 (X32) 好用纯净版2018年05(免激活) ISO镜像免费下载
- 2雨林木风Ghost Win8.1 (X64) 极速纯净版2019年8月免激活) ISO镜像高速下载
- 3电脑公司 GhostXpSp3 电脑城装机版 2020年11月 ISO镜像高速下载
- 4新萝卜家园电脑城专用系统 Windows10 x64 企业版 版本1903 2021年11月(64位) ISO镜像免费下载
- 5深度技术 Ghost Win7 x64 Sp1 电脑城纯净版2022年2月(64位) ISO镜像高速下载
- 6雨林木风 Windows10 x64 企业装机版2020年2月(64位) ISO镜像高速下载
- 7笔记本&台式机专用系统 Windows10 中秋特别 企业版 版本1903 2021年9月(64位) 提供下载
- 8番茄花园Ghost Win8.1 x64 办公纯净版2022年7月(激活版) ISO镜像高速下载
- 9番茄花园 Ghost XP SP3 海量驱动装机版 2020年4月 ISO镜像高速下载
- 10电脑公司 Ghost Win7 x64 Sp1 装机万能版2018年7月(64位) ISO镜像快速下载