解决一次服务器病毒被杀的情况
背景
下午查看服务器的时候,突然发现服务器突然变得很卡。查看进程的时候发现有个叫blil的进程占有大量CPU资源,最高达到CPU60%的资源。
第一步,直接删除病毒和定时启动程序
-
搜索blil地址,在/etc/下,调用rm -rf /etc/blil删除该文件
-
清空/var/spool/cron/root内容,解决定时启动的问题。
结果:解决失败,病毒文件会定期生成,并启动。
第二步,查询日志
-
boot.log 系统启动日志
-
cron.log 定时器日志
-
secure SSH日志
-
message 系统消息
最后发现,最新的日志,基本都被删除了,看不到数据,恰好在历史上看到过去的记录没有删除。
结果:找到了c.21-2n.com ,问了下度娘,基本可以确定是挖矿的病毒网站,经友人提示,还是门罗币的挖矿病毒。
第三步,分析病毒文件
-
shz.sh,主要是去w.3ei.xyz下载病毒文件。涉及w.3ei.xyz 这个域名
-
initdz,这是个主要的病毒传播软件,分析结果如下
-
软件的主要目录是在/etc下
-
使用一个另外的目录替换了rm程序。
-
在/etc/init.d/目录下创建了一个执行程序,执行ats文件,这个ats大概意思就是在重启的时候,启动initdz程序
-
他会自动去指定的网站下下载病毒文件,并反复执行
-
解决方案
-
删除修改hosts和hosts.deny,把那些可以下载病毒文件的网站都加入黑名单。
-
-
备份并删除相关病毒文件
-
文件列表
-
-
-
删除程序的文件的过程中,发现病毒程序还会把文件给锁定,防止删掉。
-
结果:发现病毒文件还是会执行,而且这次换方式了,会不停的生成一个新的文件名来,然后执行。
第四步,检查监听常驻程序
因为那个文件是定时自动生成的,每次删除后,每隔一会就会自动生成,所以怀疑还有个病毒文件以某种情况启动,并定时检查病毒文件的状态,并启动挖矿软件。
-
怀疑有病毒驻在内存,检查服务服务状态systemctl,因为有一个病毒文件改名成systemctl放在上面,怀疑以service方式启动。发现没有问题
-
检查ps线程,ps -A 命令可以查看当前用户线程,初步没有查看到异常线程。初步没发现线程
-
怀疑还是通过系统漏洞进来的,开启系统防火墙,关闭非必要的一切其他接口。
结果:问题解决!