近日,intezer研究人员在MicrosoftAzure中发现了两个安全漏洞。该漏洞存在于AzureAppServices云服务中,主要影响Linux服务器。攻击者可以利用第一个漏洞访问云服务器,完全控制AppService的git仓库,植入可通过AzurePortal访问的钓鱼页面。攻击者可以利用第二个漏洞利用SSRF漏洞提权至APPService的全代码执行,从而触发第一个漏洞。PoC视频如下所示:AzureAppServicesAzureAppServices是一种基于HTTP的Web应用程序托管服务,可以通过MicrosoftAzureCloud云或安装使用。AppServices允许开发人员编写应用程序来提供HTTP,然后推送到git。然后,Azure会处理所有部署细节并提供一个Azure管理的域名。要开始使用AppServices,用户必须首先创建一个AppServicePlan,这是AppServices将使用的机器。该机器的主要用途是承载应用服务容器。用户创建应用服务后,Azure将创建一个新的Docker环境,其中包含2个容器节点:管理节点和应用程序节点。然后注册2个域名:app.azurewebsites.net——指向应用的HTTPweb服务器;app.scm.azurewebsites.net——指向Azure提供的AppService管理页面。管理页面由微软开源项目Kudu提供。在Linux系统上,有一个名为KuduLite的类似项目。Kudu实例由管理节点托管,而应用程序本身由应用程序节点托管。在Linux系统上,KuduLite实例为用户提供有关系统的诊断信息,包括Docker日志、设置和其他环境信息。如果用户选择使用Azure来托管应用程序的git,它将由Kudu服务管理。另一个有用的功能是在kudu实例中运行交互式bash的Web界面和另一个名为webssh的Web界面。应用程序节点中的实用程序将以root权限运行,研究人员可以通过SSH以root权限登录。在访问Kudu实例时,实际上是一个低权限用户:该用户只能与/home进行交互,不能写入其他目录中的文件。但是,在这种情况下安装了ClamAV。LinuxAppServices环境如下图所示:漏洞一:KuduLiteTakeover/EoP正在研究webssh如何连接到应用节点的web界面的SSH服务。研究人员发现它使用硬编码凭据“root:Docker!”访问应用程序节点:由于KuduLite实例也运行SSH,因此您可以使用相同的凭据以root身份登录:由于您可以控制KuduLite,因此您可以完全控制SCMWeb服务器。它可以监听用户向SCM网页发送的HTTP请求,添加自己的页面,向用户网页注入恶意JS内容。研究人员首先尝试从发送到服务器的请求中窃取SCM用户cookie。另外cookie还有一个HttpOnly属性,也就是说不能用客户端浏览器的JS来窃取。但攻击者仍然可以利用该漏洞植入伪装成SCM网页的钓鱼页面。用户可以选择AppServices来管理git服务器,攻击者可以将恶意代码添加到仓库中实现持久化并传播到使用同一git服务器的其他实例。漏洞2:KuduLite缺乏访问限制允许本地文件包含或远程代码执行第二个漏洞存在于KuduLiteAPI中,它与Kudu的API非常相似。应用节点无需任何访问验证即可向KuduLiteAPI发送请求。当web应用程序包含SSRF漏洞时,问题很严重。可以伪造GET请求的攻击者可以通过KuduLiteVFSAPI访问应用节点的文件系统:攻击者可以轻松窃取应用节点的源代码和其他资产。可以伪造POST请求的攻击者可以通过命令API在应用程序节点上实现远程代码执行:相比之下,在Windows中,从应用程序节点发送到管理节点的数据包会被丢弃。最后,当这两个漏洞串联在一起时,攻击者就可以实现远程代码执行。总结云服务使开发人员能够快速灵活地部署应用程序。但这些基础设施往往存在漏洞。研究人员在MicrosoftAzure应用服务中发现了两个安全漏洞,攻击者可以利用这些漏洞实现远程代码执行。研究人员将漏洞提交给微软,漏洞已经修复。本文翻译自:https://www.intezer.com/blog/cloud-security/kud-i-enter-your-server-new-vulnerabilities-in-microsoft-azure/如有转载请注明出处:
