微软的网络安全专家发现了一个影响ASP.NET应用程序的漏洞,致使数千台 Web 服务器面临风险。该问题源于开发人员在配置中使用了公开可用的ASP.NET机器密钥,而黑客如今正利用这些密钥实施 ViewState 代码注入攻击。
2024 年 12 月的一次近期攻击就利用了这一漏洞来部署 “哥斯拉”(Godzilla),这是一个危险的后渗透框架,能够执行命令、注入壳代码,并持续保持对受攻击服务器的访问权限。微软警告称,超过 3000 个公开披露的机器密钥可能会被用于类似攻击。
为何此事至关重要
ASP.NET机器密钥旨在通过对 ViewState 数据进行加密和验证来保护 Web 应用程序,确保攻击者无法篡改数据。然而,一些开发人员错误地从在线资源复制了这些密钥,在不知不觉中让黑客能够生成恶意的 ViewState 数据并注入到他们的服务器中。
一旦黑客获取了正确的机器密钥,他们就可以精心构造恶意负载,并将其发送到存在漏洞的网站。服务器信任该密钥,会解密并执行攻击者的代码,从而导致完全的远程代码执行。
2024 年 12 月发生了什么?
一名身份不明的黑客利用一个公开已知的ASP.NET机器密钥部署了 “哥斯拉”,这是一种后渗透工具,可提供对受攻击服务器的远程访问。攻击始于注入,攻击者使用泄露的机器密钥发送恶意的 ViewState 负载。
一旦服务器接收到该负载,便会对代码进行解密并执行,在不知情的情况下运行攻击者的指令。这导致了 “哥斯拉” 的部署,负载触发了 assembly.dll 的执行,加载该框架并允许进一步的攻击。
注入链条显示 ViewState 代码会导致 “哥斯拉”(攻击程序运行)。(源自微软)
微软的应对措施
根据微软的博客文章,该公司已从公开文档中删除了机器密钥示例,以阻止不良的安全实践。微软还通过微软端点防护(Microsoft Defender for Endpoint)发布了新的检测警报,以标记任何公开披露的机器密钥的使用情况。
如果您的系统受到攻击,仅仅轮换机器密钥可能还不够。微软建议进行全面的取证调查,因为攻击者可能已经安装了后门程序或其他恶意软件。
黑鸭(Black Duck)软件供应链风险策略主管蒂姆・麦基(Tim Mackey)对这一新情况评论道:“这种配置错误使得攻击者能够使用通过公开可用密钥加密的 ViewState 负载进行攻击,这些密钥通常来自演示代码。开发人员应该更换示例密钥,但有些人在不了解风险的情况下复制了它们。生产环境中硬编码的密钥表明配置不佳。对照微软的公钥列表进行检查会有所帮助,但 DevOps 团队也应该使用工具来检测并删除硬编码的机密信息。”
自我保护措施
为保护您的 Web 服务器免受攻击,如果您从在线资源复制了公开可用的机器密钥,首先应更换这些密钥。接下来,通过生成新密钥并在 Web 场中的所有服务器上一致应用,来轮换并保护您的密钥。
此外,在 web.config 文件中对机器密钥进行加密将有助于防止密钥暴露。监控可疑活动也至关重要。微软端点防护现在能够检测公开披露的ASP.NET机器密钥,启用攻击面减少规则有助于阻止网页木马攻击。
升级到ASP.NET 4.8 可通过整合反恶意软件扫描接口(AMSI)支持来增强安全性。最后,进行安全审计很重要。如果机器密钥已暴露,应假定发生了数据泄露,进行彻底调查,并检查是否存在未经授权的访问。
发表评论
您还未登录,请先登录。
登录