您的位置: 开心技术乐园 > 技术乐园 > 阅读文章

病毒是如何随系统启动的?揭秘病毒的特殊启动方式

  当病毒侵入系统后,绝不会老老实实地藏在某个角落睡大觉,而是“琢磨”着如何浑水摸鱼获得运行权,达到其为非作歹的目的。几乎所有的病毒都会将自身藏匿到各种启动项中,这样当系统启动后,病毒就可以堂而皇之的运行了。不过,病毒的这些常规的启动模式,已经为大家所了解,为了摆脱追捕,越来越多新型病毒逐渐“摒弃”常规的启动方式,而是采取了非常规的更加隐蔽的启动方式,对系统进行更加阴险的侵袭。如何才能识破病毒的伎俩,让其成为过街老鼠无处藏身呢?本文就从多个方面对其进行了分析讲解,希望在与病毒的实际斗争中助您一臂之力,及时截断病毒启动的通道,使其无法继续危害您的系统。

病毒启动

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.利用注册表li蔽位置自启动

  实际上,在注册表中除了常见的启动项位置外,还有一些地方可以实现隐蔽启动预设程序的功能。如果被病毒加以利用,其危害就不言而喻了。例如病毒可以在注册表编辑器中选择“HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows”,在其下的“Load”键值名中存储病毒程序路径,这样在系统启动时,病毒就会自动运行。值得注意的是,这里的文件路径遵循的是Dos路径命名规则。例如从“C:\Program files”应写成“C:\Progra-1”等。

  有些病毒,木马喜欢利用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”程序。

  打开注册表编辑器,展开“HKEY—LOCAL—MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”分支,在窗口右侧双击“Shell”键值名,查看其内容是否为“Explorer.exe”。如果不是的话,说明病毒程序已经替换了正常的“Explorer.exe”程序,在下次启动时,病毒不仅会自动启动而且会破坏了桌面和任务栏。如果在“Explorer.exe”中跟随有其它程序,则很有可能是病毒所为,病毒通过这种加载方式,可以实现隐蔽启动。在上述分支下还存在名称为“userinit”的键值名,其原始内容为“C:\WINDOWS\system32\userinit.exe,”如果病毒程序添加在该命令行之后,同样可以实现自动运行的目的。上述分支下的名为“logonui,exe”的键值名也应引起注意,其原始内容为“logonui.exe”,该程序主要用于控制开关机画面,如果病毒程序对其进行了替换,就可以实现自动激活操作,但是电脑也无法重新启动和关闭待机,注销账户也会出现问题。

6.警惕虚假的文件扩展名

  对于常见的病毒木马来说,其主程序都是EXE,DLL,VBS,BAT等可执行文件。为了逃避用户追查,有些狡猾的病毒将自身的扩展名改成别的类型,来欺骗用户。例如,病毒会将自身更改为RAR3C件,直接双击该文件,自然无法启动病毒,因为其是由EXE文件修改而来的。病毒为了欺骗用户,会编写一个批处理文件,将其取一个颇为迷惑人的名字(例如“补丁修复.bat”文件等),在其中利用“start”命令,来启动上述虚假的RAR文件,例如其内容包括“@echo系统漏洞保护系统安全”“@pause”“@echo off”“start XXX.Far”“exit”等,其中的“xxx.rar”假设为病毒修改名称后的虚假RAR文件,之后将上述两个文件打包压缩。
  当用户下载该压缩包后,直接双击其中的“xxx.Far”文件,自然无法打开。只要运行了其中的“补丁修复bat”文件,当被其显示信息所迷惑,点击任意一下键盘,该脚本就会使用“start”命令运行病毒文件,之后退出批处理文件。因为已经关闭了回显功能,所以是能看到运行程序的信息的。病毒激活后会自动从网上下载更多的恶意程序,对系统进行进一步破坏。因为病毒修改了扩展名,伪装成了合法的文件,并且启动的方法很特别,才容易得手的。

  其实,这种运行方法原理很简单,例如将“x.exe”改名为“x.rar”,双击后自然无法运行。但是在CMD窗口中运行“x.rar”文件,却可以顺利运行该程序。另外一个角度思考,因为在Windows中存在很多文件类型,如果病毒采用这种伎俩,伪装成其他文件类型来隐蔽启动的话,的确对系统威胁很大。对付这类病毒,防御起来也不难,只要遇到看似正常的文件无法正常打开或者运行,并且有其他脚本程序与之配合的话,只要使用记事本查看其内容,就不难发现其中的问题。

  不过,有些病毒会采用特殊的方式,来伪造扩展名。例如某个名为“ziliaoexe.txt”的文件看起来似乎是个文本文件,其实不然,这是黑客精心设计的自解压包,里面包含病毒程序。黑客利用了Unicode控制字符倒序排列的方法,将EXE文件后缀变成了TXT格式。其名称实际上为“ziliaotxt.exe”,黑客执行文件更名操作,将光标移到“jiqiao”和“txt”之间,然后在其右键菜单中点击“插入Unicode控制字符”→“RLOStart of right-to-left override”项,这个EXE文件就变成了TXT格式了。而且黑客在制作该病毒自解压包时,使用了文本图标替换正常的自解压文件图标,使其看起来更像文本文件,并利用某款专用RAR文件修复补丁程序,屏蔽了其RAR右键菜单显示功能。如果用户被蒙蔽运行了该病毒自解压包,隐藏在其中的病毒就会被激活。看来,一旦接收到看起来似乎很正常的文件,一定要提高警惕,最好不要轻易运行。应该在虚拟机、Shadow Defender等安全环境中运行,来查看其是否具有破坏作用。[ 本文作者:郭建文 ]

    • 本文标签:无
    • 人气热度:6,848
    • 生产日期:2016年11月14日 - 21时04分27秒

    error: Content is protected !!