目 录CONTENT

文章目录

记服务器挖矿木马入侵与解决

这两天登入服务器面板,发现有时候CPU占用率有时候会异常维持在100%。我原先以为是部署了大模型的缘故,但这种现象出现得越来越频繁,直到一直维持着满占用。这明显很不对劲,于是打开使用htop 进行查看,果然发现了几个个异常进程:

查了一下,根据参数--randomx-1gb-pages这是门罗币(Monero/XMR)的挖矿算法,bad news,服务器确实被入侵了。

当机立断,立马kill这几个进程,但很明显,这种入侵脚本肯定自带复活机制,我还需要找到它们的本体。

首先查找定时任务:

ls -la /var/spool/cron/crontabs/

一切正常。

再查找系统任务目录:

ls -la /etc/cron.d/

unnamed.png

还是没有发现。

再检查Systemd:

ls -lt /etc/systemd/system/ | head -n 20

unnamed-QCsi.png

依旧没有发现。

最后确认了下ssh密钥,也没有问题。

说实话这时候已经有点冒汗了,已经在考虑是不是要直接从服务商那边直接重置整个系统了,但还是有点不甘心,决定再排查看看。

于是我又打开了进程管理的界面:

欸,发现了一点端倪,貌似这些挖矿进程都是3269这个父进程生出来的,那看看这个进程是什么玩意。

ls -l /proc/3269/exe

unnamed-kLFZ.png

看来是个node脚本。

定位一下。

ls -l /proc/3269/cwd

这玩意看来是在/app 目录下,但是我的服务器没有这个目录,那么大概率是在容器里。

检查一下docker。

docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}' | grep 3269

找到了,病毒藏在一个 Docker 容器里,容器的名字叫 1Panel-umami-1NNn,很明显,这是我自建的umami被植入了恶意代码,上网查了一下,应该和React的这个漏洞有关

接下来要做的事情就很简单了,删掉这个容器,修改ssh密码,顺便把矿池的ip加入黑名单,观察了一天,CPU的使用率没有再出现异常。

后续又检查了下其他部署的项目,基本没有使用React的,应该不会受影响,总的来说算是虚惊一场。

ps:听说cloudflare因为这个漏洞间接也瘫痪了几个小时,这世界真是一如既往地草台班子。

0

评论区