微软表示,它发现了一个针对软件开发者的协调攻击活动,攻击者通过伪装成合法Next.js项目和技术评估的恶意代码仓库实施攻击。 该攻击活动使用精心设计的诱饵来融入常规工作流程,比如克隆代码仓库、打开项目和运行构建,从而使恶意代码能够在不被发现的情况下执行。
微软在事件调查期间收集的遥测数据表明,该攻击活动与更广泛的使用求职主题诱饵的威胁集群相关。微软在一篇安全博客文章中写道:"在初步事件分析期间,Defender遥测数据显示了一组有限的直接参与观察到的攻击的恶意代码仓库。进一步调查发现了其他相关代码仓库,虽然在观察到的日志中没有直接引用,但表现出相同的执行机制、加载器逻辑和暂存基础设施。" 该攻击活动利用开发者对共享代码的信任,在高价值的开发者系统中获得持久性,这些系统通常包含源代码、环境秘密、凭据以及对构建或云基础设施的访问权限。
微软研究人员发现,这些恶意代码仓库设计了冗余机制,提供多个执行路径,最终导致相同的后门行为。 在某些情况下,仅仅在Visual Studio Code中打开项目就足够了。攻击者滥用工作空间自动化,嵌入了配置为在文件夹打开和受信任时自动运行的任务。这会在开发者不运行任何内容的情况下导致代码执行。 其他变体依赖于构建流程或服务器启动例程,确保当开发者执行启动开发服务器等典型操作时运行恶意代码。无论触发器如何,这些代码仓库都会从远程基础设施检索额外的JavaScript代码并在内存中执行,减少磁盘上的痕迹。 检索到的有效载荷分阶段运行。初始注册组件识别主机并可以提供引导指令,之后单独的C2控制器提供持久性并启用后续操作,如有效载荷传递和数据窃取。
