机器主要是运行了一个tomcat WEB服务和oracle数据库。
判断:问题不应该出现在WEB服务和数据库上面,检查WEB日志没有发现异常,查看数据库也都正常,也没有错误日志,查看系统日志,也没有看到异常,但是系统的登录日志被清除了。
1.查看下目前运行的进程情况,发现几个异常进程,不仔细看还真看不出来,这些进程都是不正常的。
这是个什么进程呢,每次ps -ef都不一样,一直在变动,进程号也一直在变动中,无法查看进程打开了什么文件。(这应该都是一些子进程,由一个主进程进行管理)
2.找主进程:用top 实时查看进程使用资源的情况,看看是不是有异常的进程占用cpu内存等资源,发现了一个奇怪的进程,平时没有见过。这个应该是我们寻找的木马主进程。
3.尝试杀掉这个进程,killall -9 ueksinzina
,可是杀掉之后ps -ef查看还是有那些子进程,难道没有杀掉?再次top 查看,发现有出现了一个其他的主进程,看来杀是杀不掉的,要是那么容易杀掉就不是木马了。
4.我们看看他到底是什么,”which obgqtvdunq”发现这个命令在/usr/bin下面,多次杀死之后又重新在/usr/bin目录下面生成,想到应该有什么程序在监听这个进程的状态也可能有什么定时任务,发现进程死掉再重新执行,我就按照目前的思路查看了一下/etc/crontab定时任务以及/etc/init.d启动脚本,均发现有问题。
可以看到里面有个定时任务gcc4.sh,这个不是我们设定的,查看一下内容更加奇怪了,这个应该是监听程序死掉后来启动的,我们这边把有关的配置全部删掉,并且删掉/lib/libudev4.so。
4.在/etc/init.d/目录下面也发现了这个文件。
5.里面的内容是开机启动的信息,这个我们也给删掉。
以上两个,一个试在开机启动的时候启动木马,另一个是木马程序被杀掉之后启动木马,但是目前我们杀掉木马的时候木马并没有死掉,而是立刻更换名字切换成另一个程序文件运行,所以我们直接杀死是没有任何用处的,我们目的就是要阻止新的程序文件生成,首先我们取消程序的执行权限并把程序文件生成的目录/usr/bin目录锁定。
chmod 000 /usr/bin/obgqtvdunqchattr +i /usr/bin
6.然后我们杀掉进程”killall -9 obgqtvdunq”,然后我们在查看/etc/init.d/目录,看到他又生成了新的进程,并且目录变化到了/bin目录下面,和上面一样,取消执行权限并把/bin目录锁定,不让他在这里生成,杀掉然后查看他又生成了新的文件,这次他没有在环境变量目录里面,在/tmp里面,我们把/tmp目录也锁定,然后结束掉进程。
7.到此为止,没有新的木马进程生成,原理上说是结束掉了木马程序,后面的工作就是要清除这些目录产生的文件,经过我寻找,首先清除/etc/init.d目录下面产生的木马启动脚本,然后清除/etc/rc#.d/目录下面的链接文件。
8.后来我查看/etc目录下面文件的修改时间,发现ssh目录下面也有一个新生成的文件,不知道是不是有问题的。
9.清理差不多之后我们就要清理刚才生成的几个文件了,一个一个目录清楚,比如”chattr -i /tmp”,然后删除木马文件,以此类推删除/bin、/usr/bin目录下面的木马,到此木马清理完毕。
快速清理木马流程
假设木马的名字是nshbsjdy,如果top看不到,可以在/etc/init.d目录下面查看
1.首先锁定三个目录,不能让新木马文件产生
chmod 000 /usr/bin/nshbsjdychattr +i /usr/binchattr +i /binchattr +i /tmp
2.删除定时任务及文件以及开机启动文件
删除定时任务及文件
rm -f /etc/init.d/nshbsjdyrm -f /etc/rc#.d/木马连接文件
3.杀掉木马进程
killall -9 nshbsjdy
4.清理木马进程
chattr -i /usr/binrm -f /usr/bin/nshbsjdy
处理完成之后再一次检查一下以上各目录,尤其是/etc目录下面最新修改的文件。
5.如果是rootkit木马,可以用下面的软件进行检查。
软件chkrootkit
软件RKHunter
安装都非常简单,我使用RKHunter简单检查了一下,没有发现什么重大问题,但是这也并不表示没有什么问题,因为我们的检测命令也是依赖一些系统的命令,如果系统的命令被感染那是检测不出来的,最好是系统的命令备份一份检查,再不行就备份数据重装喽。