记一次Linux病毒解决
引言
伴随着服务器的使用,不可避免的会遇到一次中病毒的情况,如果没有花钱买备份的话,重装系统损失会重大,所以在次记录一次排查Linux病毒
1.病毒起因
主要原因可能是,在远程服务器开启远程调用的时候没有给redis设置密码,以及开放源为0.0.0.0/0,然后中招的挖矿病毒,主要幕后黑手有networkservice、sysguard、sysupdate
首先使用top命令查看进程cpu占用情况
确定是病毒存在无疑了
2.定位病毒
使用top命令得出进程号(PID) 我这里是2147和3686
ps -aux | grep redis //查看redis运行的路径
杀掉进程 kill -9 id
进入/var/spool/cron发现几个文件和病毒文件名很像
redis
rm -rf redis 发现无权限无法删除
lsattr redis //查看文件属性
-------------e-- redis //只是可执行的无法修改
进入/etc目录发现绿色的几个文件(networkservice、sysguard、update.sh、config.json)都是病毒,rm -rf 文件进行删除
无法删除的时候可以chattr -i 文件名 改变可修改的属性
然后再进行删除networkservice、sysguard、update.sh(重点删除)、config.json
会脚本或shell编程的人可以去研究一下vim update.sh里面的脚本,会有恶意代码,追根溯源!
先干掉sysupdate
ps -aux | grep sysupdate //找到关于病毒的进程
ls -l proc/{进程号}/exe //找到关于病毒的进程
~]# pkill sysupdate
~]# rm -vfr /etc/update.sh
rm: 无法删除"/etc/update.sh": 不允许的操作
]# chattr -i /etc/sysupdate //改变文件修改属性
]# rm -vfr /etc/sysupdate
已删除"/etc/sysupdate"
ok,文件删除成功,不过这个qi只是第一步,因为发现这个文件又创建出来了,说明他有一个守护进程在执行
检查是否还有免密登录的后门文件 /root/.ssh/authorized_keys 也一并删除
重启完再查看cpu发现占用很少,然后基本是可以的
3.总结
-
使用 rm 命令直接删除,会发现提示无法删除,应该是使用了chattr命令将文件锁定了
使用命令: chattr -i {文件名} 即可正常删除 -
在/etc/目录下还发现一个守护进程文件 /etc/update.sh 也一并删除了
-
检查是否还有免密登录的后门文件 /root/.ssh/authorized_keys 也一并删除
-
检查定时任务 crontab -l 将可疑任务清除
最后将服务器重启,检查是否还有异常
4. 阿里云解决
阿里云服务器安全警告-异常网络连接-访问恶意域名
后续情况待第二天看是否收到短信