【Ubuntu】记一次.system病毒的发现
【问题发现】阿里云服务器报警CPU占用100%
【问题排查】
- 直接使用ubuntu自带命令
top
查看进程,但是只看到CPU占用了100%,没看具体是哪个进程引起的 - 辗转搜索发现
btop
更好用,且看到的会更多,于是下载安装安装
btop
# 下载压缩包 wget https://github.com/aristocratos/btop/releases/download/v1.2.13/btop-x86_64-linux-musl.tbz # 解压 tar -xvf btop-x86_64-linux-musl.tbz # 进入解压后的文件夹,进行安装 cd btop # 指定安装的目录 make install PREFIX=/opt/btop # 运行 /opt/btop/bin/btop
- 运行
btop
后,界面一目了然,CPU占用100%的原因是因为.system
的进程在跑,目录文件是/var/spool/.system/.system
【问题解决】
-
百*
以及G*
都搜索了/var/spool/.system/.system
这个文件,但是都没有相关文章提到,个人感觉应该是个挖矿病毒,啥也不说,先kill掉进程。果然CPU立马降下来了,不过好景不长,过了几分钟后,又有另外个PID不同的进程启动了, 同样还是这个文件 -
根据PID,找到主进程ID是1
#进入进程号目录 cd /proc/PID号 cd /proc/18478 #通过下面命令查看该PID号对应的父进程,即找到PPID这个进程号 cat status
-
1是个启动进程,不太确定能不能杀死或者杀死后有什么后果,所以还是不敢乱杀
-
尝试着把文件
/var/spool/.system/.system
改名,可以修改成功,没占用,然后再把进程ID 杀死,这次也是同样CPU降下来了,过了几分钟再看,没有继续启动,貌似解决了
【问题依旧】
过了几天,这文件又自动生成,卷土重来了,查看定时任务crontab,也没发现异常,暂时还不知道是什么原因以及解决办法,只能发现一次就重复上面的操作,慢慢找原因了
【解决】
以上只能暂时解决问题,每隔几天,那个.system的文件就会自动生成并且自动启动占用CPU,那感觉应该是有自启动的服务在作怪,在crontab
里没发现异常,在systemed
的目录/etc/systemd/system/multi-user.target.wants/
发现有个cdngdn.service
的文件相当可能可疑, 于是要到网上搜索了一下,百**搜不到任何相关资料,G* 搜到了 cdngd.server 这个文章,打开一看,好家伙,和我的情况一模一样的,于是根据该网页的方法用结束进程,后续再看看是否还会重来。PS:改完后把服务器root密码也改了
#停止该服务进程
systemctl stop cdngdn.service
#删除服务进程
systemctl disable cdngdn.service
【又重新自动启动】
隔了一个多星期,这两个文件 .system
和 .cdngdn.server
又出现了。 :(
只能继续再找原因,待更新……
【第二次处理】
隔了一天又自动重启了,这次使用如下命令查看该服务的资料
#使用下面命令查看服务相关资料
abc@usera:~# systemctl cat cdngdn.service
#/lib/systemd/system/cdngdn.service
[Unit]
Description=umx
After=network.target
[Service]
Type=forking
GuessMainPID=no
ExecStart=/var/spool/.system/.system
Restart=always
User=root
[Install]
WantedBy=multi-user.target
可以看到还有一个文件在 /lib/systemd/system/
目录下,按照之前的步骤,把之前两个目录文件删除,再把这个文件删除,后续再看看是否会再重启
【又出现了】
这次又有发现,在 /usr/lib
目录多了个 libsystemd-shared-165.so
的文件, 谷歌了下,这次能找到相关病毒信息了,网址:网址
网址2, 文章提到可能是docker的对外端口可能存在问题
根据提示,删除对应文件
/usr/lib/libsystemd-shared-165.so
/etc/ld.so.preload
另外还有个方法也试了, systemctl mask cdngdn.service
"mask"彻底屏蔽服务,阻止其启动,适用于威胁系统稳定性的服务