上次已经被抓去挖矿了当了一次旷工了,本以为解决了,没想到竟然死灰复燃。
这次占用cpu的依然是一个ld-linux的进程,kill掉之后同样就查了关于test用户的进程,果然,test用户的进程有100+个,比不上上次,还是用上次的脚本,将test的进程也kill掉。为防止恶意添加用户,将/etc/passwd 文件里的test用户删除后,给该文件添加了隐藏权限 i ,具体功能不知道的可以查下,此处不多介绍。再把主进程ld-linux干掉之后cpu直接降下来。
这已经是第二次了,为了防止还有第三次,决定彻底查找该挖矿病毒。于是 find 查找了关于 ld-linux 的文件,结果如下:
/tmp/.xm/stak/ld-linux-x86-64.so.2
/usr/lib64/ld-linux-x86-64.so.2 -> ld-2.17.so
/usr/share/man/man8/ld-linux.so.8.gz
/usr/share/man/man8/ld-linux.8.gz
可以看到第一条的记录:/tmp/.xm/stak/ld-linux-x86-64.so.2
是在tmp的一个隐藏目录下的文件里面,有个ld-linux-x86-64.so.2,并且这个文件和/usr/lib64/ld-linux-x86-64.so.2名字一模一样,为什么这么说,你应该知道linux恶意进程基本都是伪装成其他进程的,就是名字和一些文件的名字一样。如果不这样,你一看进程:“这是个啥进程,没见过,干掉!”,这样可能太对不起IT×××大佬写的代码了。
将/tmp/.xm/stak/ld-linux-x86-64.so.2 转移并取消权限(为了日后有时间研究下)。
接着搞第二条。由于才疏学浅,也没注意看/usr/lib64/ld-linux-x86-64.so.2 -> ld-2.17.so 是干啥的,就mv直接转移到了root的一个文件夹下,结果.............除了 cd 和pwd 命令之外的所有命令都不能用了,而且xshell连接也连接不上,一直显示拒绝连接。后来查了资料,这是一个什么动态库的文件,在系统里很是重要。现在仅有电脑上保持连接状态的三个xshell框,而且是啥也做不了。
百度、群里探讨、找解决方法。
试过ftp,试过scp.....想办法把ld-linux-x86-64.so.2还mv到原来的目录,或者从别的系统上复制过去。都没成功,预料的结果。
想到一起用的单用户模式修改root密码,就试试看能不能解决这个文件的问题。结果是能进去,但是文件不是互通的,就是里面的文件系统并不是原来系统里的东西,root下原本应该有的 ld-linux-x86-64.so.2 文件并不存在,也就没办法操作了。
后来查到救援模式的方法,centos7以前的系和centos7的救援模式是不一样的,具体的自己查。
此处有两个坑:
1.这个ro,当时我找了好久,如果你也找不到的话可以试试在拐角处,一行的末尾是 r/ ,下一行的开头是 o ,明白了吧,
换行处有个/符号;
2.这个系统的救援模式是不管用的,还是别试了;
好,下面开始说怎么拯救 ld-linx 。
系统的救援模式不管用,但是还有光盘的救援模式,准备一个刻录好的系统盘吧。
1.进入系统Bios设置,进光盘启动:
2.选择第三个Troubleshooting:
3.然后再选择第二个Rescue a CentOS Linux system,具体看选项,意思是“拯救一个centos系统”:
4.输入 1 ,然后回车即可;
###
这就是光盘的救援模式了,现在所用的命令都是这个系统盘的,基本都能用。
原来服务器的系统会被光盘挂载到 /mnt/sysimage/ 文件夹下,进去之后会发现,里面的文件和你之前系统的一样(其实就是)。
这样就可以操作了,去目录里把 ld-linux-x86-64.so.2 复制或者剪切到原来的目录吧,但是注意路径,(此处敲黑板3次),你原系统的根目录是/mnt/sysimage/!!!!!!(至少我的是,不确定的可以 df -h 看一下),操作的时候一定要看仔细,毕竟到这里可能是你最后的机会了,一个操作失误,可能就要刷系统了。
还有就是,这个光盘的救援模式,号称连系统内核都可以拯救(就是不知道 rm -rf /* 还能不能救回来),所以只要备份了数据,就总有解决的办法。
最后,发布的可能有些着急了,不全面的地方还望包涵,此文章仅供参考;
原文地址:http://blog.51cto.com/13577495/2156959