千家信息网

怎么解决杀不死的服务器进程

发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,本篇内容介绍了"怎么解决杀不死的服务器进程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 发现问
千家信息网最后更新 2024年11月25日怎么解决杀不死的服务器进程

本篇内容介绍了"怎么解决杀不死的服务器进程"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 发现问题:

  • 服务器今天发现遭受木马攻击,疑似挖矿程序植入,cpu一路飙升至99%,导致其他程序异常卡顿。

  • 机智的我上来一个top命令让程序现出原形,结果发现一个dvjj的进程耗尽了资源。

2. 解决问题

  • 接着,查看这个命令是从哪里的启动的,发现没有什么有用的信息。

  • 那我换个方式,根据PID查看此进程的详细信息:ll /proc/19718

  • Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls -l命令即可查看。

  • 好家伙,看看这个dvjj到底写了些啥:cat /etc/dvjj,一堆火星文字刷屏,吓得我连按几个ctrl+c才退出。

  • 既然看不懂,我就不看嘛,删掉你:rm -rf /etc/dvjj,同时提示我有一封邮件,You have new mail in /var/spool/mail/root,于是查看邮件:cat /var/spool/mail/root,疯狂输出日志,好像是一直在下载什么东西

  • 不管了,先干掉再说吧:kill -9 19718,再次查看资源:top。怎么又起来了,中度郁闷中,杀不死的小强

  • 由于此程序会自动运行,立马想到定时任务,因此查看所有定时任务(系统级别和用户级别)系统级别的任务如下:

  • 查看用户级别的定时任务:cd /var/spool/cron/ ,只有一个用户和组都是root 的root文件

  • 查看定时任务内容:crontab -l,似乎是和redis相关的一堆自动下载任务,每隔几分钟就会执行一次

  • 既然如此,就删除当前用户的所有定时任务:crontab -r,提示我无法执行,我可是草鸡用户啊,怎么能这样对我。。。。。

  • 并且crontab -e 编辑命令均没有作用。最后,我决定采用rm -rf root 删除

  • 怎么这个文件既不能编辑也不能删除,太奇怪了!!这时,有两个命令可以派上用场:

chattr:可以修改文件系统属性,防止root用户误操作lsattr: 查看文件系统属性man chattr 可以查看命令使用详情

a 表示只能追加e 表示文件使用区段映射磁盘上的块
  • 去除文件属性:chattr -ae root,但是依然不能删除,那就采用编辑此文件,成功删除里面的内容,心头一喜。

  • 查看root文件:cat root,无任何内容。另外,需要对这些定时任务文件修改属性:chattr +i files,防止篡改

  • 修改执行文件/etc/dvjj的权限,由于此文件一直在增加内容,所以先删除后再新建一个空内容的文件,并且防止其修改:chattr +i /etc/dvjj

  • 查看进程树pstree,可以看到dvjj还有5个后台进程,因此是杀不死的

  • 查看此进程下的所有任务:ll /proc/11080/task,共六个程序

  • 查看进程所打开的端口和文件,lsof -p PID

  • 查看其中一个文件:cat /usr/lib64/ld-2.17.so,发现同样乱码,经过查询可以用strings命令进行转化,比如:

strings /usr/lib64/ld-2.17.so > virvus.txt

  • 然后再进行查看,前后折腾一番,但是我没有找到有用的信息。

  • 既然如此我就修改其木马文件权限:chmod 600 /usr/lib64/ld-2.17.so,让其无法执行,并且锁定文件:chattr +i /usr/lib64/ld-2.17.so

  • 上图中可以看到此连接的ip和端口:47.102.39.92:13531,封掉此ip和端口。

echo sshd:47.102.39.92 >> /etc/hosts.denyiptables -I INPUT -s 47.102.39.92 -ptcp --dport 13531 -j DROPiptables -I OUTPUT -s 47.102.39.92 -ptcp --dport 13531 -j DROP
  • 接下来,再次杀死dvjj进程,反复查看进程,终于搞定这个杀不死的进程了。你以为这样就完了,并没有。。。。。输入:netstat -apntl,服务器还在尝试与对方握手,因为禁了ip所以连接不上!!!!!!

3. 最后,检查启动项的文件

  • 检查最基本的开机启动项配置文件,尝试在开机启动文件中看看有没有可疑程序,如有有记得删除

    ls /etc/rc*/init.dls /etc/rc*/


  • 检查chkconfig方法配置的自启动的服务:chkconfig --list

  • 关机重启,搞定

"怎么解决杀不死的服务器进程"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0