聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
最新发布的 exp 更说明可阻止经测试有效的攻击向量的“可信位置”特性仍然处于默认不启用状态,导致不知情用户面临风险。
研究员Peng表示,虽然默认启用该特性距离阻止开发人员从 web 打开项目而言还很长,但微软拒绝就为何启用该特性仍需用户干预置评。微软回应该研究员表示,该问题并非安全漏洞,打开从GitHub 等平台下载的 Visual Studio 项目本质上是“一个不安全的操作”问题。
Exp 本身涉及从用户机器下载并打开的恶意构造项目,但Peng设法在项目开始编译前找到实现RCE的方法。他使用打开项目时在.vs 文件夹中自动创建的 .suo 二进制文件即可触发代码执行。该攻击尤其具有欺骗性的原因是,文件夹和文件以不会在项目文件探索中默认显示的句点为开头,即找到这些文件夹和文件需要更多手动操作,而且即使找到读取它们也比读取明文文件更难。研究员指出,“说明该文件的文档也很有限,因此即使仔细查看也很容易被忽视。”
Peng 详细说明了该exp 的内部工作原理。虽然攻击向量并不新鲜,但Peng 的重点是微软不认为该问题是真正的漏洞,因此选择不修复。
自2021年Lazarus 组织开始利用 Visual Studio exp 后,微软的可信位置特性旨在自动为打开不可信 Visual Studio 项目时显示对话窗口,提醒用户打开从 web 下载的项目所关联的安全风险。可信位置特性最终获得基于该对话框的“受限模式”更新,允许用户以更安全的方式打开项目,禁止在机器上执行任何代码。
微软当时在博客文章中提到,“启用可信位置特性后,只有当用户或用户所在组织机构将在 Visual Studio 2022中打开的所有内容添加到‘可信位置’之后,才会被视作可信。用户可直接信任源自信任对话或信任设置会话的文件夹位置、git仓库或git仓库所有人。”
Peng 提到的问题是,可信位置是用户必须手动启用的特性而非默认启用,且这种情况持续到了2023年。
当问到为何可信位置并非默认启用以及最新的 PoC 是否会改变打补丁立场时,微软并未直接说明,不过表示,“为了降低不可信代码带来的安全风险,我们建议客户遵循我们所发布的如何配置可信设置指南,更好地保护自身安全。除了已公布的安全特性改进外,我们将持续评估自身服务,保护客户免受类似威胁。”
Peng 提到,“这种设置需要手动启用。然而,即使在文章发布两年后,该设置仍然默认未启用。Visual Studio 未启用该特性可能受一些因素影响。”他还提到,MOTW 也并未添加到 Visual Studio 中,通过HTTP 下载的 solution (.sln) 文件无需任何与MOTW相关的提醒就可打开。
MOTW 首次在 IE 浏览器中出现,目的是对下载自互联网的文件进行标记,从而触发微软 Defender SmartScreen 执行额外的安全检查。Peng 表示,“总之,我们毫不费力就可以绕过信任区域的双重检查和MOTW,从而为不知情的用户带来巨大风险。无需SmartScreen 提醒、无需信任、无需其它交互即可办到。由于微软认为它并非漏洞,因此不会发布修复方案。”
今年早些时候,红队服务提供商 Outflank 发布了自己预构建的 Visual Studio exp,并从微软处获得类似回复,表示该 PoC 只是使用了 Visual Studio 的预期行为,并不会发布修复方案。
微软紧急修复两个 RCE,影响 Windows Codecs 库和 Visual Studio
微软拒绝修复影响所有 Windows 版本的 “RemotePotatoo” 提权0day
https://www.theregister.com/2023/10/13/fresh_visual_studio_rce_exploit/
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~