黑客组织TeamPCP从上周开始接连发动攻击,先是入侵安全公司Aqua Security开发的代码漏洞扫描工具Trivy,通过其GitHub Actions传播窃密软件,随后又在NPM仓库发动蠕虫攻击CanisterWorm。然而,就在安全圈以为黑客的目标仅限于开源软件包仓库时,这些黑客又将矛头对准了另一款漏洞扫描工具。
云安全公司Wiz发现TeamPCP再次发动供应链攻击,这次锁定开源基础设施扫描工具KICS的GitHub Actions,植入可窃取凭证的恶意代码,影响使用该工具进行CI/CD流程的开发者。Wiz发出警告,于世界协调时间(UTC)3月23日中午12时58分至下午16时50分,任何被标记为受感染状态的用户,都可能已被植入恶意软件。当时有GitHub用户发现异常并提交了问题(Issue)通报,维护团队在收到报告后,立即关闭了相关仓库以应对。
KICS全称为Keeping Infrastructure as Code Secure,由安全公司Checkmarx开发,是一款用于扫描基础设施即代码(Infrastructure as Code,IaC)漏洞的开源工具,广泛集成于GitHub Actions工作流中。
此次攻击手法与此前针对Trivy的事件高度相似,黑客通过入侵GitHub Actions发布流程,将恶意代码注入已发布的KICS版本,导致敏感数据在用户不知情的情况下被窃取。
恶意代码主要功能为窃取各类凭证,包括SSH密钥、云平台访问凭证及CI/CD环境变量等,这些信息可被用于横向移动或扩大入侵范围,对企业的云环境构成严重威胁。
值得注意的是,此次攻击中,黑客使用的恶意软件加入了新手段:首先,新版恶意软件会在受害者的账户下创建新的代码仓库,用于建立备用的C2通信通道;其次,黑客新增了以Kubernetes为核心的功能代码,以确保在受害组织内部持续潜伏和活动。
另一处与Trivy事件不同的是,此次TeamPCP同时渗透了Checkmarx的Open VSX扩展插件,涉及dev-assist 1.7.0与ast-result 2.53.0两个插件。恶意载荷会检测受害者的CI环境,确认其中是否存储了云服务商的凭证,再从C2服务器下载第二阶段载荷,试图通过JavaScript包管理器执行并窃取凭证;若检测到未在CI环境中运行,则通过systemd用户服务实现持久化,并每隔50分钟通过脚本拉取额外载荷。