欢迎光临

木子屋

标题: 安全基础知识：认识病毒的映象劫持技术

作者: dnawo

日期: 2007-08-09 09:24 AM

分类: 操作系统

内容: 映像劫持的定义
所谓的映像劫持（IFEO）就是Image File Execution Options，位于注册表的
引用内容HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
由于这个项主要是用来调试程序用的，对一般用户意义不大。默认是只有管理员和local system有权读写修改。
通俗一点来说，就是比如我想运行QQ.exe，结果运行的却是FlashGet.exe，也就是说在这种情况下，QQ程序被FLASHGET给劫持了，即你想运行的程序被另外一个程序代替了。
映像劫持病毒
虽然映像劫持是系统自带的功能，对我们一般用户来说根本没什么用的必要，但是就有一些病毒通过映像劫持来做文章，表面上看起来是运行了一个程序，实际上病毒已经在后台运行了。
大部分的病毒和木马都是通过加载系统启动项来运行的，也有一些是注册成为系统服务来启动，他们主要通过修改注册表来实现这个目的，主要有以下几个方面：
引用内容HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
更多启动项请参考：系统启动时所有可能加载启动程序的方式&&&系统加载方式一文。
但是与一般的木马，病毒不同的是，就有一些病毒偏偏不通过这些来加载自己，不随着系统的启动运行，而是等到你运行某个特定的程序的时候运行，这也抓住了一些用户的心理，一般的用户，只要发觉自己的机子中了病毒，首先要察看的就是系统的加载项，很少有人会想到映像劫持，这也是这种病毒高明的地方。
映像劫持病毒主要通过修改注册表中的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution options 项来劫持正常的程序，比如有一个病毒 vires.exe 要劫持 qq 程序，它会在上面注册表的位置新建一个qq.exe项，再这个项下面新建一个字符串的键值debugger 内容是：C:\WINDOWS\SYSTEM32\VIRES.EXE(这里是病毒藏身的目录)即可。当然如果你把该字符串值改为任意的其他值的话，系统就会提示找不到该文件。
映像胁持的基本原理
WINDOWS NT系统在试图执行一个从命令行调用的可执行文件运行请求时，先会检查运行程序是不是可执行文件，如果是的话，再检查格式的，然后就会检查是否存在。如果不存在的话，它会提示系统找不到文件或者是“指定的路径不正确等等。把这些键删除后，程序就可以运行！
映像劫持的应用
★ 禁止某些程序的运行
先看一段代码：
引用内容Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\qq.exe]"Debugger"="123.exe"
把它保存为 norun_qq.reg，双击导入注册表，打开你的QQ看一下效果！
这段代码的作用是禁止QQ运行，每次双击运行QQ的时候，系统都会弹出一个框提示说找不到QQ，原因就是QQ被重定向了。如果要让QQ继续运行的话，把123.exe改为其安装目录就可以了。
★ 偷梁换柱恶作剧
每次我们按下CTRL+ALT+DEL键时，都会弹出任务管理器，想不想在我们按下这些键的时候让它弹出命令提示符窗口，下面就教你怎么玩：
引用内容Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]"Debugger"="C:\\WINDOWS\\pchealth\\helpctr\\binaries\\msconfig.exe"

将上面的代码另存为 task_cmd.reg，双击导入注册表。按下那三个键看是什么效果，不用我说了吧，是不是很惊讶啊！精彩的还在后头呢？
★让病毒迷失自我
同上面的道理一样，如果我们把病毒程序给重定向了，是不是病毒就不能运行了，答案是肯定的！下面就自己试着玩吧！
引用内容Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppoolsv.exe]"Debugger"="123.exe"[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\logo_1.exe]"Debugger"="123.exe"
上面的代码是以金猪报喜病毒和威金病毒为例，这样即使这些病毒在系统启动项里面，即使随系统运行了，但是由于映象劫持的重定向作用，还是会被系统提示无法找到病毒文件（这里是logo_1.exe和sppoolsv.exe）。是不是很过瘾啊，想不到病毒也有今天！
当然你也可以把病毒程序重定向到你要启动的程序中去，如果你想让QQ开机自启动，你可以把上面的123.exe改为你QQ的安装路径即可，但是前提是这些病毒必须是随系统的启动而启动的。
映像劫持的应用也讲了不少了，下面就给大家介绍一下如何防止映象劫持吧！
关于映像劫持的预防，主要通过以下几个方法来实现：
★权限限制法
如果用户无权访问该注册表项了，它也就无法修改这些东西了。打开注册表编辑器，进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ，选中该项，右键——>权限——>高级，将administrator 和 system 用户的权限调低即可（这里只要把写入操作给取消就行了）。
★快刀斩乱麻法
打开注册表编辑器，进入把
引用内容HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
项，直接删掉 Image File Execution Options 项即可解决问题。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.594 ms

返回

标题: 安全基础知识：认识病毒的映象劫持技术

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.594 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.625 ms

返回