ASP.NET漏洞可让黑客劫持服务器并注入恶意代码

微软网络安全专家发现了一个影响ASP.NET应用程序的漏洞,使数千台网络服务器面临风险。该问题源于开发人员在其配置中使用公开的ASP.NET机器密钥;黑客现在利用这些密钥执行ViewState代码注入攻击。

 

2024年12月的一次最新攻击利用此漏洞传播了Godzilla,这是一种危险的后利用框架,能够执行命令、注入shellcode并保持对受感染服务器的持久访问。微软警告称,超过3000个公开披露的机器密钥可能被用作类似攻击的武器。

ASP.NET机器密钥旨在通过加密和验证ViewState数据来保护Web应用程序,确保攻击者无法篡改数据。然而,一些开发人员错误地从在线资源中复制了这些密钥,在不知情的情况下允许黑客生成恶意ViewState数据并将其注入他们的服务器。

一旦黑客获得了正确的机器密钥,他们就可以制作恶意负载并将其发送到易受攻击的网站。服务器信任该密钥,解密并执行攻击者的代码,从而实现完全远程代码执行。

一名身份不明的黑客利用公开的ASP.NET机器密钥部署Godzilla,这是一种后漏洞利用工具,可提供对受感染服务器的远程访问。攻击从注入开始,攻击者使用泄露的机器密钥发送恶意ViewState负载。

服务器收到代码后,解密并执行代码,在不知情的情况下运行攻击者的指令。这导致了Godzilla部署,其中有效载荷触发了assembly.dll的执行,加载了框架并允许进一步利用。

根据微软的博客文章,该公司已从公共文档中删除了机器密钥样本,以阻止不良的安全做法。该公司还通过Microsoft Defender for Endpoint发布了新的检测警报,以标记任何使用公开披露的机器密钥的行为。

如果您的系统受到攻击,仅仅旋转机器密钥可能还不够。微软建议进行全面的取证调查,因为攻击者可能安装了后门或其他恶意软件。

Black Duck软件供应链风险策略主管Tim Mackey对这一新进展发表评论称: “这种错误配置允许使用公开密钥加密的ViewState有效负载(通常来自演示代码)进行攻击。开发人员应该替换示例密钥,但有些人在不了解风险的情况下复制了它们。生产中的硬编码密钥表明配置不当。对照Microsoft的公钥列表进行检查会有所帮助,但DevOps团队也应该使用工具来检测和删除硬编码的机密。”

为了保护您的Web服务器免受攻击,请首先替换所有从在线来源复制的公开机器密钥。接下来,通过生成新密钥并在Web场中的所有服务器上一致应用这些密钥来轮换和保护您的密钥。

此外,在web.config文件中加密机器密钥将有助于防止泄露。监控可疑活动也是必不可少的。Microsoft Defender现在可以检测公开披露的ASP.NET机器密钥,启用攻击面减少规则可以帮助阻止Web Shell攻击。

升级到ASP.NET 4.8可通过整合反恶意软件扫描接口(AMSI)支持来增强安全性。最后,进行安全审核非常重要。如果机器密钥已暴露,则假设存在漏洞,进行彻底调查,并检查是否存在未经授权的访问。

发表评论

评论已关闭。

相关文章