近期,一场以软件开发人员为目标、以招聘求职为诱饵的协同攻击活动正在展开。攻击者通过搭建恶意代码仓库,伪装成合法的 Next.js 项目与技术测评材料(包括招聘编程测试题)实施入侵。
攻击者的目的是在开发者设备上实现远程代码执行(RCE),窃取敏感数据,并在已沦陷系统中部署更多载荷。
Next.js 是一款基于 React、后端依赖 Node.js 的热门 JavaScript Web 应用框架。微软 Defender 安全团队披露,攻击者伪造基于 Next.js 开发的 Web 应用项目,并将其包装成编程作业,在面试或技术测评环节分发给开发者。
研究人员最初在代码托管平台 Bitbucket 上发现一个恶意仓库,随后又识别出多个代码结构、加载器逻辑与命名模式高度相似的关联仓库。
当目标按正常流程克隆仓库并在本地打开项目时,启动应用的操作会自动触发恶意 JavaScript 代码。
该脚本会从攻击者服务器下载后续恶意代码(JavaScript 后门),并在正在运行的 Node.js 进程中直接内存执行,从而实现对主机的远程代码执行。
攻击链概览
为提升感染成功率,攻击者在恶意仓库中设置了多重触发点:
VS Code 触发:通过配置 .vscode/tasks.json 中的 runOn: “folderOpen”,项目文件夹被打开(且受信任)后立即执行 Node 脚本。
开发服务器触发:当开发者执行 npm run dev 启动开发服务时,被篡改的恶意组件会解码隐藏 URL,从远程服务器拉取加载器并在内存中执行。
后端启动触发:服务启动时,后端模块从 .env 文件中解码 Base64 加密的服务器地址,将环境变量发送给攻击者,并执行返回的 JavaScript 代码。
入侵过程会释放第一阶段 JavaScript 载荷,用于收集主机信息并上线到命令与控制(C2)服务器,以固定周期轮询指令。
随后升级为第二阶段任务控制器,连接另一台 C2 服务器接收任务,在内存中执行指定代码并监控进程状态。该载荷还支持文件枚举、目录遍历与分段数据窃取。
第二阶段服务器轮询功能
微软指出,此次攻击涉及多个命名规范、加载器结构与基础设施高度一致的仓库,表明这是一次协同式攻击活动,而非偶发的单一事件。截至目前,研究人员尚未披露攻击者身份及攻击影响范围。
微软提醒开发者:日常开发流程本身就是高风险攻击面,必须提高警惕并采取防护措施。建议采取的缓解措施包括:
·启用 VS Code 工作区信任/受限模式
·配置攻击面减少(ASR)规则
·通过 Microsoft Entra ID Protection 监控风险登录行为
·最小化在开发终端上存储敏感密钥信息
·尽可能使用最小权限、短时有效的访问令牌
参考及来源:https://www.bleepingcomputer.com/news/security/fake-nextjs-job-interview-tests-backdoor-developers-devices/
热门跟贴