




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号: 实验一二三四五六七八总评教师签名成绩武汉大学计算机学院课程实验(设计)报告课程名称: 软件安全实验 实验内容: PE病毒实验 专业(班): 12级信安一班 学 号: 2012302530026 姓 名: 郭蕊 任课教师: 彭国军 年 月 日目 录实验3 PE病毒分析与清除13.1实验名称13.2实验目的13.3实验步骤及内容13.4实验关键过程、数据及其分析33.4.1 熟悉masm3233.4.2 熟悉病毒重定位的基本思路和方法53.4.3 搜索API函数地址73.4.4 编译教材中的感染例子程序93.4.5 课后习题思考113.5实验体会和拓展思考12实验3 PE病毒分析与清除3.1实验名称PE病毒分析与清除3.2实验目的1) 了解PE病毒的基本原理2) 熟悉PE病毒中的部分关键技术3) 学会清除PE病毒3.3实验步骤及内容第一阶段: 熟悉Masm321) 下载masm32v82) 熟悉masm32的基本环境3) 写一个最简单的helloworld程序,并编译成功4) 对得到的可执行文件进行反汇编,比较其反汇编代码和最初的汇编代码有哪些异同?5) 察看并理解masm32bin下各个批处理程序,了解他们的大致功能第二阶段: 熟悉病毒重定位的基本思路和方法n 在hello-2.5.exe中添加一段代码,该段代码满足以下几个条件:n 该段代码弹出一个对话框(标题:武大信安病毒重定位,内容:姓名+学号)n 该段代码同时包括代码和字符串数据。n 该段代码可以插入到.text节的任意指令之间,而不需要修改该段代码中的任何字节。 1.先用masm工具讲asm文件编译成exe文件,再用OD打开,进行反汇编2. 再用OD打开原hello2.5的exe文件,删除原代码中最后call exitprocess语句,将要添加的代码添加到原代码段的任意位置.3. 由于调用exitprocess和messagebox语句的后移,故原程序中的call语句相对寻址也需要做相应改动。即可实现数据段的重定位:第三阶段: 搜索API函数地址n 用ollydbg打开hello-2.5.exe,获取Kernel32.dll模块基地址,定位到kernel32.dll模块 1.fs:0指向TEB结构,首先从fs:30h获得PEB地址。2.然后通过PEB0x0c获得PEB_LDR_DATA数据结构地址。 3. 然后通过从PEB_LDR_DATA0x1c获取InInitializationOrderModuleList.Flink地址。4.最后在Flink0x08中得到KERNEL32.DLL模块的基地址。n 从内存中的kernel32.dll模块获取函数LoadLibraryA和GetProcessAddress的函数地址,并实际检验获得的地址是否正确?1. 定位到PE文件头。从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。2.从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与LoadLibraryA和GetProcessAddress比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数,如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值x。可得LoadLibraryA数组序号x1=0246,GetProcessAddress数组序号x2=033E。3. 然后在AddressOfNameOrdinals指向的数组中以同样的索引值x去找数组项中的值y。可得LoadLibraryA序号y1=0245,GetProcessAddress序号y2=033D。4. 以y值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址。可得LoadLibraryA的RVA=4CD44,GetProcessAddress的RVA=4D015。第四阶段: 编译教材中的感染例子程序-bookexample-old.rar 使用该感染例子对hello-2.5.exe进行感染。思考以下问题:n 该病毒在感染文件时具体做了哪些操作? 1.判断目标文件开始的两个字节是否为“MZ”2. 判断PE文件标记“PE”3. 判断感染标记,如果已被感染则跳出继续执行HOST程序,否则继续4. 获得Directory(数据目录)的个数(每个数据目录信息占8个字节)5. 得到节表其实位置(Directory的偏移地址+数据目录占用的字节数=节表其实位置)6. 得到目前最后节表的末尾便宜(紧接其后用于写入一个新的病毒节)7. 节表起始位置+节的E书*(每个节表占用的字节数28H)=目前最后节表的末尾偏移8. 开始写入节表: (1)写入节名(8字节) (2)写入节的实际字节数(4字节) (3)写入新节在内存中的开始偏移地址(4字节),同时可以计算出病毒入 口位置 上节在内存中的开始偏移地址+(上节大小/节对齐+1)*节对齐=本节在 内存中的开始偏移地址 (4)写入本节(即病毒节)在文件中户对齐后的大小 (5)写入本节在文件中的起始位置9. 修改映像文件头中的节表数目10. 修改AddressOfEntryPoint(即程序入口点指向病毒入口位置),同时保存旧的AddressOfEntryPoint,以便返回HOST继续执行11. 更新SizeOfImage(内存中整个PE映像尺寸=原SizeOfImage+病毒节经过内存节对齐后的大小)12. 写入感染标记13. 写入病毒代码到新添加的节中14. 将当前文件位置设置为文件末尾n 该病毒如何返回HOST? 病毒在修改被感染文件代码开始执行位置(AddressOfEntryPoint)时,已保存原来的值,这样,病毒在执行完病毒代码之后用一个跳转语句跳到这段代码处继续执行即可。 找出该病毒程序存在的一些问题,并解决这些问题。1.在用ollyice单步调试时,发现程序在写入0040109E时异常终止了。2. 用PEVIEW查看代码段节表,观察到其属性为60000020,即可执行可读和“节中包含代码”,而病毒代码要执行,应具有可读可写可执行属性。 3、用ultraedit打开exe,修改对应属性表部分为E000020。然后发现程序可以正常运行 编译教材中的感染例子程序-bookexample-new.rar直接运行main.exe会发现无法运行,会发现该程序和old中的问题一样,要修改代码节表中的权限,使其可读可写可执行。即可编译运行: 使用该感染例子对计算器calc.exe进行感染。将calc.exe文件复制到bookexample-new中,并修改名字为test.exe,将原文件夹中已被感染的test.exe重命名为testt.exe的名字。运行testt.exe,即可感染计算器程序。 手工恢复被感染的calc.exe(需要在xp系统中完成)。用stuPE打开被感染的calc.exe,找出其入口地址,将其改为原addressOfEntryPoint(感染程序中将原起始地址保存在oldEnd中)。改后:保存,计算器即可正常运行:课后习题思考: 编写一个程序,可用来搜索指定目录下的所有exe文件,用MessageBox显示每一个被搜索到的exe文件名。 编写课本中病毒感染程序的病毒清除程序,其可以用来恢复被感染的任何文件。实验体会:通过这次实验,第一次接触到病毒这个东西。在自己动手
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育技术在办公室自动化的新发展
- 学习动机与个人成长的心理分析
- 儿童认知发展与教育游戏的视觉设计关系
- 青海农牧科技职业学院《桥梁加固》2023-2024学年第二学期期末试卷
- 教育国际化对本地文化的冲击与影响
- 眩晕课件护理
- 新疆能源职业技术学院《素描人物写生》2023-2024学年第二学期期末试卷
- 2024年度浙江省专利代理师科目一(专利法律知识)考前冲刺试卷B卷含答案
- 护肤课件制作
- 浙江工业职业技术学院《生物科学导论》2023-2024学年第二学期期末试卷
- 建筑合同变更补充协议
- SL631水利水电工程单元工程施工质量验收标准第4部分:堤防与河道整治工程
- 2025年山东省淄博市高新区中考一模历史试题(原卷版+解析版)
- 机场航站楼行李输送带维护
- 2024年1月四川省普通高中学业水平合格性考试物理试题(含答案)
- 银行保安笔试题及答案
- 早期食管癌的内镜下治疗主题课件
- 饲料厂粉尘防爆培训课件
- 中级消防员技能鉴定理论知识考试题(附答案)
- 《绝缘子知识全集》课件
- 2025年甘肃省国际物流集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论