映像劫持與反劫持技術

當前的木馬、病毒似乎比較鍾情於“映像劫持”,通過其達到欺騙係統和殺毒軟件,進而絕殺安全軟件接管係統。筆者最近就遇到很多這種類型的木馬病毒,下面把自己有關映像劫持的學習心得寫下來與大家交流。

一、原理

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

  但是與一般的木馬,病毒不同的是,就有一些病毒偏偏不通過這些來加載自己,不隨著係統的啓動運行。木馬病毒的作者抓住了一些用戶的心理,等到用戶運行某個特定的程序的時候它才運行。因爲一般的用戶,只要發覺自己的機子中了病毒,首先要察看的就是係統的加載項,很少有人會想到映像劫持,這也是這種病毒高明的地方。

  映像劫持病毒主要通過修改注冊表中的

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
項來劫持正常的程序,比如有一個病毒 vires.exe 要劫持qq程序,它會在上面注冊表的位置新建一個qq.exe項,再在這個項下面新建一個字符串的鍵 debugger把其值改爲C:\WINDOWS \SYSTEM32\VIRES.EXE(這裏是病毒藏身的目錄)即可。

三、玩劫持

  1、禁止某些程序的運行

  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繼續運行的話,把123.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=D:\WINDOWS\pchealth\helpctr\binaries\mconfig.exe

  將上面的代碼另存爲 task_cmd.reg,雙擊導入注冊表。按下那三個鍵打開了“係統配置實用程序”。

  3、讓病毒迷失自我

  同上面的道理一樣,如果我們把病毒程序給重定向了,是不是病毒就不能運行了,答案是肯定的。

  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)。

四、防劫持

  1、權限限制法

  打開注冊表編輯器,定位到  

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
,選中該項,右鍵→權限→高級,取消administrator和system用戶的寫權限即可。

  2、快刀斬亂麻法

  打開注冊表編輯器,定位到

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
,把“Image File Execution Options”項刪除即可。

  總結:以上關於映像劫持的解析與利用但願對於大家查殺木馬病毒有所幫助,也希望大家能夠挖掘更多更實用的功能。