攻击者伪造Jackson JSON库入侵Maven中央仓库

一场新型恶意软件攻击活动通过伪装成合法的Jackson JSON库扩展,成功入侵了Java开发者最信赖的代码仓库之一------Maven中央仓库。这个恶意软件包以org.fasterxml.jackson.core/jackson-databind命名空间发布,通过误植域名攻击(typosquatting)在Maven中央仓库发现的首批复杂恶意软件案例之一。

攻击者利用了巧妙的命名空间混淆策略:合法Jackson库使用com.fasterxml.jackson.core命名空间,而恶意版本则使用org.fasterxml.jackson.core。这种细微差别使得开发者很容易在项目中误引入有害软件包。

精心策划的攻击行动

该恶意软件活动显示出明显的精心策划特征。攻击者创建了虚假域名fasterxml.org来镜像合法的fasterxml.com,采用了与软件包命名空间相同的.com到.org替换策略。该域名注册于2025年12月17日,就在Aikido安全分析师发现威胁的八天前。这种从域名注册到部署的短暂间隔是恶意软件操作的常见模式,旨在降低早期检测和被列入黑名单的几率。

该软件包在被发现后1.5小时内即被报告给Maven中央仓库并下架,但在此之前可能已经危害了开发者系统。

Aikido分析师指出,该恶意软件采用了多层混淆技术来隐藏其真实目的。jar文件中的代码经过严重混淆,甚至试图通过提示注入技术(prompt injection)来干扰基于机器学习的分析工具。在未正确处理Unicode字符的编辑器中打开时,代码会显示大量干扰信息,使人工检查变得困难。经过仔细分析,研究团队成功解混淆了恶意代码,揭示其作为木马下载器的真实功能------连接命令控制服务器并在受感染系统上执行有害负载。

感染机制与负载投放

该恶意软件通过七阶段感染流程运作,始于开发者将恶意依赖项添加到其pom.xml文件时。一旦被包含,当Spring Boot应用启动时,该软件包会自动执行,因为Spring会扫描@Configuration类并发现JacksonSpringAutoConfiguration。恶意软件会检查ApplicationRunner.class(该文件始终存在于Spring Boot环境中),确保恶意代码无需开发者显式调用即可运行。

感染机制包括持久性检查,恶意软件会在工作目录中搜索名为.idea.pid的文件。这个文件名巧妙地混入IntelliJ IDEA项目文件中,降低了开发者发现项目结构中异常文件的可能性。随后,恶意软件通过检查System.getProperty("os.name")进行环境指纹识别,确定系统运行的是Windows、macOS还是Linux,并据此下载适合检测到的操作系统的负载。

命令控制通信通过"http://m.fasterxml.org:51211/config.txt"进行,该地址提供AES加密的配置数据。

恶意软件使用硬编码的AES-ECB密钥(9237527890923496)解密每个支持平台的负载URL。解密后的格式遵循os|url模式,例如Windows系统的win|http://103.127.243.82:8000/http/192he23/svchosts.exe。下载二进制文件payload.bin到系统临时目录后,恶意软件会执行该文件,同时在Unix系统上将输出重定向到/dev/null,在Windows上重定向到NUL,以抑制任何可见活动。Windows负载故意使用svchosts.exe名称(仿冒合法的svchost.exe进程)来避免检测。

通过VirusTotal对下载负载的分析证实,Linux和macOS二进制文件是Cobalt Strike信标------一种强大的渗透测试工具,常被勒索软件运营商和APT(高级持续性威胁)组织用于远程访问、凭证窃取和网络横向移动。

相关推荐
这个昵称不容易22 分钟前
旅游管理系统的设计与实现(SpringBoot + MySQL + Vue 前后端分离)
java·springboot·毕设
Rain的Java大神之路23 分钟前
LeetCode 37 解数独面试攻略:回溯 + 位掩码 + MRV,从暴力到毫秒级求解
java·后端·leetcode
天天被压力1 小时前
【A股分钟级高频数据完全手册 #11】券商实时行情数据接口:实时交易(券商源)接入与字段
java·人工智能·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #12】股票五档盘口数据接口:买卖五档实时盘口解析
java·人工智能·python
Wang's Blog11 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain11 小时前
C++转Java日记(03)
java·开发语言·c++
皮皮林55111 小时前
Java实现微信扫码登录
java
Yyyyyy~14 小时前
【Java】Day4Web基础知识
java·spring boot
灿飞屋15 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
NE_STOP16 小时前
Spring AI Alibaba - MCP入门
java