by mutecat@byhh 2008.05.04

   木马病毒源自古希腊特洛伊战争中著名的“木马计”而得名,这是网上说的,我是懒人

很少装防火墙,这就必然导致我的系统上会出现形形色色的木马,通常这些木马必须手动

清除而且很难处理干净,前段时间XP被木马搞得实在支撑不住了,于是下定决心重装系统

,不料我的机器不管用什么盘死活重装不了,无奈只好用木马克星+卡巴斯基暂时抵抗一下

,有点离题了。

   昨天讲到系统reboot,结果大家可想而知,在初始化执行rc.sysint时就挂掉了,原因

是mount和grep这些命令都感染了病毒,运行出现段错误,导致初始化失败。只有再重启进

入single模式修复,当时想的也很简单,把感染了的文件用别的系统上的替换掉就OK了,

但是显然别人知道你有这一招,事先就把mount、netstat、ping这些给你黑了,这样一来

就郁闷了,没有了mount你就不能使用U盘了,没有了网络你也不能用ftp、scp等了。

   为了确认多少文件感染了病毒,进入bin目录,使用ls -l查看文件的最新修改时间,

发现grep、awk、ed、mount、netstat等都被感染了,幸好/sbin、/usr/bin、/usr/sbin

目录下的命令完好。

   旁边另外一台服务器也是redhat 9系统,所以修复工作也比较方便,把感染了病毒的

硬盘取下来挂载到这台服务器上,正如Tmacd所说,由于先前没有经验,在新的机器上我

执行了中毒硬盘bin目录下的grep命令,这时就郁闷了,此台机器也被感染,症状一样,

grep,mount等命令一概不能使用:( 这时候还是有点小害怕的,万一真的搞丢什么数据,

后果可很严重,两台服务器存储着两个项目组的大量数据。但是幸运的是网络并没down

掉,所以让同学打开他的redhat9虚拟机,用scp把系统中grep、mount等命令都拷贝过来

了,虽然grep、mount等可以使用,但是问题的根本并没找到,最后发现grep、mount、

umount、netstat等这些命令是“亲属”,只要其中有一个感染了,执行之后,其它的也

会相应感染,在用netstat -a的时候无意中发现了这个连接:

Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp    0      0     voip:33768              207.66.155.21:http      SYN_SEND

从中可以看出,本地一个tcp服务器从33768端口不断的给207.66.155.21的80端口发送数据

,而且每次netstat -a的时候本地的端口都会+2,这显然是非常不正常的!,于是为了找

出这个后台运行的木马程序,用netstat -anp|grep port 命令把本地所有开放端口的进程

号都找了出来,并且用ps -elf|grep pid把对应的程序也全部找了出来,并一一终止,遗

憾的是最终还是没有找出后台运行的木马程序位置,只有把sshd服务或者网络断开,才能

阻止上述连接,但是即使网络被断开,服务器一样中毒不浅,最痛苦的是不小心重启了服

务器,现在好了,两台服务器都进不去了 :(

不慌,还有一招,同学有redhat9虚拟机,把两台机器的硬盘都卸下来,并且挂载到同学的

机器上,修改虚拟机配置,添加物理硬盘(注意操作之前虚拟机一定要拍个快照,万一挂了

可以随时恢复,vmware就是好用:) ),进入虚拟机之后,手动挂载,用

gtar cf bin.tar bin把两块中毒硬盘的bin目录备份,然后rm -rf删除之,使用cp -dpR把

虚拟机目录下的bin目录拷贝过来,并使用chroot命令测试正确性,结果可用,其中在

rm -rf 第一块中毒硬盘目录下的bin目录时,提示ls、netstat、ps等三个命令无权限删除

,faint,我可是root权限,而且是-force,竟然提示没权限,用lsattr看了一下,果然文

件属性位被修改,显示如下:

——-ai——   ls
——-ai——   netstat
——-ai——   ps
文件属性被标志为a时,即使用-f也是删除不了的,用chattr -ai * 把ai属性去掉,最后

成功删除。

bin目录下文件修复之后,两块硬盘都能启动并进入系统了,但是最先中毒的硬盘显然没

这么简单,待续。


评论

该日志第一篇评论

发表评论

评论也有版权!

click to change验证码