什么是镜像劫持?修复镜像劫持的方法
很多網友在使用電腦的過程中碰到這樣的奇怪現象:程序不管放在什么位置,打開該程序的時候,都會出現該程序無法運行或者指向另一個程序的情況,但是如果給該程序改名后便發現可以正常運行了,研究之后發現這是因為系統遭到鏡像劫持了,系統被鏡像劫持后會導致注冊表冗余文件過多而導致系統卡頓,對此我們該如何解決呢?
一、什么是映像脅持(IFEO)?
“映像劫持”,也被稱為“IFEO”(Image File Execution Options),在WindowsNT架構的系統里,IFEO的本意是為一些在默認系統環境中運行時可能引發錯誤的程序執行體提供特殊的環境設定。當一個可執行程序位于IFEO的控制中時,它的內存分配則根據該程序的參數來設定,而WindowsN T架構的系統能通過這個注冊表項使用與可執行程序文件名匹配的項目作為程序載入時的控制依據,最終得以設定一個程序的堆管理機制和一些輔助機制等。出于簡化原因,IFEO使用忽略路徑的方式來匹配它所要控制的程序文件名,所以程序無論放在哪個路徑,只要名字沒有變化,它就運行出問題。
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image File ExecutionOptions”內,使用與可執行程序文件名匹配的項目作為程序載入時的控制依據,最終得以設定一個程序的堆管理機制和一些輔助機制等,大概微軟考慮到加入路徑控制會造成判斷麻煩與操作不靈活的后果,也容易導致注冊表冗余,于是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
等等。。。
二、具體使用資料:
@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
可能說了上面那么多,大家還弄不懂是什么意思,沒關系,我們大家一起來看網絡上另一個朋友做得試驗:
1、開始-運行-regedit,展開到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
2、然后選上Image File Execution Options,新建個項,然后,把這個項(默認在最后面)然后改成123.exe
3、選上123.exe這個項,然后默認右邊是空白的,我們點右鍵,新建個“字串符”,然后改名為“Debugger“
4、這一步要做好,然后回車,就可以。。。再雙擊該鍵,修改數據數值(其實就是路徑)。。
5、把它改為 C:\windows\system32\CMD.exe
注:C:是系統盤,如果你系統安裝在D則改為D:如果是NT或2K的系統的話,把Windows改成Winnt,下面如有再提起,類推。
好了,實驗下。
6、然后找個擴展名為EXE的,(我這里拿IcesWord.exe做實驗),改名為123.exe。
7、然后運行。出現了DOS操作框,不知情的看著一閃閃的光標,肯定覺得特詭異。
8、一次簡單的惡作劇就成咧。
同理,病毒等也可以利用這樣的方法,把殺軟、安全工具等名字再進行重定向,指向病毒路徑。所以,如果你把病毒清理掉后,重定向項沒有清理的話,由于IFEO的作用,沒被損壞的程序一樣運行不了!
讓病毒迷失自我:
1、同上面的道理一樣,如果我們把病毒程序給重定向了,是不是病毒就不能運行了,答案是肯定的。
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
2、將上面的代碼保存為后綴.reg的文件,雙擊它,是以金豬病毒和威金病毒為例,這樣即使這些病毒在系統啟動項里面,即使隨系統運行了,但是由于映象劫持的
3、重定向作用,還是會被系統提示無法找到病毒文件(這里是logo_1.exe和sppoolsv.exe)。
三、映像脅持的基本原理:
NT系統在試圖執行一個從命令行調用的可執行文件運行請求時,先會檢查運行程序是不是可執行文件,如果是的話,再檢查格式的,然后就會檢查是否存在。。如果不存在的話,它會提示系統找不到文件或者是“指定的路徑不正確等等。。
當然,把這些鍵刪除后,程序就可以運行!
四、映像脅持的具體案例:
蔚為壯觀的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”項刪除即可。
到此,本文給大家介紹了什么是鏡像劫持,同時還給大家介紹了如何修復鏡像劫持以及防護的方法,如果用戶的電腦在不經意間被鏡像劫持了,就用上面的方法來解決。
總結
以上是生活随笔為你收集整理的什么是镜像劫持?修复镜像劫持的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通达信缠论买卖点公式_通达信缠论多空主图
- 下一篇: python服务器搭建 实战_实战讲解: