浅析利用IFEO实现“重定向劫持”

重定向劫持,就是比如你去运行qq,却发现msn启动起来了,你去运行瑞星,却发现一个病毒运行起来了。

其实重定向劫持,应该是一个比较广泛的术语,最近利用IFEO来达到重定向劫持吵的比较火,被各种新出现的病毒应用。

IFEO劫持不是很高深的技术,想要了解IFEO劫持先要了解什么是IFEO,IFEO存在的意义和历史。

我们现在使用winxp,win2003, winvista都不是凭空出来的,都是基于早期的winnt升级发展而来,而每次升级,必须让以前的程序能够运行在新的平台上,做到向前兼容。

在古老的winnt时代,那时候的堆栈管理机制和现在不同(具体什么样子我也不知道),但是因为堆栈管理上有一些不同,所以为了兼顾那些老的堆栈管理机制的应用程序,引入了一项技术,叫做IFEO技术(Image File Execute Options),具体就是指定某些应用程序,以一种特殊的向前兼容的环境去执行,而且可以调试这些程序。

具体的实现方式就是:

1. 在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
该注册表项建立一个子键,名字是你想劫持的程序,比如 iexplore.exe(不用设置路径,设置后你系统里所有的名为iexplore.exe的可执行文件都会被劫持)

2. 给刚加的子键添加一个字符串值(应该称为该子键的属性),名字为Debugger,值为你想运行起来的程序,比如 notepad.exe

3. 打开ie浏览器  这个时候会发现记事本启动了。


其实微软的本意是想给你一个调试模式运行程序的机会,按照微软的本意来讲,他希望你设置Debugger属性的值为:
ntsd -d (这个是一个调试程序)
或者一些其他的调试程序。

你可能感兴趣的:(重定向)