研究人员说,微软Azure应用服务有一个已经存在了四年的漏洞,该漏洞可能会暴露用PHP、Python、Ruby或Node编写的网络应用程序的源代码,这些应用都是在本地使用Git部署的。
根据Wiz的分析,该漏洞几乎可以肯定已经作为零日漏洞被在野利用了。该公司将该漏洞称为 "NotLegit",并表示它自2017年9月以来就一直存在。
Azure应用服务(又称Azure Web Apps)是一个基于云计算的平台,主要用于托管网站和网络应用程序。同时,本地Git允许开发人员在Azure应用服务容器内启动本地的Git仓库,以便于将代码直接部署到服务器上。部署后,互联网上的任何人都可以在*.azurewebsites.net域名下访问该应用程序。
这个漏洞出现的原因是因为当使用本地Git时,Git文件夹也会被上传并在未打补丁的系统上公开访问;它会被放置在"/home/site/wwwroot "目录中,任何人都可以进行访问。
据该公司称,从安全角度来看,这有很严重的问题。
研究人员在本周的一篇文章中指出:"除了源代码可能包含密码和访问令牌等信息外,泄露的源代码往往会被用于进一步的复杂攻击,如用来收集研发部门的情报,研究内部基础设施,以及寻找软件漏洞。当源代码可用时,寻找软件的漏洞就要容易得多了"。
他们补充说,基本上,一个恶意攻击者所要做的就是从目标应用程序中获取'/.git'目录,并检索其中的源代码。
拙劣的缓解措施
微软最初确实公布了一个用于缓解该漏洞的方法,其方法是在公共目录下的Git文件夹中添加一个"web.config "文件,限制公众的访问。但事实证明这个修复措施并不是一个很好的方法。
只有微软的IIS网络服务器会处理web.config文件,但是[如果]你使用了PHP、Ruby、Python或Node......这些编程语言会被部署在不同的webservers(Apache、Nginx、Flask等)内,它们并不会处理web.config文件,这也就使得缓解措施对他们没有任何效果,因此非常容易受到攻击。
Wiz在10月份向微软报告了这个长期以来一直存在的漏洞,并因这一发现获得了7500美元的赏金;而该巨头在12月7日至15日之间通过电子邮件向受影响的用户部署了修复措施。
可能已经被在野利用
研究人员警告说,Git文件夹经常由于工作人员错误的配置(不仅仅是漏洞,如本案例)而被暴露在网络上。因此,网络犯罪分子正在积极寻找它们。
他们说:"Git文件夹的暴露是一个很常见的安全漏洞,用户甚至都没有意识到这一点。恶意攻击者正在不断扫描互联网,寻找暴露的Git文件夹,他们可以从中收集组织的秘密和其他信息。"
Wiz部署了一个有漏洞的Azure服务应用程序,并将其链接到了一个未使用的域,看看是否会有任何攻击人员对其进行利用。
他们说:"我们一直耐心地等待,看是否会有人试图访问Git文件。"在部署后的四天内,我们毫不惊讶地看到了来自未知攻击者对Git文件夹的多个请求....,这种利用方法非常容易而且普遍,现在正在被犯罪分子大量的利用。"
据Wiz称,以下用户应及时评估潜在的风险,确保并更新他们的系统。
1、通过FTP或Web Deploy或Bash/SSH部署代码的用户,这会导致文件在任何git部署之前Web应用中就会被初始化。
2、在网络应用中启用LocalGit的用户。
3、用Git克隆/推送序列发布更新的用户。
研究人员指出:"由于安全问题是发生在Azure服务中,大量的云端用户受到了影响,而且他们也不知道或没有受到任何的保护。