幕:
可能有朋友遇到过这样的情况,一个正常的程序,无论把他放在哪个位置或者是重新用安装盘修复过的程序,都无法运行或者是比如运行A却成了执行B的程序了,而改名后却可以正常运行。。
==========================================================
由于最近利用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
等等。。。。。。。。。。。。。。。
随着网友的安全意识提高和众多安全软件的针对,都可以很容易的对上面的恶意启动项进行很好的处理
于是。。一种新的技术又产生了。。。。
那就是IFEO。。
嗯了,可能说了上面那么多,大家还弄不懂是什么意思,没关系,来做个小实验!

如上图了,开始-运行-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操作框,不知情的看着一闪闪的光标,肯定觉得特鬼异~^_^。。HOHO~
一次简单的恶作剧就成咧。。。
同理,病毒等也可以利用这样的方法,把杀软、安全工具等名字再进行重定向,指向病毒路径
SO..如果你把病毒清理掉后,重定向项没有清理的话,由于IFEO的作用,没被损坏的程序一样运行不了!
原理:
NT系统在试图执行一个从命令行调用的可执行文件运行请求时,先会检查运行程序是不是可执行文件,如果是的话,再检查格式的,然后就会检查是否存在。。如果不存在的话,它会提示系统找不到文件或者是“指定的路径不正确等等。。
当然,把这些键删除后,程序就可以运行咧,嘿嘿~
知道了后,怎么预防呢?
一般就两个方法了,第一种比较实用。。。任何人都可以。。
方法一:
限制法。。
它要修改Image File Execution Options,所先要有权限,才可读,于是。。一条思路就成了。。
开始-运行-regedt32 (这个是系统的32位注册表,和注册表操作方法差不多)
然后还是展开到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

如图了,记得把有
管理权限用户都要进行设置!然后选上“权限”勾选“拒绝”按确定后会有个提示,然后点确定就可以拉!
嗯了,看下效果。。

解除方法可以倒过来理解。。。
PS:由于实验时,是2K的操作系统,XP的设置似乎可以更简单...
方法二
监控法。。。
由于方法一的强大,方法二实在可能有人懒得做或米有条件做,所以就简单的说下就是HIPS之类或者是专业的注册表软件监控。。
HIPS?通俗点说就是主动防御系统(其实不是,不过我不想说复杂了)。。。。(这点没必要理解,一般用户根本用不到。。)
然后用HIPS(我这里用的是SSM)进行监控(要自己编写规则),当然,也可以写权限的!。。
另外,不要理解错了。。普通的杀软监控根本做不来。。没必要做超出自己能力的事。。。
好了,大概一般用户能用到的就这些了,还有,可能大家都注意到了,一开始默认就有几个项。。
比如enc98.EXE 、ps80.EXE 、qfinder.EXE 等等
这些请一定
不要删除!。。懒得解释了,简单说就是MS防止溢出。。不在本分讨论范围。。略过。。。
细心点的,可能会发现那些原本就有(且不要删除的)右边项里值是DisableHeapLookAside或ApplicationGoo
好奇心强的可以去找下相关的资料。。。这里不赘述了。。懒 >_<
可能还漏了很多,如果觉得有不对或要补充的地方,请PM我..谢谢!
最后,如果你有点收获的话..请听我一句话..
请在学会有用东西时..善待他人....