科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道安全基础知识:认识病毒的映象劫持技术

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大部分的病毒和木马都是通过加载系统启动项来运行的,也有一些是注册成为系统服务来启动,他们主要通过修改注册表来实现这个目的。

作者:论坛整理 来源:zdnet网络安全 2008年3月25日

关键字: 病毒 防病毒 病毒防范 反病毒 木马 杀毒软件

  • 评论
  • 分享微博
  • 分享邮件

所谓的映像劫持(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

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

更多启动项请参考:系统启动时所有可能加载启动程序的方式&&&系统加载方式一文。

但是与一般的木马,病毒不同的是,就有一些病毒偏偏不通过这些来加载自己,不随着系统的启动运行,而是等到你运行某个特定的程序的时候运行,这也抓住了一些用户的心理,一般的用户,只要发觉自己的机子中了病毒,首先要察看的就是系统的加载项,很少有人会想到映像劫持,这也是这种病毒高明的地方。

映像劫持病毒主要通过修改注册表中的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键时,都会弹出任务管理器,想不想在我们按下这些键的时候让它弹出命令提示符窗口,下面就教你怎么玩:

WindowsRegistry 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 项即可解决问题。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章