安全公司Aikido Security的研究人员在Java生态系统广泛使用的公开依赖库Maven Central中,发现了一个仿冒Jackson的恶意组件,其唯一标识为org.fasterxml.jackson.core:jackson-databind。该名称刻意模仿开发者熟悉的Jackson依赖库,以诱导开发者下载恶意组件。研究人员已将相关域名通报给GoDaddy,并向Maven Central提交报告,该组件在约1.5小时内被下架。
正版Jackson的常见发布命名空间为com.fasterxml.jackson.core,攻击者则使用仅一字之差的org.fasterxml.jackson.core,通过互换com与org前缀制造混淆。研究团队还发现,攻击基础设施也采用类似手法,用fasterxml.org冒充官方的fasterxml.com,降低开发者在匆忙检查时发现异常的可能性。
该仿冒Jackson是一个具有多阶段投放特征的下载器,其代码经过混淆处理,并包含干扰自动化分析的设计。当项目使用Java应用开发框架Spring Boot时,恶意组件会伪装成框架常见的自动配置组件,利用应用启动时的扫描与加载流程,在程序启动后自动触发执行,开发者无需在代码中主动调用即可被加载进执行路径。
一旦触发,恶意程序会连接攻击者控制的C2服务器下载配置信息,再根据操作系统下载对应的可执行文件并在本地运行,同时创建特定文件作为标记,以减少重复执行时被发现的概率。研究人员指出,攻击者刻意设计了跨平台投放能力,并通过多层混淆和加密字符串增加逆向分析的难度。
研究人员在获取Linux和macOS样本后提交至VirusTotal,多数安全引擎将其识别为Cobalt Strike的Beacon程序。Cobalt Strike原为商业渗透测试工具,常被攻击者用于远程控制和后续渗透。研究人员提醒,若恶意载荷被识别为Cobalt Strike Beacon,通常意味着攻击者具备远程控制和持续渗透的能力,其攻击目的可能不仅限于一次性行为。