映像的劫持与反劫持
一. 原理
所谓的映像劫持就是Image File Execution Options(其实应该称之为"Image Hijack")。它位于注册表的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options。由于这个项主要是用来调试程序,对一般用户意义不大,默认是只有管理员和local system有权读写修改。
比如我想运行QQ.exe,结果运行的却是360.exe,这种情况下,QQ程序被360给劫持了,就是说你想运行的程序被另外一个程序替换了。
二. 被劫持
虽然映像劫持是Windows为程序员准备的功能,对一般用户来说没多大用,但是就有一些病毒通过映像劫持来做文章。表面上看起来是运行了一个正常的程序,实际上病毒已经在后台运行了。
大部分的病毒和木马都是通过加载Windows启动项来运行的,也有一些是注册成为Windows服务来启动,他们主要通过修改注册表来实现这个目的,主要有以下几个:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsCurrent\Version\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsCurrent\Version\RunServicesOnce
但是与一般的木马和病毒不同的是,有一些病毒偏偏不通过这些来加载自己,不随着Windows的启动运行。木马病毒的制作者抓住了一些用户的心理,等到用户运行某个特定的程序的时候它才运行。因为一般的用户,只要感觉自己的电脑中了病毒,首先要查看的就是Windows的加载项,很少有人会想到映像劫持,这就是制作者的可恨之处!
病毒主要通过修改注册表中的
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\项来劫持正常的程序,比如有一个病毒(360.exe) 要劫持QQ程序,它会在上面注册表的位置新建一个qq.exe项,再在这个项下面新建一个字符串值debugger再把其值设为"C:\Program Files\360.exe" (病毒的绝对路径)。
三. 玩劫持
1.禁止某些程序的运行
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\qq.exe]
"debugger"="1.exe"
把上面的代码保存为1.reg,双击导入注册表,每次双击运行QQ的时候,Windows都会弹出提示框说找不到QQ,原因就QQ被重定向了。如果要让QQ继续运行的话,把1.exe改为其安装目录就可以了。
2.偷梁换柱恶作剧
每次我们按下Ctrl+Alt+Del,都会弹出任务管理器,想不想在我们按下这些键的时候让它弹出命令提示符窗口?
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]
"debugger"="cmd"
将上面的代码另存为 change.reg,双击导入注册表。按下那三个键就能打开“命令提示符”。
3.让病毒彻底残废
同上面的道理一样,如果我们把病毒程序给重定向了,是不是病毒就不能运行了,答案是肯定的。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sppoolsv.exe]
"Debugger"="1.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\logo_1.exe]
"Debugger"="1.exe"
上面的代码是以金猪和威金病毒为例,这样即使这些病毒在Windows启动项里面,即使随Windows运行了,但是由于映象劫持的重定向作用,还是会被Windows提示无法找到该文件(这里是logo_1.exe和sppoolsv.exe)。
四. 防劫持
1.权限控制法
打开注册表编辑器,定位到
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options ,选中该项,右键单击→权限→高级,取消当前用户(Administrator)和system用户的写入权限即可。
2.赶尽杀绝法
点击「开始」菜单→运行→输入reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" /f
Au3 劫持函数:传送阅读
本文固定链接: http://jianyiit.com/post-30.html
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!