查看單個文章
舊 2006-07-07, 06:59 PM   #33 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

授之以魚不如授之以漁:HijackThis詳解

寫在前面的話

自從HijackThis這個強力工具出現以後,各大論壇就不乏求道解惑的帖子。
而網上各種版本的中文教程也層出不窮,但都大同小異,特別是對於HijackThis的運作機理剖析不夠,
以至於很多人盲目使用,輕則沒有效果,重則損壞系統,讓好好的一個工具成了擺好看。
本文依據bleepcomputer.com的HijackThis Tutorial & Guide翻譯而來。
文章詳細分析了HijackThis的執行機制和修復手段,對每一個區段都作了詳細的說明,並隨著版本的更新而不斷修訂。

HijackThis專案詳解

R0,R1,R2,R3 區段

這一個區段包括Internet Explorer起始頁、主頁以及Url搜索鉤子。

R0 對應於Internet Explorer起始頁和搜索助手。

R1 對應於Internet Explorer搜尋功能和其他特性。

R2 目前沒被使用。

R3 對應於 Url 搜索鉤子。Url搜尋鉤子用於當你在瀏覽器的地址欄中鍵入一個http:// 或者ftp:// 等協議的地址的時候。
當你輸入這種地址時,瀏覽器將會嘗試靠它自己理解選擇正確的協議,如果失敗了它將會使用在 R3 區段中列出的 UrlSearchHook 試著找到你輸入的地址。

註冊表鍵:
HKLM\Software\Microsoft\Internet Explorer\Main,Start Page
HKCU\Software\Microsoft\Internet Explorer\Main: Start Page
HKLM\Software\Microsoft\Internet Explorer\Main: Default_Page_URL
HKCU\Software\Microsoft\Internet Explorer\Main: Default_Page_URL
HKLM\Software\Microsoft\Internet Explorer\Main: Search Page
HKCU\Software\Microsoft\Internet Explorer\Main: Search Page
HKCU\Software\Microsoft\Internet Explorer\SearchURL: (Default)
HKCU\Software\Microsoft\Internet Explorer\Main: Window Title
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings: ProxyOverride
HKCU\Software\Microsoft\Internet Connection Wizard: ShellNext
HKCU\Software\Microsoft\Internet Explorer\Main: Search Bar
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks
HKLM\Software\Microsoft\Internet Explorer\Search,CustomizeSearch=
HKCU\Software\Microsoft\Internet Explorer\Search,CustomizeSearch
HKLM\Software\Microsoft\Internet Explorer\Search,SearchAssistant


例子列表 R0 - HKCU\software\Microsoft\Internet Explorer\Main,Start = http://www.google.com/

一個通常的疑問是緊接著其中一些專案的Obfuscated代表什麼意思。 當某項被標注為Obfuscated的時候意味著它將難以被察覺或者瞭解。
在間諜軟件術語中那意謂著間諜軟件或者劫持程式藉由把數值轉換成它容易地瞭解,但人類難以理解的一些其它的形式來隱藏它們的專案,
例如把專案以十六進制的形式加入註冊表。這是隱藏它們的存在且使其難以被移除的慣用伎倆。

如果你不認識R0和R1中任何一個所指向的網站,並且你想要改變它,那麼你可以讓 HijackThis 安全地修復它們,
使它們不會對你的 Internet Explorer 設置造成危害。如果你想看看它們是怎樣的網站,你可以去訪問那些站點,
而且如果它有許多彈出視窗和鏈接,你幾乎可以總是刪除它們。需要注意的是如果R0/R1指向的是一個文件,
當你用 HijackThis 修復該專案時,Hijackthis 將不會刪除指定的文件,你必須手動刪除它。

有些以下劃線(_)結束的特定的 R3 專案。比如它會看起來像是下面這個例子:

R3 - URLSearchHook: (no name) - {CFBFAE00-17A6-11D0-99CB-00C04FD64497}_ - (no file)

注意 CLSID,它是在 {} 之間的那些數位,有一個 _ 跟在它的末尾,用 HijackThis 移除它們有些時候可能會有困難。
要修復它你需要去下面的註冊表鍵手動刪除指定的註冊表專案:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\URLSearchHooks

刪除在它下面的你想要移除的CLSID專案。請不要改動 CFBFAE00-17A6-11D0-99CB-00C04FD64497 這個CLSID,因為它是合法的預定值之一。

除非你認識被用於 UrlSearchHook 的軟件,否則你通常應該 Google 一下並在做過一些研究之後,再讓 HijackThis 修復它。

F0,F1,F2,F3 區段

這些區段包括從你的.ini文件,system.ini,win.ini以及註冊表中等效的位置載入的應用程式。

F0 對應於 system.ini中的 Shell= 語句。在 system.ini 的 shell= 語句在 Windows 9X 及以下(ME也有使用?)的操作系統中被用於
指定哪個程式會為作為操作系統的外殼。外殼是負責載入你的桌面,處理窗囗管理,而且讓使用者與系統互動的程式。當Windows啟動時,
在shell語句之後列出的任何的程式都會被載入,並且充當預定的外殼。有一些程式可以被做為合法的外殼替代品,
但是他們通常已經不再被使用。
Windows 95 和 98 (Windows ME?)使用 Explorer.exe 作為它們的預定外殼。Windows 3.X 使用 Progman.exe 作為它的外殼 。
也可以在與 shell= 的同一行上列出多個將在Windows載入同時啟動的其他程式,例如 Shell=explorer.exe badprogram.exe。
當 Windows 啟動的的時候,這一行將會載入兩個程式。

F1 對應於在 win.ini 中的 Run= 或者 Load= 專案。在 Run= 或者 Load= 之後列出的任何的程式將會在Windows啟動的時候載入。
Run= 語句 主要在 Windows 3.1,95和98 時期用於保持和較舊的程式的向後相容性。大多數的現代程式不再使用這個 ini 設定,
而且如果你並不使用較舊的程式你可以確定它們是可疑的。而Load= 語句被用於為你的硬體載入驅動程式。

F2 和 F3 專案對應於 F0 和 F1 的等效位置,但是它們在Windows XP,2000 和 NT中改為在註冊表中儲存。
這些版本的Windows通常不使用 system.ini 和 win.ini 文件。 他們使用被稱為 IniFileMapping 的一個功能來代替向後相容性。
IniFileMapping 將.ini文件的所有的內容加入註冊表中,用鍵來存儲.ini中的的每一行。
當你執行一個需要從.ini文件中讀取它的設置的程式時,它將會首先檢查註冊表鍵:
HKEY_LOCAL_MACHINE\software\Microsoft\ windows nt\CurrentVersion\ IniFileMapping 做.ini 映射,
如果順利找到將會改為讀取來自那裡的設置。你可以看到這個鍵包含了IniFileMapping所引用的.ini文件。

在 F2 經常出現的另外一個專案是UserInit項,對應於Windows NT,2000,XP以及2003中的:
HKLM\Software\Microsoft\ windows nt\CurrentVersion\Winlogon\Userinit。
這個鍵指明哪個程式應該在用戶登入之後啟動。這個鍵的預定程式是 C:\windows\system32\userinit.exe。
Userinit.exe是為你的用戶賬戶恢復自己的的配置,字型,色彩等設置的程式。可以通過將要執行的程式以逗號隔開來增加的更多的程式。
舉例來說:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit=C:\windows\system32\userinit.exe,c:\windows\badprogram.exe。
當你登入的時候,這兩個程式都會啟動,這是一個常被特洛伊木馬、劫持程式和間諜軟件所利用的位置。

註冊表鍵:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping

使用的文件:
c:\windows\system.ini
c:\windows\win.ini


例子列表 F0- system.ini: shell=Explorer.exe Something.exe
F2-REG:system.ini: UserInit=userinit,nddeagnt.exe
F2-REG:system.ini: shell=explorer.exe beta.exe

對於 F0 ,如果你見到一個類似 Shell=Explorer.exe something.exe 的描述,那麼你應該確實的刪除它。你通常可以刪除這些專案,
但是你應該查詢 Google 和在下面列出的網站。

對於 F1 專案你應該google下在這裡找到的專案以確定他們是否合法的程式。你也可以在下面的網站搜尋這些專案看看它是什麼。

對於 F2, 如果你見到 「UserInit=userinit.exe,」 有或者沒有 「nddeagnt.exe」,就像上述的例子中那樣,那麼你可以不理會它。
如果你見到 UserInit=userinit.exe(注意沒有逗點) 那仍然沒有問題,因此你應該不需要理會它。
如果你在 userinit.exe 後面發現其它的專案,那很可能是特洛伊木馬或其他的惡意程式。
F2 Shell=也是一樣:如果你單獨見到 「explorer.exe」,它應該沒有問題,否則,如果類似上面的例子,
那麼它可能是潛在的特洛伊木馬或惡意程式。你通常可以刪除這些專案,但是你應該查詢 Google 和在下面列出的站點。

請注意當修復這些專案的時候 HijackThis 不會刪除除與它關連的文件。你一定要手動刪除這些文件。

你可以在下面的站點尋找相關訊息:

Bleeping Computer Startup Database
Answers that work
Greatis Startup Application Database
Pacman's Startup Programs List
Pacman's Startup Lists for Offline Reading
Kephyr File Database
Wintasks Process Library

N1,N2,N3,N4 區段

這些區段對應於Netscape和 Mozilla 瀏覽器的起始頁和預定搜索頁。

這些專案被儲存在C:\Documents and Settings\YourUserName\Application Data 資料夾下不同的位置的 prefs.js 文件中。
Netscpae4 專案在通常存儲在應用程式目錄的 prefs.js 文件中,類似下面的位置C:\Program Files\Netscape\user\default\prefs.js。

N1 對應Netscape4 啟始頁和預定搜尋頁。

N2 對應Netscape6 啟始頁和預定搜尋頁。

N3 對應Netscape7 啟始頁和預定搜尋頁。

N4 對應Mozilla 啟始頁和預定搜尋頁。

使用的文件:prefs.js

由於間諜程式和劫機程式大多傾向於瞄準Internet Explorer所以這些專案通常是安全的。如果您發現在這裡列出的網站不是您設置的,
您可以使用HijackThis修復它。目前只有一個已知的會改變這些設定的網站,就是在這裡被討論的 Lop.com。


O1 區段

這個區段對應主機(Host)文件重定向。

主機文件包含主機名(hostnames)到IP地址的映射。舉例來說,如果我在我的主機文件中輸入:

127.0.0.1 www.bleepingcomputer.com

當你試圖訪問 http://www.bleepingcomputer.com的...換成IP地址 127.0.0.1 而不是它的正確地址。

主機文件重定向是指,一個劫持程式修改了你的主機文件,在你的試圖訪問一個特定的網站時候將你重定向到另外一個網站。
因此如果某人增加一個專案類似於:

127.0.0.1 www.google.com

那麼當你試圖訪問 www.google.com時你會被重定向到 127.0.0.1 這個你自己的電腦的地址。


例子列表 O1 - Hosts: 192.168.1.1 www.google.com

使用的文件:主機文件是能被任何文本文件編輯程式編輯的一個文本文件,在不同操作系統被預先設定儲存在下列的位置中,除非你選擇了不同的安裝路徑 -


操作系統 位置
Windows 3.1 C:\WINDOWS\HOSTS
Windows 95 C:\WINDOWS\HOSTS
Windows 98 C:\WINDOWS\HOSTS
Windows ME C:\WINDOWS\HOSTS
Windows XP C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS
Windows NT C:\WINNT\SYSTEM32\DRIVERS\ETC\HOSTS
Windows 2000 C:\WINNT\SYSTEM32\DRIVERS\ETC\HOSTS
Windows 2003 C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS

在Windows NT/2000/XP中主機文件的位置能夠通過修改註冊表鍵來改變。

註冊表鍵: HKEY_LOCAL_MACHINE\system\CurrentControlSet\Service\Tcpip\Parameter\: DatabasePath

如果你見到某個專案類似於上面的例子,並且你知道他們不是作為特定的原因存在的,你可以安全地移除他們。

如果你發現一個專案的主機文件位於 C:\Windows\Help\Host,這意味著你感染了 CoolWebSearch。
如果主機文件不在上表中的操作系統的預定位置上,那麼它很有可能是由於被感染而引起的,你應該讓 HijackThis 修復它。

你也可以下載Hoster程式使你能夠恢復預定的主機文件。只要下載Hoster程式並執行它,點擊Restore Original Hosts按鈕然後退出即可。

O2 區段

這個區段對應於瀏覽器輔助程式對像(Browser Helper Object)。

瀏覽器輔助程式對象是為你的瀏覽器擴充功能的插件。他們可能被用於間諜程式和合法的程式,像是 Google 工具欄和 Adobe Acrobat Reader。
當你要決定是否移除它們的時候,你最好先研究下它們是否可能是合法的。

註冊表鍵: HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
例子列表 O2 - BHO: NAV Helper - {BDF3E430-B101-42AD-A544-FADC6B084872}- C:\Program Files\Norton Antivirus\NavShExt.dll

這裡有一個由Tony Klein 編譯的關於瀏覽器輔助程式對像和工具欄的已知 CSLIDs 的優良列表,在這裡:CLSID 列表。
當查閱列表的時候,使用列出的在花括弧({})之間的數位作為 CLSID。
這些列出的 CLSID 相關的註冊表專案包含了關於瀏覽器輔助程式對像和工具欄的訊息。

當你用 HijackThis 修復這一類型的專案的時候, HijackThis 將會嘗試刪除列出的引起問題的文件。
有時即使Internet Explorer已經關閉,文件卻仍然在使用中。如果在你用 HijackThis 修復它之後,文件仍然存在,
建議你重新啟動進入安全模式刪除有問題的文件。

O3 區段

這個區段對應於Internet Explorer 工具欄。

這些是在Internet Explorer的導航欄的下面的工具欄以及表菜單。

註冊表鍵: HKLM\Software\Microsoft\Internet Explorer\Toolbar
例子列表 O3 - Toolbar: Norton Antivrius - {42CDD1 BF-3 FFB-4238-8AD1-7859DF00B1D6} - C:\Program Files\Norton Antivirus\NavShExt.dll

這裡有一個由Tony Klein 編譯的關於瀏覽器輔助程式對像和工具欄的已知 CSLIDs 的優良列表,在這裡:CLSID 列表。
當查閱列表的時候,使用列出的在花括弧({})之間的數位作為 CLSID。
這些列出的 CLSID 相關的註冊表專案包含了關於瀏覽器輔助程式對像和工具欄的訊息。

當你用 HijackThis 修復這一類型的專案的時候, HijackThis 將會嘗試刪除列出的引起問題的文件。
有時即使Internet Explorer已經關閉,文件卻仍然在使用中。如果在你用 HijackThis 修復它之後,文件仍然存在,
建議你重新啟動進入安全模式刪除有問題的文件。

O4 區段

這個區段對應在確定的註冊表鍵處和啟動資料夾中列出的將自動在Windows 啟動時被載入的應用程式。
在這裡被列出的註冊表鍵適用於 Windows XP,NT,和 2000。如果它們也適用於其他的操作系統,請告訴我:

如果它看起來像一個註冊表鍵,它應該在下面列出註冊表鍵列表之中。

Startup: 這些專案提及的應用程式藉由把它們放入已登入的使用者的啟動組中來載入。

Global Startup: 這些專案提及的應用程式藉由把他們放入所有的使用者的啟動組中來載入。

啟動註冊表鍵:
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

注意: HKLM 代表 HKEY_LOCAL_MACHINE,而 HKCU 代表 HKEY_CURRENT_USER。

啟動位置的完整列表和它們的作用可以在這裡找到:Windows Program Automatic Startup Locations

使用的目錄:
Startup: c:\documents and setting\username\start menu\program\startup
Global: c:\documents and setting\all user\start menu\program\startup


例子列表 04- HKLM\..\Run: [nwiz] nwiz.exe/install

當你修復 O4 專案的時候,HijackThis不會刪除與專案關連的文件。你通常必須重新啟動進入安全模式手動刪除它們,
清除Global Startup和Startup專案的工作稍微有些不同。HijackThis 將會刪除這些專案中找到的快捷方式,而不是他們所指向的文件。
如果是一個可執行程式駐留在Global Sartup或者Startup目錄中那麼有問題的專案將被刪除。

雖然許多合法的程式也已這種方式啟動,一個專案可能看起來像正常的但仍然可能是一個惡意程式。
你應該為 O4 專案查詢下面的列表:

Bleeping Computer Startup Database
Answers that work
Greatis Startup Application Database
Pacman's Startup Programs List
Pacman's Startup Lists for Offline Reading
Kephyr File Database
Wintasks Process Library
Windows Startup Online Database

O5 區段

這個區段對應於控制板中的Internet選項顯示控制。

至少在Windows XP中你可以藉由在 c:\windows\control.ini 中增加條目來制定哪些特定的控制板不可見的。

使用的文件: control.ini


例子列表 O5 - control.ini: inetcpl.cpl=no

如果你見到類似上面那行,那麼那可能是一個信號:某個軟件正在嘗試使你難以改變你的設定。
除非它這麼做是出於某個特定的已知理由,比如系統管理員設定的策略或者 Spybot- S&D 所做的限制,否則你可以讓HijackThis修復它。

O6 區段

這個區段對應於通過變更註冊表的特定設置對在Internet Explorer的選項或主頁進行一個管理性的鎖定。

註冊表鍵: HKCU\Software\Policy\Microsoft\Internet Explorer\Restrictions


例子列表 O6 - HKCU\Software\Policy\Microsoft\Internet Explorer\Restrictions

這些項應該只在系統管理員故意如此設定或者使用了Spybots的Mode->Advanced Mode->Tools->IE Tweaks中的首頁和選擇項鎖定時出現。

O7 區段

這個區段對應於通過變更註冊表的一個專案從而不允許執行註冊表編輯器。

註冊表鍵: HKCU\Software\Microsoft\Windows\CurrentVersion\Policy\System


例子列表 O7 - HKCU\Software\Microsoft\Windows\CurrentVersion\Policy\System: DisableRegedit=1

請注意,許多系統管理員在辦公室環境下故意將此項鎖定,這時讓 HijackThis 修復它可能會違背的企業的政策。
如果你是系統管理員而它在沒有經你許可下就被啟用了,那麼讓 HijackThis 修復它。

O8 區段

這一個區段對應於在Internet Explorer的上下文表菜單中發現的額外的專案。

這意謂當你在你當前瀏覽的網頁上右擊的時候,你將會見到這些選項。

註冊表鍵: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt


例子列表 O8 - Extra content menu item: &Google Search - res://c:\windows\GoogleToolbar1.dll/cmsearch.html

這些列出的專案表示當你右擊一下的時候,將會在表菜單中出現的物件,以及當你實際按下某個選項時會呼叫的程式。
特定例子,類似 "Browser Pal" 總是應該被移除,而且其餘的應該使用Google研究下。在這裡你可能找的一個合法程式的例子是Google Toolbar。

當你修復這些類型的專案的時候,HijackThis 不會刪除列出的有問題的文件。建議你重新啟動進入安全模式刪除有問題的文件。


O9 區段

這個區段對應於在Internet Explorer工具欄上的按鈕或者在Internet Explorer的『工具』表菜單中非預定安裝的專案。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extension registry key。


例子列表 O9 - Extra Button: AIM (HKLM)

如果你不需要這些按鈕和表菜單項或者知道他們是惡意程式,你可以安全地移除他們。

當你修復這些類型的專案的時候,HijackThis 不會刪除列出的有問題的文件。建議你重新啟動進入安全模式刪除有問題的文件。


O10 區段

這個區段對應於 Winsock 劫持程式或者其它已知的LSP.(Layered Service Provider)

LSPs 是一種將其它程式鏈接到你的電腦的 Winsock 2 設備一種方法。因為LSPs彼此鏈接在一起,當使用 Winsock 的時候,
資料也會在鏈中的每個LSPs間傳輸。間諜軟件和劫持程式能夠使用 LSPs 監視在你的因特網連接之上傳輸的所有的流量。

當刪除這些對象的時候,你應該極度的小心,如果它在沒有適當地修復鏈中的中斷點之前就被移除,你有可能會失去因特網連接。


例子列表 O10 - Broken Internet access beacuse of LSP Provider 'spsublsp.dll' missing

許多病毒掃瞄軟件開始在Winsock層掃瞄病毒、特洛伊木馬等。問題是它們大多數在刪除有問題的 LSP 之後沒有以正確的順序重建LSPs。
這可能導致 HijackThis 發現一個類似於上面例子的問題並發出警告,即使因特網仍然能夠工作。
在修復這些錯誤的時候,你應該因此尋求來自一個富有經驗的使用者的建議。同時也建議你使用在下面鏈接的 LSPFix 來修復它們。

Spybot通常能夠修復它們但請確認你擁有最新的版本。
或許你可以使用專門為這類型的問題題設計的一個工具,叫做 LSPFix。你也可以訪問Zupe's LSP List Page的列表來檢視它們是否合法。


O11 區段

這個區段對應於已經被新增到 IE 的Internet選項的高階選擇項的一個非預定的選項組。

如果你打開IE的Internet選項,你將會見到一個高階選擇項。通過在一個註冊表鍵下面增加一個專案可以在那裡顯示一個新的組。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\AdvancedOptions


例子列表 O11 - Options group: [CommonName] CommonName

據 HijackThis 的作者Merijn的表示,目前只有一個已知的劫持程式使用這個專案,它就是 CommonName。
如果你在列表中見到 CommonName,你可以安全地移除它。如果它是另外的一個專案,你應該 Google 一下。


O12 區段

這個區段對應於IE瀏覽器擴展。

IE瀏覽器擴展是當IE啟動時載入的,為IE提供功能擴展的一些程式。有許多瀏覽器擴展是合法的,比如PDF檢視器和非標準圖像檢視器。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Plugins


例子列表 Plugin for .PDF: C:\ Program Files\Internet explorer\plugin\nppdf32.dll

大多數的瀏覽器擴展是合法的,在你刪除它們之前因此你應該先Google一下你不認識的專案。
一個已知的你應該刪除的瀏覽器擴展是以OFB為延伸名的Onflow plugin。

當你用 HijackThis 修復這些類型的專案的時候,HijackThis 將會嘗試刪除列出的有問題的文件。有時候即使IE已經關閉,文件可能仍被使用。
如果在你用 HijackThis 修復它之後,文件仍然存在,建議你重新啟動進入安全模式刪除有問題的文件。

O13 區段

這個區段對應於一個 IE 預定前綴(DefaultPrefix) 劫持。

預定前綴是一個Windows設置,指定如何處理沒有在前面輸入http://、ftp:// 等的網址。
預定情況下 Windows 將會在開頭附加 http://做為預定的 Windows 前綴。你可以通過編輯註冊表將這換成一個你選擇的預定前綴。
CoolWebSearch 這種劫持程式正是通過將其改為 http://ehttp.cc/? 來作惡。這意謂當你想連接一個網址比如說 www.google.com,
你將會訪問 http://ehttp.cc/?< wind_code_48 > ,這實際上是 CoolWebSearch 的網站。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\URL\DefaultPrefix\


例子列表 O13 - WWW. Prefix: http:// ehttp.cc/?

如果你遇到類似上面那個例子的問題,你應該執行 CWShredder。這個程式可以移除在你的機器上的 CoolWebSearch 的所有的已知變種。
你可以該在這裡閱讀如何使用 CWShredder 的指導:

How to remove CoolWebSearch with CoolWeb Shredder

如果 CWShredder 沒找到和修復問題,你應該總是讓 HijackThis 來修復這個專案。


O14 區段

這個區段對應於 『重置 Web 設置』 劫持。

在你的電腦上有一個文件用於將IE的選項重置回他們的 Windows 預定值。
這個文件儲存在 c:\windows\inf\iereset.inf 中而且包含需要使用的所有的預定設定。當你重置一個設定的時候,
它將會讀取該文件並且將指定的設定改為在文件中描述的值。如果一個劫持程式改變了在那一個文件中的訊息,
那麼當你重置那一個設定的時候,你將再次被感染,因為它將會讀取來自 iereset.inf 文件的不正確的訊息。


例子列表 O14 - IERESET.INF: START_PAGE_URL=http://www.searchalot.com

請注意這個設定有可能已經合法地被一個電腦製造商或機器的系統管理員改變。如果你不認識那些地址你應該修復它。

O15 區段

這個區段對應於在IE受信區域和預定協議中的站點或 IP 地址。

受信區域

IE的安全性以一組區域為基礎。每個區域有不同的安全措施來確定在此區域中的站點可以執行什麼腳本和應用程式。
這裡有被稱為受信區域的一個安全區域。這一個區域有最低的安全措施而且允許其中的站點在不需要你確認的情況下執行腳本和應用程式。
它因此成為惡意站點使用的一個常見伎倆,以便以後能很容易地通過在受信區域中的站點感染你的電腦。

註冊表鍵:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Internet Settings\ZoneMap\Domains
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges


例子列表 O15 - Trusted Zone: http://www.bleepingcomputer.com
O15 - Trusted IP range: 206.161.125.149
O15 - Trusted IP range: 206.161.125.149(HKLM)

Domains或Ranges哪個將被IE使用決定於使用者正在嘗試訪問的網址。如果網址中包含一個域名,那麼它將會將會在Domains子鍵中搜尋符合的項。
如果它包含一個IP地址那就搜尋Ranges子鍵來查找符合的項。當網域新增為一個受信站點或者受限站點他們將被分配一個值來表示。
如果他們被分配到 *=4 這個值,那一個網域將會被新增到受限區域。如果他們的值為 *=2, 那麼那一個網域將會被加到受信區域。

增加一個 IP 地址的工作稍微有些不同。在 Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges 鍵下,
你可以找到名為Ranges1,Ranges2,Ranges3,Ranges4,...的其他的鍵。每個子鍵對應於一個特定的信任區域/協議。
如果你增加一個 IP地址到一個安全區域,Windows 將會在以 Ranges1 為開始創建一個包涵該區域所有IP地址及特定協議的子鍵。
舉例來說,如果你增加如一個受信站點 http://192.168.1.1 ,Windows 會產生第一個可用的的Ranges鍵 (Ranges1) 而且增加一個數值 http=2。
任何將來的可信賴的 http:// IP 地址將會被新增加到 Range1 鍵。現在如果你增加一個使用 http 協議的受限的站點 (例如 http://192.16.1.10) ,
Windows 會按順序創建一個新的鍵,叫做Range 2。它的值會是 http=4,而且任何以後新增到受限站點的 IP 地址將會被放在這個鍵下。
每個協定和信任區域設定組合都會延續這種方式。

如果你曾經在這裡見到任何域名或者IP地址,除非它是一個你認識的網址,比如你的公司使用的,否則通常應該移除它。如果你希望修復它們,
你可以在free.aol.com找到一個公共的列表。當他們基本上是不必要的時候,
對我個人來講會把所有的專案從受信區域移除。

ProtocolDefaults

當你使用 IE 連接到一個站點的時候,那一個站點的安全權限授權於它所在的區域。5個區域中的每一個都有一種相關的具體的識別號碼。
這些區域以及它們相關聯的號碼的是:

區域 區域映射
My Computer 0
Intranet 1
Trusted 2
Internet 3
Restricted 4


每一個用於連接到站點的協議,像是 HTTP、FTP、HTTPS,都被映射到這些區域其中的一個。下列各項是預定的映射:

協議 區域映射
HTTP 3
HTTPS 3
FTP 3
@vit 1
shell 0

舉例來說,如果你連接到一個使用 http:// 的站點那麼將會是預定的Internet區域的一部份。這是因為 http 的預定區域是 3 即Internet區域。
如果惡意軟件改變了特定協議的預定區域那麼就會發生問題。舉例來說,如果惡意軟件已經將 HTTP 協議的預定區域改為 2,
那麼你使用 http 連接到的任何站點將會被認為是處於受信區域中。到現在為止尚沒有已知的惡意軟件利用它,但我們可能會看到HJT正在枚舉這個鍵。

註冊表鍵:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\ProtocolDefaults

如果預定的設定被改變你們將會見到一個類似下面的 HJT 專案:


例子列表 O15 - ProtocolDefaults: 'http' protocol is in Trusted Zone, should be Internet Zone (HKLM)

你可以簡單的通過HJT專案來修復這些設定使他們回到預定值。

O16 區段

這個區段對應於 ActiveX 對象也被稱為Downloaded Program Files。

ActiveX 對象是從網站下載到你的電腦上的程式。這些對像被儲存在 C:\Windows\Download Program Files下。
它們同樣以在花括號之間的那串數值作為 CLSID 來被註冊表引用。這裡有許多合法的 ActiveX,比如這個iPix Viewer的例子。


例子列表 O16 - DPF: {11260943-421B-11D0-8 EAC-0000C07D88 CF}-(iPix ActiveX 控制) http:// www.ipix.com/download/ipixx.cab

如果你發現不認識的名字或地址,你應該 Google 下看看它們是否是合法的。如果你感覺它們不是,你可以修復它們。
即便刪除了你電腦上的幾乎所有 ActiveX 對象也不會有什麼問題,因為你可以再次下載它們,
要知道有一些公司的應用程式也會使用ActiveX對象,所以要小心。你應該總是刪除帶有sex、porn、dialer、free、casino等詞語的 016 專案。

有一個叫做SpywareBlaster的帶有大量惡意 ActiveX 對象的資料庫的程式。你可以下載和通過它搜尋已知的 ActiveX 對像資料庫。
關於使用 SpywareBlaster 的指南可以在這裡找到:

Using SpywareBlaster to protect your computer from Spyware, Hijackers, and Malware.

當你修復 O16 專案的時候,HijackThis 將會嘗試從你的硬碟刪除他們。通常這不會有什麼問題,但是有時候 HijackThis 可能不能刪除有問題的文件。
如果發生了這種情況,請重新啟動進入安全模式刪除它。

O17 區段

這個區段對應於 Lop.com 域名入侵。

當你使用主機名像是 www.bleepingcomputer.com 而不是IP地址訪問一個網站的時候,你的電腦通過一個DNS服務器將主機名解析為一個IP地址。
域名入侵是指,劫持程式改變你的機器上的 DNS 服務器指向他們自己的服務器,他們能將你定向到他們希望的任何的位置。
藉由把 google.com 加入他們的 DNS 服務器,他們能在你試圖訪問 www.google.com 的時候,把你重定向到一個他們的選擇的網站。


例子列表 017- HKLM\system\CS1\service\VxD\ MSTCP: NameServer=69.57.146.14,69.57.147.175

如果你見到此專案而它並不屬於你所認識的ISP或者公司的網域,以及 DNS 服務器不屬於你的ISP或者公司,那麼你應該讓HijackThis修復它。
你可以到 Arin 查詢下 whois a 通過DNS服務器的IP地址來判斷他們屬於哪個公司。

O18 區段

這個區段對應於額外的協議和協議劫持。

這個方法通過將你的電腦使用的標準協議驅動更改為劫持程式所提供的驅動來實現。這讓劫持程式可以控制你的電腦以特定方式發送接受訊息。

註冊表鍵:
HKEY_LOCAL_MACHINE\Software\Class\PROTOCOLS\
HKEY_LOCAL_MACHINE\Software\Class\CLSID
HKEY_LOCAL_MACHINE\Software\Class\Protocol\Handler
HKEY_LOCAL_MACHINE\Software\Class\Protocol\Filter

HijackThis 首先讀取非標準的協議的註冊表協議區段。一但找到便在列出的CLSID中查詢於關於它的文件路徑的訊息。


例子列表 O18 - Protocol: relatedlinks - {5AB65DD4-01 FB-44D5-9537-3767AB80F790} - C:\PROGRA~1\COMMON~1\MSIETS\msielink.dll

通常嫌犯是CoolWebSearch,Related Links和Lop.com。如果你發現了這些項,你可以讓 HijackThis 修復它。

使用Google來看看文件是否是合法的。你也可以使用Castlecop's O18 List來幫助你確認文件。

需要注意的是修復這些專案似乎不會刪除與它有關的註冊表專案或文件。你應該重新啟動進入安全模式手動刪除有問題的文件。

O19 區段

這個區段對應於用戶式樣表劫持。

式樣表是描述html網頁面的佈局,彩色和字型如何顯示的一個模板。這一類型的劫持程式會重寫為殘障人士設計的預定式樣表單,
並引起大量的彈出視窗和潛在的速度降低。

註冊表鍵: HKEY_CURRENT_USER\software\Microsoft\Internet Explorer\Style\: User Stylesheets


例子列表 O19 - User style sheet: c:\Windows\Java\my.css

除非你確實創建了自己的式樣,否則你通常可以移除它們。

當你修復專案的這些類型的時候, HijackThis 不會刪除在列的有問題的文件。 建議你重新啟動到安全模式刪除式樣表單。


O20 區段

AppInit_DLLs

這個區段對應於通過 AppInit_DLLs 的註冊表值和 Winlogon Notify 子鍵載入文件

AppInit_DLLs 註冊表值包含了當 user32.dll被載入時將會載入的一連串的動態鏈接庫。而大多數的 Windows 可執行程式都會使用user32.dll,
這意謂著任何在 AppInit_DLLs 註冊表鍵列出的DLL也會被載入。當它被多個工作行程裡面載入的時候,要移除 DLL 將會變得非常困難,
其中一些很難在不引起系統不穩定的情況下被終止。user32.dll文件也被很多當你登入時系統自動啟動的工作行程使用。
這意謂著 AppInit_DLLs 中的文件將會非常早在我們可以訪問系統之前就被載入,Windows 啟動程式可以允許DLL隱藏自身或保護自身。

這一個方法已知被一個 CoolWebSearch 的變種使用而且只能在註冊表編輯器中同過右擊數值檢視,並且選擇修改二進制資料。
另外 Registrar Lite 也可以相對容易的檢視這些DLL。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\\AppInit_DLLs


例子列表 O20 - AppInit_DLLs: C:\Windows\system32\winifhi.dll

有些使用這個註冊表鍵的合法程式,所以當刪除在列的文件的時候,你應該小心。
使用我們的Bleeping Computer Startup Database或Castlecops O20 list 來幫助你確認文件。

當你修復這一類型的專案的時候,HijackThis 不會刪除在列的有問題的文件。建議你重新啟動進入安全模式刪除有問題的文件。


Winlogon Notify

Winlogon Notify鍵通常被 Look2Me 感染。HijackThis 將會列出所有非標準的Winlogon Notify鍵,以便你能容易地發現哪一個是本不屬於那裡的。
你可以通過列出的在%SYSTEM%目錄下的一個隨機名字的Dll來確認 Look2ME 感染的鍵。即使它並不屬於那裡,該鍵也會有一個看似正常名字。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify


例子列表 O20 - Winlogon Notify: Extensions -C:\Windows\system32\i042laho1d4c.dll

當你修復這個專案的時候它將會移除註冊表中的鍵但保留文件。你必須手動刪除這個文件。

O21 區段

這個區段對應於通過 ShellServiceObjectDelayLoad 註冊表鍵載入的文件。

這個註冊表以於Run鍵相似的方式包含數值。與直接指向文件本身不同的是,它指向CLSID的InProcServer,它包含有關於正在被使用的特定DLL文件的資訊。

當你的電腦啟動的時候,在這個鍵下面的文件自動地被 Explorer.exe 載入。因為 Explorer.exe 是你的電腦的外殼程式,它總是會啟動,
那麼這樣一來在這個鍵下面的文件也總是會被載入。因此這些文件在任何人為干預發生之前就早在啟動過程中載入了。

使用方法的劫持程式能被下列專案辨認出:


例子列表 R0 - HKCU\Software\Microsoft\Internet Explorer\Main,Start Page = C:\Windows\secure.html
R1 - HKCU\Software\Microsoft\Internet Explorer\Main,Default_Page_URL = C:\Windows\secure.html

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad


例子列表 O21 - SSODL: System - {3CE8EED5-112D-4E37-B671-74326D12971E} - C:\Windows\system32\system32.dll

HijackThis 使用內部的的白名單來排除這個鍵下面的合法專案。如果你為這見到了這個個列表,那麼它就不是標準的而且應該被視為可疑的。
使用我們的Bleeping Computer Startup Database或Castlecops O20 list 來幫助你確認文件。

當你修復這些類型的專案時,HijackThis 不會刪除在列的有問題的文件。建議你重新啟動進入安全的模式刪除有問題的文件。

O22 區段

這個區段對應於通過 SharedTaskScheduler 註冊表值載入的文件。

當你啟動Windows的時候,這一個註冊表專案會自動地執行。當前只有CWS.Smartfinder使用這個鍵。

註冊表鍵: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler


例子列表 O22 - SharedTaskScheduler: (no name){3F143C3A-1457-6CCA-03A7-7AAA23B61E40F} - c:\windows\system32\mtwirl32.dll

小心地移除該鍵所列出的專案,因為有些是合法的。你的可以使用 google 來瞭解它是否合法的。CWS.Smartfinder可以用CWShredder移除。
使用我們的Bleeping Computer Startup Database或Castlecops O20 list 來幫助你確認文件。

Hijackthis 將會刪除與SharedTaskScheduler相關的專案,但不會刪除它指向的 CLSID 以及CSLID 的 Inprocserver32 指向的文件。
因此你應該總是重新啟動到安全模式手動刪除這些文件。

O23 區段

這個區段對應於XP,NT和2003的系統服務。

服務是在Windows啟動時自動載入的程式。這些服務無論是否有使用者登入到電腦都會被載入,而且經常被廣泛用處理系統任務,
像是Windows操作系統功能,防病毒軟件或應用程式服務器。近來惡意軟件利用服務來感染電腦呈增加趨勢。
因此仔細調查列出的看起來不正確的每一個服務是很重要的。你可能找到的常見的惡意軟件服務是Home Search Assistant和Bargain Buddy的新變種。
你可以在下面找到一些相關的例子。

多數的微軟服務已經被加到白名單,因此他們將不會被列出。如果你想同時檢視它們你可以使用 /ihatewhitelists 參數啟動 HijackThis。

合法服務的例子:


例子列表 O23 - Service: AVG7 Alert Manager Server (Avg7 Alrt)- GRISOFT , s.r.o。 - C:\PROGRA~1\Grisoft\AVGFRE~1\avgamsvr.exe

Home Search Assistant的例子:


例子列表 O23 - Service: Workstation NetLogon Service - Unknown - C:\Windows\system32\crxu.exe

Bargain Buddy 的例子:


例子列表 O23 - Service: ZESOFT - Unknown - C:\Windows\zeta.exe
O23 - Service: ISEXEng - Unknown - C:\Windows\system32\angelex.exe

當你修復一個 O23 專案的時候 Hijackthis 將會將這一個服務改為已禁用,並停止該服務,然後要求使用者重新啟動。
它將不會刪除註冊表中的服務或者它指向的文件。為了刪除它你需要知道服務名。這個名字是在括號之間的文本。
如果顯示出的名字和服務名字相同,那麼它就不會再列出服務名字。

有你可以用三種方法來刪除服務:


1. 通過在命令行提示字元下鍵入 XP 的 SC 指令來刪除它:

sc delete servicename

你可以使用下列的例子中的註冊表文件來刪除服務:

2. 使用註冊表文件刪除服務。下面的註冊表文件是一個該如何移除 Angelex.exe Bargain Buddy變種的例子:

REGEDIT4

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_ISEXENG]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ISEXEng]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_ISEXENG]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ISEXEng]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Enum\Root\LEGACY_ISEXENG]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet003\Services\ISEXEng]

3. 使用 HijackThis 刪除服務。你可以點擊Config,MiscTools,按下Delete an NT service.. 按鈕。當它打開以後你應該輸入服務名按下OK。


要小心的移除這些鍵中列出的專案,它們大部分是合法的。你可以使用Bleeping Computer Startup Database來研究 O23 專案。

結論

HijackThis 是檢查瀏覽器的細節以及Windows 正在執行什麼的一個非常有力的工具。不幸地是要診斷 HijackThis 的掃瞄結果可能會很複雜。
希望我的忠告和解釋將會略微減輕它的複雜度。這個程式需要謹慎的使用,如果不正確地移除了一些專案會引起合法的程式出問題。
如果你有任何的疑問可以在我們的間諜軟體論壇中貼出來。

如果你希望得到關於使用HijackThis和其他的反間諜軟件移除的惡意軟件的更多資訊,你可以參加 Bleeping Computer HijackThis Trainee 計劃。

--
Lawrence Abrams
Bleeping Computer Internet Security and Spyware Tutorials

校訂訊息:
03/30/04: 增加所有的啟動位置到 O4 區段。增加關於 F2 區段的資訊。增加在文件末尾的已命名的錨鏈標籤使人們能夠鏈接到我。
03/31/04: 增加更完整的關於 F2 和 F3 區段的資訊。
04/01/04: 增加更多的迫切的關於病毒掃瞄器的不適當地鏈接了 LSPs的警告到 O10 區段。
04/09/04: 增加關於 CWShredder 的資訊到 O13 區段。
04/24/04: 增加關於 Obfuscated 的意義的資訊到 R 區段。
04/25/04: 增加在上頭位置的騙子警告並改變了風格以反映較新的指南。
05/21/04: 增加關於以_結束的 R3 專案的資訊。
07/09/04: 增加關於新的 O20,O21,O22 專案,新的工作行程管理和主機文件管理的資訊,以及在 1.98 版中的錯誤修正校訂。
12/24/04: 增加關於 1.99.0 版的新功能擴展更新了 O15 專案的資訊,在 O23 專案方面的訊息以及新功能像是多工作行程終止、廣告間諜和程式介面的訊息。
02/16/05: 增加關於 1.99.1 版的新功能的資訊。以及在新的 O15 專案的重點: 預定協議和 O20 Winlogon Notify 鍵。
5/29/06: 更新了 O6 專案以反映免疫功能的正確位置。

本文為chenke_ikari翻譯,首發於豆腐的簡陋小屋
本文采用Creative Commons 署名-非商業性使用-相同方式共享 2.5 China 許可協議 進行許可
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次