记一次解决被恶意植入挖矿程序kdevtmpfsi的过程

起因

收到一封腾讯云的邮件,内容如下
记一次解决被恶意植入挖矿程序kdevtmpfsi的过程

一开始没在意,以为是腾讯云误判(还是我太年轻),毕竟我也没调用任何别人6379端口 的业务,俺自己的redis端口也改了不是这个,所以有点莫名其妙,就没理。


谁知道当天就出现业务异常卡顿,网络通信存在异常延迟等问题,顺带查看了一下腾讯云自带的免费云监控(没有广告费),7天网络如下图
记一次解决被恶意植入挖矿程序kdevtmpfsi的过程
最高的时候到了15M,感觉有点小DDOS的意思了…难怪腾讯云以为我攻击别人,现在才引起我注意,连上服务器敲一个top,就看到了挖矿程序:kdevtmpfsi
记一次解决被恶意植入挖矿程序kdevtmpfsi的过程


kdevtmpfsi特点

含有守护进程并带有定时任务,所以往往清理后,隔几天又会出现


解决过程


1.查询kdevtmpfsi进程id

[root@VM-0-2-centos ~]# ps -ef | grep kdevtmpfsi
root     11451  1286 99 09:58 ?        01:50:07 /tmp/kdevtmpfsi
root     14267 10669  0 11:02 pts/2    00:00:00 grep --color=auto kdevtmpfsi

2.根据进程id查询守护进程

[root@VM-0-2-centos ~]# systemctl status 11451
# 阿哦~ 系统指令也都被黑了,所有关键系统文件的权限均被修改
-bash: /usr/bin/systemctl: Permission denied
# 赋予文件755权限
[root@VM-0-2-centos ~]# chmod 755 /usr/bin/systemctl
[root@VM-0-2-centos ~]# systemctl status 11451
Failed to get unit for PID 11451: PID 11451 does not belong to any loaded unit.

这里进程11451已经被我刚刚kill了,我想试试kill指令能不能用来着,所以这里显示id不存在

3.删除kdevtmpfsi进程

# 挖矿程序
kill kdevtmpfsi
# 挖矿程序的守护进程
kill kinsing
# 验证是否已杀死
ps -aux | grep kdevtmpfsi
ps -aux | grep kinsing

4.删除kdevtmpfsi相关文件夹

解决步骤较多,都在下面了,具体解释看注释

[root@VM-0-2-centos tmp]# cd /tmp
# 试图删除kdevtmpfsi文件夹,结果被锁了
[root@VM-0-2-centos tmp]# rm -rf kdevtmpfsi
rm: cannot remove ‘kdevtmpfsi’: Operation not permitted
# 发现kdevtmpfsi文件夹被加了i属性,具体含义参考:https://www.runoob.com/linux/linux-comm-chattr.html
[root@VM-0-2-centos tmp]# lsattr
-------------e-- ./cpuidle_support.log
-------------e-- ./net_affinity.log
----ia-------e-- ./svcupdates
-------------e-- ./yum_save_tx.2021-06-10.10-47.RIGnYJ.yumtx
-------------e-- ./yum_save_tx.2021-06-09.14-42.9567MU.yumtx
----ia-------e-- ./svcguard
-------------e-- ./setRps.log
-------------e-- ./nv_gpu_conf.log
-------------e-- ./yum_save_tx.2021-06-09.14-45.ewXMhx.yumtx
-------------e-- ./yum_save_tx.2021-06-08.20-18.o5LMma.yumtx
-------------e-- ./yum_save_tx.2021-06-08.22-39.fMM654.yumtx
-------------e-- ./yum_save_tx.2021-06-08.18-50.nzlZMH.yumtx
----i--------e-- ./redis2
-------------e-- ./crontab.PqH9Tb
-------------e-- ./yum_save_tx.2021-06-08.18-50.C9KsvO.yumtx
-------------e-- ./yum_save_tx.2021-06-08.21-53.5ay7xI.yumtx
-------------e-- ./virtio_blk_affinity.log
-------------e-- ./virtio_blk_affinity_udev.log
----i--------e-- ./kdevtmpfsi
-------------e-- ./yum_save_tx.2021-06-09.15-03.7KNsei.yumtx
-------------e-- ./crontab.7lC9aC
-------------e-- ./systemd-private-85826f165bb14fc9b36ced7d99e7989b-ntpd.service-aDaYPL
----ia-------e-- ./svcupdate
----ia-------e-- ./newsvc.sh
-------------e-- ./yum_save_tx.2021-06-09.15-33.pDiw4o.yumtx
-------------e-- ./yum_save_tx.2021-06-08.18-50.uPB19d.yumtx
----ia-------e-- ./svcworkmanager
# 用chattr命令来删除i属性,果然不让我删
[root@VM-0-2-centos tmp]# chattr -i kdevtmpfsi
-bash: /usr/bin/chattr: Permission denied
[root@VM-0-2-centos tmp]# cd /usr/bin/
# 复制chattr来替换使用
[root@VM-0-2-centos bin]# ls -lh chattr;lsattr chattr
-rw-r--r-- 1 root root 12K Apr  1  2020 chattr
----i--------e-- chattr
[root@VM-0-2-centos bin]# cp chattr chattr.new
[root@VM-0-2-centos bin]# chmod a+x chattr.new
[root@VM-0-2-centos bin]# chattr.new -i chattr
[root@VM-0-2-centos bin]# rm -f chattr.new
[root@VM-0-2-centos bin]# chmod a+x chattr
[root@VM-0-2-centos bin]# ls -lh chattr;lsattr chattr
-rwxr-xr-x 1 root root 12K Apr  1  2020 chattr
-------------e-- chattr
[root@VM-0-2-centos bin]# cd /tmp/
# 删除kdevtmpfsi文件夹的i属性
[root@VM-0-2-centos tmp]# chattr -i kdevtmpfsi
[root@VM-0-2-centos bin]#
[root@VM-0-2-centos bin]#
[root@VM-0-2-centos bin]#
[root@VM-0-2-centos bin]#
[root@VM-0-2-centos bin]#
[root@VM-0-2-centos tmp]# cd /var/spool
[root@VM-0-2-centos spool]# lsattr
-------------e-- ./at
-------------e-- ./mail
-------------e-- ./plymouth
-------------e-- ./postfix
----ia-------e-- ./cron
-------------e-- ./anacron
-------------e-- ./lpd
-------------e-- ./abrt
-------------e-- ./abrt-upload
# 删除定时任务文件的i属性
[root@VM-0-2-centos spool]# chattr -ai /var/spool/cron
[root@VM-0-2-centos spool]# lsattr
-------------e-- ./at
-------------e-- ./mail
-------------e-- ./plymouth
-------------e-- ./postfix
-------------e-- ./cron
-------------e-- ./anacron
-------------e-- ./lpd
-------------e-- ./abrt
-------------e-- ./abrt-upload
[root@VM-0-2-centos spool]#

5.删除kdevtmpfsi相关文件夹

rm -rf /tmp/kdevtmpfsi
rm -rf /var/tmp/kinsing
# 查看是否有残留,查到就rm -rf
find / -name "*kdevtmpfsi*"
find / -name "*kinsing*"

6.清理定时任务

# 查看当前已有的定时任务
crontab -l
# 清理所有定时任务
crontab -r

后续处理

1.防火墙该开开
2.安全组该开开
3.端口该关关
过几天再看看会不会卷土重来

上一篇:linux服务器被莫名攻击,输入命令行出现 /usr/local/lib/libs.so


下一篇:文件实时同步后防篡改的操作记录