该公司警告说,微软威胁研究人员在2024年12月发现的ViewState代码注入攻击可能很容易被其他攻击者复制。
“在调查、补救和建立针对这一活动的保护的过程中,我们观察到一种不安全的做法,即开发人员从可公开访问的资源(如代码文档和存储库)中纳入了各种公开披露的ASP.NET机器密钥,威胁者使用这些资源在目标服务器上执行恶意操作。”
攻击
ASP.NET是一个开源的Web框架,用于构建现代、动态和可扩展的Web应用程序、服务和API。
“ViewState是ASP.NET Web Forms在回帖之间保存页面和控制状态的方法。ViewState数据存储在页面上的隐藏字段中,并使用Base64编码进行编码,”微软解释道。
“为了保护ViewState免受篡改和信息泄露,ASP.NET页面框架使用机器密钥:ValidationKey和DecryptionKey。ValidationKey用于创建要附加在ViewState中的消息身份验证代码(MAC)。DecryptionKey与加密ViewState的选项有关。这些密钥要么自动生成并存储在注册表中,要么在[web.]配置文件中手动指定。”
这些机器密钥可用于创建恶意的ViewState,可以通过简单的HTTP POST请求将其发送到目标网站。
“当ASP.NET Runtime在目标服务器上处理请求时,ViewState会成功解密和验证,因为使用了正确的密钥。然后,恶意代码被加载到工作进程内存中并执行,在目标IIS[互联网信息服务] Web服务器[用于在Windows服务器上托管和管理Web应用程序、网站和服务]上为威胁者提供远程代码执行功能。”
机器密钥不是公开的,但据微软称,在各种代码存储库中公开披露了3000多个机器密钥,并可能被推送到开发代码中。
12月的攻击是有限的,导致威胁行为者加载和执行无文件的哥斯拉后漏洞框架/webshell。
导致哥斯拉的ViewState代码注入攻击链(来源:微软)
怎么办?
该公司表示:“微软建议组织不要从公开来源复制密钥,并定期轮换密钥。”
他们还为已识别的公开披露的机器密钥提供了散列值列表,以及脚本组织可以用来检查其环境中的机器密钥是否在其中。
“如果成功利用了公开披露的密钥,旋转机器密钥将无法充分解决威胁行为者或其他开发后活动建立的可能的后门或持久方法,可能需要进行额外的调查。特别是,在确定公开披露的密钥的情况下,应全面调查面向网络的服务器,并强烈考虑在离线介质中重新格式化和重新安装,因为这些服务器面临可能被利用的风险最大,”微软补充说。
消息来源:helpnetsecurity, 编译:QBa0;
本文由 anquan114.com 翻译整理,封面来源于网络;
转载请注明“转自 anquan114.com”并附上原文
暂无评论内容