映像胁持(IFEO)技术详解

为什么有人说我中毒了,连杀毒软件也不能用,(杀软也不是万能的,呵呵)到底为什么会这样,那是病毒的制造者利用映像胁持(IFEO)的技术。

一,什么是映像胁持(IFEO)?

所谓的IFEO就是Image File Execution Options

在是位于注册表的

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

由于这个项主要是用来调试程序用的,对一般用户意义不大。默认是只有管理员和local system有权读写修改

先看看常规病毒等怎么修改注册表吧。。那些病毒、蠕虫和,木马等仍然使用众所皆知并且过度使用的注册表键值,如下:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKLM\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

等等。。。。。。。

二,具体使用资料:

下面是一段介绍:

@echo off   //关闭命令回显

echo 此批处理只作技巧介绍,请勿用于非法活动!//显示echo后的文字

pause   //停止

echo Windows Registry Editor Version 5.00>>ssm.reg

echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\syssafe.EXE] >>ssm.reg

echo “Debugger”=”syssafe.EXE” >>ssm.reg   //把echo后的文字导出到SSM.reg中

regedit /s ssm.reg &del /q ssm.reg   //导入ssm.reg并删除

使SSM失效HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\svchost.exe项下的”Debugger”=”abc.exe” 意思是不执行svchost.exe而执行abc.exe

QUOTE:

可能说了上面那么多,大家还弄不懂是什么意思,没关系,我们大家一起来看网络上另一个朋友做得试验:


如上图了,开始-运行-regedit,展开到:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

然后选上Image File Execution Options,新建个项,然后,把这个项(默认在最后面)然后改成123.exe

选上123.exe这个项,然后默认右边是空白的,我们点右键,新建个“字串符”,然后改名为“Debugger”   

这一步要做好,然后回车,就可以。。。再双击该键,修改数据数值(其实就是路径)。。

把它改为 C:\windows\system32\CMD.exe

(PS:C:是系统盘,如果你系统安装在D则改为D:如果是NT或2K的系统的话,把Windows改成Winnt,下面如有再T起,类推。。。)

好了,实验下。~ .

然后找个扩展名为EXE的,(我这里拿IcesWord.exe做实验),改名为123.exe。。。

然后运行之。。。嘿嘿。。出现了DOS操作框,不知情的看着一闪闪的光标,肯定觉得特鬼异~^_^。。

一次简单的恶作剧就成咧。。。

同理,病毒等也可以利用这样的方法,把杀软、安全工具等名字再进行重定向,指向病毒路径

SO..如果你把病毒清理掉后,重定向项没有清理的话,由于IFEO的作用,没被损坏的程序一样运行不了!

三,映像胁持的基本原理:   

NT系统在试图执行一个从命令行调用的可执行文件运行请求时,先会检查运行程序是不是可执行文件,如果是的话,再检查格式的,然后就会检查是否存在。。如果不存在的话,它会提示系统找不到文件或者是“指定的路径不正确等等。。  

当然,把这些键删除后,程序就可以运行!

四,映像胁持的具体案例:

引用一个分析案例:

蔚为壮观的IFEO,几乎所有稍为有些名气的杀毒软件和杀辅助软件都挂了:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\avp.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\AgentSvr.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\CCenter.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Rav.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\RavMonD.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\RavStub.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\RavTask.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\rfwcfg.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\rfwsrv.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\RsAgent.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Rsaupd.exe
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\runiep.exe
…….

我们可以看到这个技术的强大之处!很多的杀软进程和一些辅助杀软或工具,全部被胁持,导致你遇到的所有杀软都无法运行!

试想如果更多病毒,利用于此,将是多么可怕的事情!

五:如何解决并预防IFEO?方法一:   限制法

此方法经测试非常有效,即使中毒了,辅助工具仍然能运行,如SREng,这样的就方便清除病毒,所以强烈推荐一般用户操作一次

它要修改Image File Execution Options,所先要有权限,才可读,于是。。一条思路就成了。。

开始-运行-regedt32 (这个是系统的32位注册表,和注册表操作方法差不多)

然后还是展开到: )

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

右键——选择权限


把权限改为拒绝即可.

方法二:

把[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options]下面除了Your Image File Name Here without a path以外的所有项删除即可。

方法三:

使用IFEO映像挟持修复程序修复

转载于:https://www.cnblogs.com/zscy/archive/2008/05/21/1204006.html