微软表示,它发现了一个针对软件开发者的协调攻击活动,攻击者通过伪装成合法Next.js项目和技术评估的恶意代码仓库实施攻击。
该攻击活动使用精心设计的诱饵来融入常规工作流程,比如克隆代码仓库、打开项目和运行构建,从而使恶意代码能够在不被发现的情况下执行。
微软在事件调查期间收集的遥测数据表明,该攻击活动与更广泛的使用求职主题诱饵的威胁集群相关。微软在一篇安全博客文章中写道:"在初步事件分析期间,Defender遥测数据显示了一组有限的直接参与观察到的攻击的恶意代码仓库。进一步调查发现了其他相关代码仓库,虽然在观察到的日志中没有直接引用,但表现出相同的执行机制、加载器逻辑和暂存基础设施。"
该攻击活动利用开发者对共享代码的信任,在高价值的开发者系统中获得持久性,这些系统通常包含源代码、环境秘密、凭据以及对构建或云基础设施的访问权限。
微软研究人员发现,这些恶意代码仓库设计了冗余机制,提供多个执行路径,最终导致相同的后门行为。
在某些情况下,仅仅在Visual Studio Code中打开项目就足够了。攻击者滥用工作空间自动化,嵌入了配置为在文件夹打开和受信任时自动运行的任务。这会在开发者不运行任何内容的情况下导致代码执行。
其他变体依赖于构建流程或服务器启动例程,确保当开发者执行启动开发服务器等典型操作时运行恶意代码。无论触发器如何,这些代码仓库都会从远程基础设施检索额外的JavaScript代码并在内存中执行,减少磁盘上的痕迹。
检索到的有效载荷分阶段运行。初始注册组件识别主机并可以提供引导指令,之后单独的C2控制器提供持久性并启用后续操作,如有效载荷传递和数据窃取。
微软表示,调查始于分析来自与攻击者控制的服务器通信的Node.js进程的可疑出站连接。将网络活动与进程遥测相关联,使分析师追溯到通过招聘练习的原始感染。
其中一个代码仓库托管在Bitbucket上,被包装为技术评估,还有一个使用Cryptan-Platform-MVP1命名约定的相关代码仓库。微软写道:"多个代码仓库遵循可重复的命名约定和项目'系列'模式,使得能够针对性搜索其他相关代码仓库,这些代码仓库在观察到的遥测中没有直接引用,但表现出相同的执行和暂存行为。"
当怀疑感染时,微软警告受影响的组织必须立即隔离可疑端点,追踪启动进程树,并在整个网络中搜索对可疑基础设施的重复轮询。由于可能会发生凭据和会话盗用,响应人员应评估身份风险,撤销会话,并限制高风险SaaS操作,以在调查期间限制暴露。
长期缓解措施包括重点收紧开发者信任边界和降低执行风险,微软补充道。其他建议包括强制执行Visual Studio Code工作空间信任默认设置,应用攻击面减少规则,启用基于云的声誉保护,以及加强条件访问。
Q&A
Q1:这次攻击活动的主要目标是谁?
A:这次攻击活动主要针对软件开发者,攻击者通过伪装成合法Next.js项目和技术评估的恶意代码仓库来实施攻击,利用开发者对共享代码的信任。
Q2:攻击者是如何让恶意代码执行的?
A:攻击者设计了多个执行路径,包括滥用Visual Studio Code工作空间自动化功能,在文件夹打开时自动运行任务,或者依赖构建流程和服务器启动例程,确保在开发者执行常规操作时运行恶意代码。
Q3:如何防范这类以求职为诱饵的攻击?
A:微软建议收紧开发者信任边界,强制执行Visual Studio Code工作空间信任默认设置,应用攻击面减少规则,启用基于云的声誉保护,加强条件访问,以及在怀疑感染时立即隔离可疑端点。
热门跟贴