Ramen只针对RedHat来进行侵入,不过危害不大,但是传播的速度却惊人,15分钟内可以扫描约 130,000 个站点。
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";
}
清除Ramen蠕点的步骤:
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感染。