ºìÁªLinuxÃÅ»§
Linux°ïÖú

Çå³ýLinuxϵͳÉϵÄÈ䳿³ÌÐòRamen

·¢²¼Ê±¼ä:2006-11-28 09:11:08À´Ô´:ºìÁª×÷Õß:williamEXE
¡¡¡¡LinuxϵͳÖгöÏÖÁËÒ»ÖÖ³ÆÖ®ÎªRamenµÄÈ䳿³ÌÐò¡£Ëü¿ÉÄÜ»áÈëÇÖÊýǧ̨ÔËÐÐRedHat 6.2/7.0 ²Ù×÷ϵͳµÄ·þÎñÆ÷¡£RamenÀûÓÃÁËÁ½¸öÒÑÖªµÄLinux°²È«Â©¶´¡£ËüÊ×ÏÈÀûÓà RPC.statd ºÍ wu-FTP µÄ©¶´É¨ÃèÍøÂçÉÏʹÓà RedHat 6.2/7.0 µÄ·þÎñÆ÷£¬È»ºó³¢ÊÔÈ¡µÃϵͳȨÏÞ£¬Ò»µ©È¡µÃÖ®ºó£¬»á½«Ò»Ð©Ò»°ãµÄϵͳ·þÎñ¼ÓÒÔÌæ»»£¬²¢ÇÒ½«Ò»¸ö³ÆÖ®Îª¡°root kit¡±µÄ³ÌÐòÂëÖ²È밲ȫ©¶´ÖУ¬´ËÍâ Ramen »¹»á½«Õ¾µãÉϵÄÊ×Ò³¸ø»»³É :¡°RameNCrew--Hackers looooooooooooove noodles¡±µÄ×ÖÑù¡£×îºó£¬Ramen»á¼ÄÁ½·âПøÁ½¸öµç×ÓÐÅÏ䣬²¢ÇÒ¿ªÊ¼ÈëÇÖÆäËûµÄRedHat·þÎñÆ÷¡£

¡¡¡¡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/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¸ÐȾ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ