Ramen是很善良的,在攻击完成后会自动把它攻击的3个漏洞给修补上(Redhat 6.2的rpc.statd、wu-ftpd,Redhat7.0的lpd),但是会在系统上起一个进程扫描下面的机器,会占去大量网络带宽。由此可能造成其他的主机的误会以及大量占用网络带宽,使系统瘫痪。
我们可以看出,该程序其实并不能称为病毒,而是一个利用了安全漏洞的类似蠕虫的程序。该程序的作者Randy Barrett也站出来声明说,这只是一个安全漏洞,类似于这样的安全漏洞在各种网络服务器上都存在,他在写Ramen程序的时候也不是针对Linux的。
防治的方法很简单,请升级你的redhat 6.2的 nfs-utils , wu-ftpd , redhat 7.0的LPRng,具体下载可以到ftp://updates.redhat.com/。
检查系统是否被该程序侵入的方法是,看看有没有/usr/src/.poop这个目录被建立,以及27374端口是否被打开,如果有的话就表明已经被Ramen侵入了。
看一个系统是否感染了Ramen蠕虫,主要基于以下几点:
1. 存在/usr/src/.poop目录
2. 存在/sbin/asp文件
3. 本地端口27374被打开(用netstat -an命令)
可以用以下的perl脚本程序检测:
#!/bin/perl # Script that checks for signs of ramen infection # Patrick Oonk, patrick@security.nl # based on Daniel Martin's description at # http://www.securityfocus.com/archive/75/156624 # No guarantees, do with this script whatever you like (BSD license) $detected = 0; print "Ramen worm checker.nChecking...n"; open(F,"/etc/redhat-release") ; print "You are running ",〈F〉,"n";; close(F); @suspect = ("/usr/src/.poop", "/usr/src/.poop/ramen.tgz","/tmp/ramen.tgz"); foreach (@suspect) { if(-e) { print "found $_n"; $detected++; } } open(N, "/bin/netstat -an|") or print "Could not open /bin/netstatn"; while(〈N〉) { if (/:27374.*LISTEN/) { print "Ramen webserver detected on port 27374n"; $detected++; last; } } close(N); if ($detected) { print "$detected telltale signs of ramen found. Get professional helpn"; } else { print "Wheee! No ramen signs found!n"; } |
1. 删除/usr/src/.poop目录和/sbin/asp文件。
2. 如果存在/etc/xinetd.d/目录,则删除/etc/xinetd.d/asp。
3. 删除/etc/rc.d/rc.sysinit文件中涉及到/usr/src/.poop的行。
4. 删除/etc/inetd.conf文件中涉及到/sbin/asp的行。
5. 重新启动系统和手动杀掉以下进程synscan,start.sh, scan.sh, hackl.sh, hackw.sh。
6. 升级ftp, rpc.statd, lpr等程序。
因为Ramen是通过wu-ftp, rpc.statd, lpr等程序侵入系统的,所以在对这几个程序升级前最好关闭这些程序,这样可以有效地防止被Ramen感染。
网友评论