微软发出警告,攻击者正利用在网上获取的静态ASP.NET机器密钥,在视图状态(ViewState)代码注入攻击中部署恶意软件。
正如微软威胁情报专家近期所发现的,一些开发者会在自己的软件中使用从代码文档及代码库平台获取的ASP.NET验证密钥(validationKey)和解密密钥(decryptionKey)(这些密钥旨在防止视图状态被篡改及信息泄露)。
然而,威胁行为者同样会在代码注入攻击中,利用公开可得来源的机器密钥,通过附加伪造的消息验证码(MAC)来创建恶意的视图状态(ASP.NET Web Forms 使用视图状态来控制状态及保存页面)。
当目标服务器上的ASP.NET运行时加载通过 POST 请求发送的视图状态时,由于使用了正确的密钥,它会对攻击者恶意构造的视图状态数据进行解密和验证,将其加载到工作进程内存中并执行。
这使得攻击者能够在 IIS 服务器上远程执行代码,并部署更多恶意负载。
在 2024 年 12 月观察到的一个案例中,一名身份不明的攻击者使用一个公开的机器密钥,将具备恶意命令执行和 shellcode 注入能力的 “哥斯拉” 后渗透框架,投放到目标互联网信息服务(IIS)Web 服务器上。
视图状态代码注入攻击链(微软)
微软周四表示:“自那以后,微软已识别出 3000 多个可能被用于此类攻击(即视图状态代码注入攻击)的公开披露密钥。”
“此前许多已知的视图状态代码注入攻击,使用的是在暗网论坛售卖的被入侵或被盗取的密钥,而这些公开披露的密钥可能带来更高风险,因为它们存在于多个代码库中,可能未经修改就被植入开发代码。”
为阻止此类攻击,微软建议开发者以安全方式生成机器密钥,不要使用默认密钥或网上获取的密钥,对 machineKey 和 connectionStrings 元素进行加密以阻止对明文机密信息的访问,将应用程序升级到使用ASP.NET 4.8 以启用反恶意软件扫描接口(AMSI)功能,并通过使用诸如 “阻止服务器创建网页后门” 等攻击面缩减规则来强化 Windows 服务器。
微软还分享了使用 PowerShell 或 IIS 管理器控制台在 web.config 配置文件中删除或替换ASP.NET密钥的详细步骤,并从其公开文档中移除了密钥示例,以进一步阻止这种不安全的做法。
微软警告称:“如果已发生成功利用公开披露密钥的情况,轮换机器密钥不足以解决威胁行为者建立的可能后门或持久化方法,或其他后渗透活动,可能需要进行额外调查。”
“特别是对于面向互联网的服务器,如果识别出公开披露的密钥,应进行全面调查,并强烈考虑在离线介质中重新格式化和重新安装,因为这些服务器最有可能面临被利用的风险。”
发表评论
您还未登录,请先登录。
登录