病毒自启动方式总结

来源:互联网 发布:千锋大数据视频教程 编辑:程序博客网 时间:2024/06/06 13:17

1、在系统内核启动前加载病毒程序

  有些病毒会在系统内核启动前就能加载运行,例如当Windows出现严重错误导致蓝屏时,按Reset键重新启动电脑,在系统还未进入正常运行前,就激活了病毒程序,对系统进行破坏。其自动加载原理是在注册表的“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager”下的“BootExellte”键值名中写入病毒程序路径程序。当然,可以在其后跟随更多的程序项。当然,这些病毒程序都经过特殊编程,在Windows的CMD窗口中是无法运行的。对付这类病毒,只要进入上述注册表路径,将“BootExecute”键值名中的病毒程序清空,并据此删除病毒程序即可。

2、谨防病毒绑架任务管理器

  对进程进行管理,离不开任务管理器。和任务管理器对应的程序为“taskmgr.exe”,位于“c:\Windows\system32”,“C:\Windows\SvsWOW64”等系统文件夹中。当病毒采取偷梁换柱的方法,对其进行了替换后,只要用户按下“Ctrl+Ah+Delete”键,就会自动激活病毒。例如,当病毒潜入系统后,将自身复制到了“C:\Windows”路径下,先将原系统文件夹中的“taskmgr.exe”进行更名处理(例如将其改名为“taskmgr0.exe”),之后释放出真正的病毒程序并命名为“taskmgr.exe”,然后执行自删除操作,删除原病毒程序。当用户习惯性的按下“Ctrl+Alt+Delete”键,病毒程序就自动激活了,开始执行预设的破坏操作,同时还会从网上下载运行更多的病毒木马。其狡猾之处在于还会调用运行“taskmgr0.exe”,给人以任务管理器正常打开的假象。对于这类病毒,只需将虚假的“taskmgr.exe”删除,并恢复正常的“taskmgr.exe”,就可以让其失去活力。

3、利用组策略实现自启动

  有些病毒会躲进组策略中,实现自动运行。对于这类病毒,只需在“开始”→“运行”中运行“Gpedit.msc”,在组策略窗口中依次展开“本地计算机策略”→“计算机配置”→“管理模块”→“系统”→“登录”,在右侧窗体双击“在用户登录时运行这些程序”,在属性窗口中如果发现已经激活了“已启用”项,就表示有程序隐藏在其中非法运行了。点击“显示”按钮,可以浏览所有自动运行的程序项,从中找到病毒启动项,将其删除即可。

4、利用系统服务实现自运行

  很多病毒都喜欢将自身注册为系统服务,来获得更高的运行权限。只要系统启动后,这些病毒服务就会抢先启动。运行“services.msc”程序,在服务列表管理器中查看相关的服务项目,如果发现有的服务的描述信息是空白或者全英文的,内容看起来很奇怪,则多半是病毒程序所为。双击相应的服务名称,在其属性窗口中将其启动方式改为手动,即可阻止其非法加载运行。
  如果不太容易发现病毒服务名,可以在任务管理器中查找病毒程序名称,之后运行注册表编辑器,选中“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”分支,点击“Ctrl+F”键打开搜索窗口,根据程序名在搜寻与之关联的主键后,找到之后在该主键右侧的“ImagePath”键值名中显示病毒程序的具体位置,在“Start”键值名中显示启动方式,将其设置为“3”或“4”,即可禁止其自动运行。根据得到的病毒程序路径,就可以手工或者使用专用安全工具,将其彻底删除。
  对于有些狡猾的病毒来说,为了达到隐蔽运行的目的,会采用系Rootkit等技术,将自身创建为隐藏的服务,通过挂钩系统本地调用实现自身的隐藏,通过系统的服务管理器是看不到这些隐藏服务的。从而实现在Windows启动前悄然加载,逃避用户查杀的目的。使用Knlsc这款小巧精悍的软件,可以让隐藏的服务“彻底现身”。Knlsc的使用方法很简单,将压缩包解开后,找到其中的Knlsc13.exe3C件。在CMD窗口中运行命令“knlsc13.exe-f”,就能显示出隐藏的服务,显示格式为“服务名服务显示名「类型」「启动方式」[时间戳]服务程序全路径服务Dll全路径(共享进程的服务才有此项)”。如果发现有隐藏服务(假设服务名是“Windll”),只需运行命令“knlscl3.exe cdWindll”,即可禁用该隐藏服务。

5.利用注册表自启动

  实际上,在注册表中除了常见的启动项位置外,还有一些地方可以实现隐蔽启动预设程序的功能。如果被病毒加以利用,其危害就不言而喻了。
- Run 启动项。常见的启动项如下:
1. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
2. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
3. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
4. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
5. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\explorer\run
6. HKCU\Software\Microsoft\Windows\CurrentVersion\Run
7. HKCU\Software\Microsoft\Windows\CurrentVersion\Runonce
8. HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
9. HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
10. HKCU\Software\Microsoft\Windows\CurrentVersion\policies\explorer\run
 确定以上这些启动项包含病毒的方法:
   1)根据已确定的病毒文件确定。键值即为该文件的路径。
   2)只有 Run 项是有键值的,如图1,其它的都只有一个默认串(98除外),所以若其它项中有键值,就可能是病毒启动项。
   3)若键值是糊乱的文件名,如 1.exe;或路径是在临时文件夹的;也可能是病毒启动项。
- Winlong 启动项
   位置:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
   主要检查 Userinit、Shell、Notify,看看键值是否有异常。
- windows 启动项
1. HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows 下若有 Load 键,该键值是空的,若不为空可是病毒启动项。
2. HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
   该项也是病毒常常出现的位置,注意检查。
3. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
   若杀毒软件被关闭了,很可能病毒的启动项就写在这里;通常,很少有正常程序会写在这里。
4. HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Appinit_Dlls
   若安全模式下杀毒软件被关闭了,病毒可能就写在这里,很少有正常程序会写在这里。
  
- ActiveX方式启动

  有些病毒,木马喜欢利用ActiveX方式启动,来避开杀软的追捕。例如对于某款木马来说,会同时使用ActiveX启动和注册表启动项两种启动方式,不仅可以深度隐藏自身,插入其他合法进程,而且可以突破常用虚拟机和沙箱安全软件。当该木马激活后,打开注册表编辑器,在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\InstalledComponents”路径,在其下有很多以GUID字符串命名的键值,病毒木马就会利用ActiceX组件的身份隐藏其中,例如打开“{00000042-CC51—11cF-AAFA一00AA0086015B}”分支,在右侧双击“StubPath”键值名,可以看到该病毒木马真实的启动路径,本例为“C:\WINDOWS\svstem32\server.exe Restart”,可以看到病毒伪装成了“server.exe”程序。
  
参考:http://www.hack520.com/71.html