案例描述
早上接到IDC的电话,说我们的一个网段IP不停的向外发包,应该是被攻击了,具体哪个IP不知道,让我们检查一下。
按理分析及解决办法
首先我们要先确定是哪台机器的网卡在向外发包,还好我们这边有zabbix监控,我就一台一台的检查,发现有一台的流量跑满了,问题应该出现在这台机器上面。
我登录到机器里面,查看了一下网卡的流量,我的天啊,居然跑了这个多流量。
这台机器主要是运行了一个tomcat WEB服务和oracle数据库,问题不应该出现在WEB服务和数据库上面,我检查了一下WEB日志,没有发现什么异常,查看数据库也都正常,也没有什么错误日志,查看系统日志,也没有看到什么异常,但是系统的登录日志被清除了,
我赶紧查看了一下目前运行的进程情况,看看有没有什么异常的进程,一查看,果然发现几个异常进程,不仔细看还真看不出来,这些进程都是不正常的。
这是个什么进程呢,我每次ps -ef都不一样,一直在变动,进程号一一直在变动中,我想看看进程打开了什么文件都行,一时无从下手,想到这里,我突然意识到这应该都是一些子进程,由一个主进程进行管理,所以看这些子进程是没有用的,即便我杀掉他们还会有新的生成,擒贼先擒王,我们去找一下主进程,我用top d1实时查看进程使用资源的情况,看看是不是有异常的进程占用cpu内存等资源,发现了一个奇怪的进程,平时没有见过。这个应该是我们寻找的木马主进程。
我尝试杀掉这个进程,killall -9 ueksinzina,可是杀掉之后ps -ef查看还是有那些子进程,难道没有杀掉?再次top d1查看,发现有出现了一个其他的主进程,看来杀是杀不掉的,要是那么容易杀掉就不是木马了。
我们看看他到底是什么,”which obgqtvdunq”发现这个命令在/usr/bin下面,多次杀死之后又重新在/usr/bin目录下面生成,想到应该有什么程序在监听这个进程的状态也可能有什么定时任务,发现进程死掉在重新执行,我就按照目前的思路查看了一下/etc/crontab定时任务以及/etc/init.d启动脚本,均发现有问题。
可以看到里面有个定时任务gcc4.sh,这个不是我们设定的,查看一下内容更加奇怪了,这个应该是监听程序死掉后来启动的,我们这边把有关的配置全部删掉,并且删掉/lib/libudev4.so。
在/etc/init.d/目录下面也发现了这个文件。
里面的内容是开机启动的信息,这个我们也给删掉。
以上两个是一个在开机启动的时候启动木马,一个是木马程序死掉之后启动木马,但是目前我们杀掉木马的时候木马并没有死掉,而是立刻更换名字切换成另一个程序文件运行,所以我们直接杀死是没有任何用处的,我们目的就是要阻止新的程序文件生成,首先我们取消程序的执行权限并把程序文件成成的目录/usr/bin目录锁定。
chmod 000 /usr/bin/obgqtvdunq
chattr +i /usr/bin
然后我们杀掉进程”killall -9 obgqtvdunq”,然后我们在查看/etc/init.d/目录,看到他又生成了新的进程,并且目录变化到了/bin目录下面,和上面一样,取消执行权限并把/bin目录锁定,不让他在这里生成,杀掉然后查看他又生成了新的文件,这次他没有在环境变量目录里面,在/tmp里面,我们把/tmp目录也锁定,然后结束掉进程。
到此为止,没有新的木马进程生成,原理上说是结束掉了木马程序,后面的工作就是要清楚这些目录产生的文件,经过我寻找,首先清除/etc/init.d目录下面产生的木马启动脚本,然后清楚/etc/rc#.d/目录下面的连接文件。
后来我查看/etc目录下面文件的修改时间,发现ssh目录下面也有一个新生成的文件,不知道是不是有问题的。
快速清理木马流程
作者:2012hjtwyf 链接:http://blog.51cto.com/hujiangtao/1920836
领取专属 10元无门槛券
私享最新 技术干货