微软最新披露的安全情报显示,网络犯罪团伙 JadePuffer(微软内部追踪代号 Storm-3168)在实施代理勒索软件攻击之外,还利用窃取的 Azure 身份凭证对云存储及其他资源发起了破坏性攻击。

今年 7 月,Sysdig 威胁猎人首次发现了 JadePuffer,这是有记录以来首例由大型语言模型(LLM)全程驱动的代理勒索软件感染事件。在该事件中,LLM 协助完成了从获取初始访问权限到破坏生产数据库服务器并销毁数据的全过程。
微软研究人员 Yossi Weizman 和 Tushar Mudi 在周五发布的报告中指出,Storm-3168 于 6 月初发动了一次持续约 18 小时的攻击行动。在此期间,攻击者泄露了两个属于同一云租户的服务主体(Service Principals),并利用这些机器身份进行了“广泛的 Azure 资源破坏”以及“云凭证收集”,后者可能用于支持未来的入侵活动。
根据调查细节,这两个被泄露的服务主体分工明确:其中一个主要用于侦察和资源发现,另一个则负责执行破坏性操作及凭证窃取。尽管微软目前尚不清楚 Storm-3168 最初如何劫持这些服务主体,但研究人员注意到,该组织员工此前曾在公共 GitHub Issue 中以纯文本形式暴露过客户端 ID、客户端密钥和租户 ID。
Weizman 和 Mudi 写道:“自今年年初以来,我们还观察到 Storm-3168 连接基础设施对不同客户的多个 Azure App Services 进行了反复探测。”
此次攻击中,侦察阶段持续了约 15 小时 30 分钟。被泄露的服务主体通过超过 300 次成功的读取操作,收集了有关 Azure 虚拟机、订阅、资源组及资源的详细信息,从而让威胁行为者获得了整个组织 Azure 环境的可见性。
在第一个机器身份开始收集信息约 90 分钟后,第二个受损的服务主体开始行动。它在短短 5 秒内读取了两个订阅中的 Azure 虚拟机和资源组信息。据雷德蒙德方面透露,这两个服务主体均使用了与 Storm-3168 关联的基础设施,具有相同的网络指纹,且用户代理均为 python-requests/2.34.2。
随后,第二个服务主体成功发现了 Azure 应用服务配置存储——微软推测其意在寻找暴露的凭据——但未成功找到 Azure OpenSearch 资源。70 秒后,它又尝试对一个不存在的存储账户执行 ListKey 操作。
破坏行动随即展开。在这一阶段,被泄露的服务主体在 35 分钟内发起了 150 多次破坏性或窃取身份的尝试。实际的破坏过程仅持续了约 7 分钟,期间机器身份试图删除超过 100 个 Azure 存储账户。虽然大部分删除操作成功,但部分请求因 Azure 资源锁定机制和存储账户级别的删除保护而被阻止。
此外,攻击者还删除了 Azure Key Vault、Function App 以及 App Service Plan,这些资源均位于同一资源组内,可能共同支撑着某个 Function app。与此同时,该服务主体还并行尝试删除多个 Azure SQL 数据库,但由于使用了 Azure SQL 数据库资源类型不支持的 API 版本,所有删除尝试均以失败告终。
报告补充称,在破坏行动结束约 28 分钟后,同一服务主体再次对 Azure 存储账户发起库存请求,并发送了 30 多个成功的 ListKeys 请求,要求 ARM 返回每个存储账户的访问密钥。涉及的存储账户包括用于 Azure 站点恢复的资源。





