NotLegit:微软Azure App服务漏洞暴露用户源代码 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

NotLegit:微软Azure App服务漏洞暴露用户源代码

ang010ela 漏洞 2021-12-24 11:45:00
231845
收藏

导语:​微软Azure App服务漏洞存在长达4年,暴露大量用户源代码。

微软Azure App服务漏洞存在长达4年,暴露大量用户源代码。

Azure App Service(应用服务)是微软提供的用于构建和托管Web 应用的平台。近日,Wiz.io研究人员在Azure应用服务中发现一个安全漏洞——NotLegit,该漏洞自2017年开始存在,会引发用户的PHP、Node、Python、Ruby、Java源代码泄露。

NotLegit漏洞分析

Azure支持多种方法来部署源代码到Azure应用服务,其中一种方式就是Local Git。通过Local Git,用户可以在Azure应用服务容器中初始化一个本地Git库,然后直接推送代码到服务器上。image.png

图1 Azure应用服务中支持Git部署源码

该安全产生的根源在于你的Local Git库是公开可访问的。一般来说,在部署git库到web服务器等时,需要确保.git文件没有被上传。因为.git文件夹中包含源码、开发者邮箱和其他敏感信息。但通过Local Git 部署方式部署源码到Azure应用服务时,Git库创建的位置是/home/site/wwwroot,该目录是任何人都可以访问的一个公开目录。为了保护文件,微软在.git文件中创建了一个web.config 文件来限制对公开目录的公开访问。但只有微软IIS服务器会处理web.config文件。如果用户使用C# 或ASP.NET,并且应用部署在IIS服务器上,那就不会有任何问题。

但是如何使用的是PHP、Node、Python、Ruby、Java,这些编程语言部署在不同的web服务器上,比如Apache、Nginx、Flask,这些web服务器是不会处理web.config文件的,因此漏洞就产生了。恶意攻击者只需要从目标应用中提取/.git目录,就可以提取出源代码。

研究人员还发现微软的web.config文件中存在错误,configuration标签没有关闭,使得该文件无法被IIS服务器处理。

image.png

图2  web.config的错误

后来,微软发现使用其他Git部署根据的用户也会暴露源代码:如果Azure应用服务容器中的文件在Git部署前就被创建或修改了,那么服务就会进入“inplace deployment”状态。该状态使得之后所有的Git部署都在公开可访问目录中初始化。

漏洞影响

漏洞影响2017年9月之后Azure 应用服务默认应用中部署的所有PHP、Node、Ruby 、Python应用。

漏洞影响2017年9月之后Azure 应用服务默认应用中使用任何Git源部署的所有PHP、Node、Ruby 、Python应用。

唯一不受该漏洞影响的应用就是基于IIS服务器的应用。

漏洞在野利用

为测试该漏洞的在野利用情况,研究人员不是了一个由漏洞的Azure应用服务器应用,并链接到一个未使用的域名。在部署后的4天内,研究人员发现有多个攻击者发起了对该.git文件夹的请求。image.png

图3 未知用户发起对.git文件夹的请求

微软已于12月7日-15日向所有受影响的用户发送了通知邮件:

image.png

图4 微软向受影响的用户发送邮件通知

完整技术细节参见:https://www.wiz.io/blog/azure-app-service-source-code-leak

本文翻译自:https://www.bleepingcomputer.com/news/security/microsoft-azure-app-service-flaw-exposed-customer-source-code/如若转载,请注明原文地址
  • 分享至
取消

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

扫码支持

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

发表评论

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