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目录下文件修复之后,两块硬盘都能启动并进入系统了,但是最先中毒的硬盘显然没
这么简单,待续。
发表评论