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, [email protected]
# 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/netstat\n"; while(〈N〉) {
if (/:27374.*LISTEN/) {
print "Ramen webserver detected on port 27374\n";
$detected++;
last;
}
}
close(N);
if ($detected) {
print "$detected telltale signs of ramen found. Get professional help\n";
} 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感染。