博客

深度解析:近距离剖析 MOVEit 零日漏洞

September 30, 2023
Laura Verheyde

软件供应链网络攻击正变得日益频繁,引发了美国政府层面的多项立法变革,同时也促使企业争相降低其庞大的风险状况并迅速提升软件质量。仅今年一年,与文件共享服务相关的零日漏洞就已出现三起,其中规模最大、破坏力最强的当属 MOVEit 大规模漏洞利用事件。

MOVEit 事件由 CL0P 勒索软件组织发起,在相当长一段时间内占据了网络安全新闻的头条,受影响的组织超过 1,000 家。这一数字预计还将持续增长,使其成为自 2021 年 SolarWinds 事件以来最具影响力的软件供应链攻击之一。

导致此次大规模泄露的导火索是一系列 SQL 注入漏洞,最终被 MITRE 评定为 9.8 分(满分 10 分)。自 90 年代末以来,SQL 注入一直是安全专业人员的心头大患。尽管修复方法相对简单,但它依然不断出现在现代软件中,并为威胁行为者窃取敏感数据提供了便利通道。

MOVEit 场景与许多开发人员和应用安全专业人员以往的经历略有不同,您可以在此通过实时模拟来测试您的 SQL 注入防御技能:

>>> 开始 MOVEit 任务

漏洞类型:SQL 注入

SQL 注入究竟是如何被用于攻击 Progress Software 的 MOVEit 文件传输应用程序的?

CL0P 勒索软件组织利用了 SQL 注入漏洞 CVE-2023-34362,从而获得了对 MOVEit 数据库不受限制的未经授权访问权限。随后,他们安装了名为 LEMURLOOT 的 Web Shell,这使他们最终能够执行多项高风险的关键操作,例如检索系统设置、枚举 SQL 数据库、从 MOVEit Transfer 系统中提取文件,以及创建拥有完全管理权限的新账户。

毋庸置疑,这种攻击向量可能源于一个相对简单的错误——一个归咎于长期使用不良编码模式的错误——但它在企业层面造成持续性问题的潜力是巨大的。

为了类比 MOVEit 漏洞利用,让我们来看一下这个 SQL 注入解释说明,它模拟了注入并执行恶意 SQL 的方法:
‍

此查询字符串和变量:
‍

string emailAddress = "contact@scw.com";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";


将导致以下查询:
‍

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'";
‍

……如果输入恶意构造的内容:
‍

string emailAddress = "contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--";
var query = $"SELECT u.UserName From Users as u WHERE u.Email = '{emailAddress}'";
‍

它将变为:
‍

var query = $"SELECT u.UserName From Users as u WHERE u.Email = 'contact@scw.com'; DELETE FROM Invoices WHERE Id = 2;--'";
‍

这在实际运行中是什么样子的?

SQL injection code snippet attempting to delete invoice records by injecting into email query.

请注意,由于字符串拼接,输入内容被解释为了 SQL 语法。首先,添加一个单引号以确保 SELECT 语句是有效的 SQL 语法。接着,添加一个分号以终止第一条语句。

一旦完成这些,就会添加一条有效的 DELETE 语句,随后是两个连字符,用于注释掉后续字符(即那个单引号)。同样地,也可以轻松添加一条 UPDATE 语句,例如,如果恶意 SQL 的目的是更新用户的角色或密码。
‍

您可以在这个互动任务中亲自尝试一下:
‍

>>> 游玩 MOVEit 任务
‍

虽然 SQL 注入相对简单,但它仍然是一种强大的攻击向量,且非常普遍。在 MOVEit 的案例中,该漏洞为安装破坏性后门以及后续一系列严重程度相当的攻击铺平了道路。

如何降低 SQL 注入风险?

对于任何在业务运营中使用 MOVEit 的公司,务必遵循 Progress Software 提供的补救建议。这包括但不限于将应用安全补丁作为紧急优先事项。

关于 SQL 注入的通用防护,请查看我们的 综合指南。

想了解更多关于如何编写安全代码和降低风险的知识吗?欢迎免费尝试我们的 SQL 注入挑战。

如果您有兴趣获取更多免费的编码指南,请查看 Secure Code Coach,它能帮助您掌握安全编码的最佳实践。

标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。