A-A+

映像劫持IFEO

2010年05月08日 电脑网络 暂无评论 阅读 3,381 次

今天在QQ问问上看到一个关于映像劫持,原问题请看:http://wenwen.soso.com/z/q192650441.htm
原理基于windows映像劫持技术IFEO(很多病毒也是通过映像劫持迫使杀毒软件失效)

举例:禁止名称为QQ.exe的程序运行,谨慎使用,后果自负
A:开始-运行,键入
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\.exe" /v debugger /t reg_sz /d debugfile.exe /f

取消方法:开始-运行,键入
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\QQ.exe" /f

B:编辑一个注册表文件
打开记事本,复制以下内容保存为.reg文件,双击执行导入。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\QQ.exe]
"debugger"="debugfile.exe"

PS:debugfile.exe可以更改成其他程序,比如c:\program files\uc\uc.exe 这里要写明绝对路径,那么打开QQ会出现uc的登陆界面,哈哈,和自己开个玩笑也好玩。

进阶:

windows映像劫持技术(IFEO)

基本症状:可能有朋友遇到过这样的情况。一个正常的程序,无论把它放在哪个位置,或者是一个程序重新用安装盘修复过,都出现无法运行或者是比如运行A却成了执行B,而改名后却可以正常运行的现象。

既然我们是介绍IFEO技术相关,那我们就先介绍下:

一,什么是映像胁持(IFEO)?
1.所谓的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
等等。。。。。。。。。。。。。。。

2.另外一种劫持的方法是:在目标程序目录下建立与系统DLL相同的导出函数,执行内容为
f=LoadLibrary(byref "c:\windows\system32\"+dllname)
f=GetProcAddress(byval f,byref procname)
!jmp f
'(PowerBasic)
,在DLL初始化的时候可以干一些坏事,以此来达到改变原应用程序的目的

二,具体使用资料:
下面是蓝色寒冰的一段介绍:

@echo off
rem 关闭命令回显
echo 此批处理只作技巧介绍,请勿用于非法活动!
rem 显示echo后的文字
pause
rem 停止
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
rem 把echo后的文字导出到SSM.reg中
regedit /s ssm.reg &del /q ssm.reg
rem 导入ssm.reg并删除

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

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

开始-运行-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

(注:C:是系统盘,如果你系统安装在D则改为D:如果是NT或2K的系统的话,把Windows改成Winnt,下面如有再提起,类推。。。)
好了,实验下。~ .

然后找个扩展名为EXE的,(我这里拿IcesWord.exe做实验),改名为123.exe。。。
然后运行之。。。嘿嘿。。出现了DOS操作框,不知情的看着一闪闪的光标,肯定觉得特诡异。

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

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

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

让病毒迷失自我

同上面的道理一样,如果我们把病毒程序给重定向了,是不是病毒就不能运行了,答案是肯定的。
WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions\sppoolsv.exe]

Debugger=123.exe

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions\logo_1.exe]

Debugger=123.exe

将上面的代码保存为后缀.reg的文件,双击它,是以金猪病毒和威金病毒为例,这样即使这些病毒在系统启动项里面,即使随系统运行了,但是由于映象劫持的
重定向作用,还是会被系统提示无法找到病毒文件(这里是logo_1.exe和sppoolsv.exe)。

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

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

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

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

引用JM的jzb770325001版主的一个分析案例:

蔚为壮观的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

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

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

五:如何解决并预防IFEO?

方法一: 限制法(转自网络搜索)

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

打开注册表编辑器,定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions\,选中该项,右键→权限→高级,取消administrator和system用户的写权限即可。

方法二:快刀斩乱麻法

打开注册表编辑器,定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\,把“ImageFileExecutionOptions”项删除即可。

给我留言

Copyright © 随缘博客 保留所有权利.   Theme  

用户登录

分享到: