【实验名称】 VBScript脚本病毒分析与清除
【实验目的】

1.了解VBScript如何实现文件、进程及注册表操作
2.了解VBScritp病毒的工作原理
3.了解VBScritp病毒的感染目标和感染方式
4.掌握编写VB脚本病毒专杀工具的一般方法
【实验原理】
VBScript语法(可查询“微软VbScript手册vbs.chm”)
1.文件操作
(1)创建文件对象:文件操作前都要创建文件对象
Set fso = CreateObject(“Scripting.FileSystemObject”)
(2)以只读方式打开当前脚本:WScript.ScriptFullname当前运行脚本的路径
fso.OpenTextFile(WScript.ScriptFullname,1)
(3)以文本形式读取file整个文件:file.ReadAll
(4)获取指定文件夹的路径 :fso.GetSpecialFolder(1)
‘ 1:'获取System文件夹路径,0:windows文件夹,2:temp文件夹
(5)根据路径获取文件:fso.GetFile(WScript.ScriptFullName)
(6)备份文件:c.Copy(dirsystem&"\MSKernel32.vbs")
(7)取文件后缀:fso.GetExtensionName(f1.path)
(8)获得文件夹句柄:fso.GetFolder(folderspec) ‘folderspec为文件夹路径
(9)创建文件:fso.CreateTextFile(f1.path&".vbs"),f1.path&".vbs"为路径及文件名
(10)文件属性:f1.attributes = 2为隐藏文件
(11)子文件夹:folder.SubFolders

2.注册表操作
(1)创建注册表对象:Set regedit = CreateObject(“WScript.Shell”)
创建WScript.Shell对象,用来修改注册表
(2)写注册表:regedit.RegWrite regkey,regvalue
(3)删除注册表:regedit.RegDelete regkey
注:regkey,regvalue是函数RegWrite/RegDelete的参数

3.进程操作
(1)创建进程对象:Set winm = GetObject(“winmgmts:")
(2)vbs文件:由wscript.exe进程调用并执行
(3)查询所有wscript.exe进程:
pocs=winm.execquery(“select * from win32_process where name = ‘wscript.exe’”)
(4)终止进程:processor.terminate
【实验内容】
1.在虚拟机中解压文件3-课堂.rar

2.拍摄虚拟机快照

3.不使用监控软件,运行脚本文件svir.vbs,观察运行结果;
(1)弹出对话框病毒的路径:C:\Documents and Settings\Administrator\桌面\病毒实验三

(2)关闭上一个对话框之后,弹出病毒发作的对话框,且关闭一个之后又出现第二个。

(3)但是可以通过任务管理器,强制结束wscript.exe的进程,之后对话框被关闭。

4.恢复虚拟机快照;

5.使用监控软件如Filemon,Regmon,Process Explorer等,运行脚本文件svir.vbs,并观察运行结果。
注:运行结果应观察脚本文件svir.vbs运行后,对(1)文件,(2)注册表,(3)进程 的操作。
(1)文件
1、备份文件
在系统目录下备份了病毒文件

2、感染文件
指定目录下后缀为txt,jpg,mp3都将被感染成vbs文件
(1)原目录下的文件

都被感染成了vbs文件

且病毒文件将代码也备份给了被感染的文件,这样在被感染文件也编程了新的病毒文件,被传播点击启动之后又会感染其他的文件,危害其他的系统。

(2)其他文件目录:

指定目录下文件都被感染,且我们可以看到原文件都被隐藏起来了,一般人在没有显示隐藏文件夹的情况下,很容易直接启动了被感染的病毒脚本。

(2)注册表
在路径"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\”下,新建了注册项MSKernel32,数值为:C:\WINDOWS\system32\MSKernel32.vbs

(3)进程
(1)脚本文件svir.vbs运行后,在Process Explorer上,新建了eplorer.exe的子进程wscript.exe进程。

(2)在File Monitor中,有多个wscript.exe的进程,可能时系统当时运行了多个VBScript的脚本

(3)用冰刃查看,病毒脚本新建了一个组

6.针对病毒行为,编写清除病毒的vbs文件
注:可以从文件、进程、注册表等方面考虑如何清除病毒及病毒对操作系统的影响
源代码:

'定义变量
Dim fso,dirsystem,file,vbscopy,folder
'创建fso文件对象,进行文件操作
Set fso = CreateObject("Scripting.FileSystemObject")
'获得当前执行的脚本文件,GetFile获得文件对象,不能对文件进行操作。
Set folder = fso.GetFile(WScript.ScriptFullname).ParentFoldermain()
Sub main()'On Error Resume NextDim wscr,cSet wscr = CreateObject("WScript.Shell")'获取System文件夹路径,另外0表示windows文件夹,2:temp文件夹Set dirsystem = fso.GetSpecialFolder(1)'通过正在执行脚本路径获取脚本病毒文件Set c = fso.GetFile(WScript.ScriptFullName) '删除病毒备份c.delete    '调用函数删除新增注册表项regruns() '遍历删除和恢复病毒感染文件folderlist(folder.path)   msgbox("删除病毒文件")'结束病毒进程over()   End Sub'函数:在注册表中删除自启动项
Sub regruns()   '删除指定路径下的注册表项regdelete"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32"
End Sub'函数:删除注册表
Sub regdelete(regkey)   '创建WScript.Shell对象,对注册表进行操作Set regedit = CreateObject("WScript.Shell")'删除regedit.RegDelete regkey
End Sub'遍历文件夹
Sub folderlist(folderspec)  Dim f,f1,sf'遍历显示文件夹中的所有文件Set f = fso.GetFolder(folderspec)Set sf = f.SubFoldersFor Each f1 in sf'查找目录中被感染的文件,删除并恢复被感染文件deletefiles(f1.path)'递归,继续搜索子目录folderlist(f1.path)    Next
End Sub'删除并恢复传染文件操作
Sub deletefiles(folderspec) On Error Resume NextDim f,f1,fc,ext,s,mSet f = fso.GetFolder(folderspec)Set fc = f.FilesFor Each f1 in fc'取后缀ext = fso.GetExtensionName(f1.path)'将后缀转换为小写ext = LCase(ext) If (f1.attributes = 2) Then    '将隐藏的原文件恢复f1.attributes = 0End IfIf (ext="vbs")Then    '后缀为vbs是感染文件,删除f1.deleteEnd IfNext
End SubSub over'定义进程变量Dim winm,procs'winm对象句柄Set winm=GetObject("winmgmts:")'查询所有的wscript.exe进程Set procs=winm.execquery("select * from win32_process where name='wscript.exe'")'遍历进程For Each processor In procs'结束程序processor.terminate  Next
End Sub

实验结果截图:
(1)文件已恢复

(2)注册表已恢复

(3)进程已结束

实验四-VBScript脚本病毒分析与清除相关推荐

  1. 2017-2018-2 20155228 《网络对抗技术》 实验四:恶意代码分析

    2017-2018-2 20155228 <网络对抗技术> 实验四:恶意代码分析 1. 实践内容 1.1 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部 ...

  2. 20145230熊佳炜《网络对抗》实验四:恶意代码分析

    20145230熊佳炜<网络对抗>实验四:恶意代码分析 恶意代码 定义一:恶意代码又称恶意软件.这些软件也可称为广告软件.间谍软件.恶意共享软件.是指在未明确提示用户或未经用户许可的情况下 ...

  3. 20145209 刘一阳 《网络对抗》实验四:恶意代码分析

    20145209 刘一阳 <网络对抗>实验四:恶意代码分析 恶意代码 定义一:恶意代码又称恶意软件.这些软件也可称为广告软件.间谍软件.恶意共享软件.是指在未明确提示用户或未经用户许可的情 ...

  4. linux分支结构,实验四 Shell脚本中的分支结构

    实验四 Shell脚本中的分支结构 #实验内容: ###一.if分支结构 •if结构是最基本的分支结构类型. •使用if结构时,只有满足某个条件才会执行某些语句,而在不满足此条件的情况下执行其他语句. ...

  5. 虚拟病毒分析与清除方法

    实验工具与环境配置 虚拟机软件:VMware Fusion 11.5.5 操作系统:Windows XP 虚拟病毒:VirtualVirus 进程管理器:IceSword 运行虚拟病毒 在 Windo ...

  6. 脚本病毒分析扫描专题1-VBA代码阅读扫盲、宏病毒分析

    1.Office Macor MS office宏的编程语言是Visual Basic For Applications(VBA). 微软在1994年发行的Excel5.0版本中,即具备了VBA的宏功 ...

  7. 计算机网络实验四(以太网数据帧分析)

    目录 一.实验目的 二.实验内容 三.实验原理 1.网络协议分析软件的过滤规则 2.以太网数据帧的构成 四.实验设备 五.实验内容与步骤 1. 网络协议分析软件的常用过滤规则 2.分析以太网数据帧的构 ...

  8. VBS脚本病毒总结与分析

    赞赏码 & 联系方式 & 个人闲话 这篇文章其实是我的结课论文,整个病毒分析的课上完感觉就对VBS病毒有点兴趣,期末也就写这个当大作业了,PE病毒实在烧脑只能说声打扰了.这门课其实也和 ...

  9. 实验六——PE病毒分析

    [实验名称] PE病毒分析 [实验目的] 1.属性PE文件结构 2.熟悉PE编辑查看工具,详细了解PE文件格式 3.掌握文件型病毒的发现方法及PE病毒的染毒原理 [实验原理] 1.PE文件常用字段解释 ...

最新文章

  1. Web的桌面提醒(Popup)
  2. CISCO NAT 经典配置合集
  3. OpenCV计算机视觉编程攻略之行人检测
  4. 叶明哲 | 数据中心空调文章集锦
  5. 通过padding-bottom或者padding-top实现等比缩放响应式图片
  6. 仅完成部分的readprocessmemory或write_盘点2019年新能源车企销量目标完成率:广汽新能源超额完成/吉利、北汽紧随其后...
  7. Git远程分支的回退
  8. spring—AOP 的动态代理技术
  9. 阿里云服务器由于被检测到对外攻击,已阻断该服务器对其它服务器端口的访问...
  10. mysql获取最好成绩对应数据的其他项_开源数据同步神器——canal
  11. 水经注叠加cad_如何下载等高线并在CAD中与卫星影像叠加
  12. Google Protocol Buffer
  13. java的jmm模型_【深入理解JVM】:Java内存模型JMM
  14. lib文件夹 springboot_我把 Spring Boot 项目从 18.18M 瘦身到 0.18M,部署起来真省事!...
  15. python判断素数程序_python判断素数程序_Python程序检查素数
  16. 海盗湾(The Pirate Bay)的战争——每一名技术人员都应该思考的问题
  17. Python读取图片内容并进行修改
  18. 2021年危险化学品经营单位主要负责人报名考试及危险化学品经营单位主要负责人新版试题
  19. HDU 4417 Super Mario(线段树||树状数组+离线操作 之线段树篇)
  20. Datagrip数据库连接工具—新建folder操作

热门文章

  1. 微型计算机的中央控制器包括,在微型计算机中CPU里控制器的作用是( )。
  2. Dev C++中文乱码问题
  3. 神策H5全埋点注意事项
  4. 如何轻松解决C盘爆满情况——SpaceSniffer
  5. 这些实用的列表,字符串操作你知道吗?
  6. 最小可行产品MVP - 从源头杜绝浪费
  7. cityscapes数据处理
  8. 计算机发论文攻略(收藏)
  9. Google出新闻站了
  10. 数学智力题 武士数独题目_这6道数学智力题,我琢磨一上午也无解,你敢挑战吗?...