服务器病毒处理排查思路
项目交付与运维过程中,一些项目出现了平台异常,经排查是由于服务器中毒导致,由此提供一些病毒处理排查思路;
注:此帖旨在给予大家提供一些排查思路,病毒查杀:查看CPU使用情况→找出对应异常服务→找到对应病毒定时任务→找到对应病毒文件→修改对应病毒文件→删除对应定时任务→kill病毒程序→禁用服务器异常服务→重启服务器→关闭22端口映射;如后续大家有新的排查思路可以提供问题小组,不断完善病毒处理流程
1、查看CPU使用情况:服务器执行top指令后,按数字1。如下图所示,部分CPU使用率接近100%,则大概率是服务器中毒了
2、找出对应异常服务:使用 top、htop 或 ps aux 查看是否有高CPU/内存占用的可疑进程(如 netools、kinsing、kdevtmpfs 等),一般来说,如果进程达到百分之几百了,基本可以判断为恶意进程,这种是很容易看出来的,而像下图中的netools这种,可能实施工程师看不出来,大家可以截图发给AI,让AI去判断,例如问一下豆包,豆包则给出了对应的解释。



3、检查网络连接:通过 netstat -anp | grep 

4、找到对应病毒定时任务:使用seekcy用户检查是否有seekcy用户下异常crontab任务,seekcy下的定时任务路径一般为/home/seekcy开头,不会有奇奇怪怪的开头,能查到就是异常的定时任务
执行脚本:crontab -l
如下图所示:

5、找到对应病毒文件:根据上图所示定时任务去对应目录下找到对应文件,上图所示文件目录为/dev/shm/.b,注意:有一些情况下文件为隐藏文件,因此需要一层一层进入对应目录下,使用ll -a查看文件,如未找到文件可使用sudo find / -name <文件名>查找病毒相关文件;也可以使用xftp工具去找,不过为了避免是隐藏文件,可以先找到“工具栏”→“选项”→“常规”→“显示隐藏的文件夹”,这样就算病毒是隐藏文件,也能看到了。

6、修改对应病毒文件:
1)找到对应文件后,在该文件目录下,使用mv命令修改文件名,病毒一般都会往对应文件不断读写数据,直至磁盘崩溃,mv <病毒文件名><病毒新文件名>用此方式处理,切记不要删除文件,防止病毒未查杀成功回溯继续杀毒;也可以使用xftp工具,找到该文件后,鼠标右键重新命名;
【示例:假设当前目录有文件 old.txt,想改名为 new.txt,
执行:mv old.txt new.txt
执行后,old.txt 消失,生成 new.txt(内容完全相同)】。
2)若使用以上命令无法处理,无法修改文件,病毒文件可能赋予了隐藏属性,使用 lsattr <文件名>查看文件属性,如果存在 i(不可修改)或 a(仅追加)属性,需先移除属性修改文件;
3)使用sudo chattr -i <文件名> 或 sudo chattr -a <文件名>处理,若无隐藏属性无需处理;
7、删除对应定时任务:文件重命名后将seekcy账户下异常crontab命令删除,非i修改模式下可以使用dd删除整行;
执行:crontab -e
执行:光标挪到异常定时任务的这一行,然后连续按两次dd,表示整行删除,

8、上述执行完成之后可以使用此链接下的帖子去检查root下crontab任务;
http://svn.seekcy.com:33382/717
9、禁用服务器异常服务:上述步骤执行完成后,执行一下命令进行如下操作;
systemctl list-unit-files --type=service --state=enabled | grep enabled | awk '{print $1}' | grep -Ev "sshd|network|firewalld|systemd|rsyslog|crond|auditd" > services-to-disable.txt #生成待禁用服务列表while read service; do systemctl disable "$service" done < services-to-disable.txt #根据待禁用列表服务批量禁用
以上执行完成后会保留ssh,network,防火墙等必要服务,禁用其他异常服务,执行成功如下图所示
10、kill -9 (对应病毒服务进程);
11、重启服务器:以上执行完成后重启服务器,查看服务是否正常,如异常或者操作过程中出现问题可联系问题小组处理
12、ssh端口处理:病毒查杀完成后,按照下面的参考链接进行网络映射
参考链接:http://svn.seekcy.com:33382/740
ZGL(0514)
转载请注明作者和出处,并添加本页链接。
原文链接:
//svn.seekcy.com/775