news_title
置頂文章[公告] 以瑪已喬遷至新址~2014年1月1日11:00am ... 2012-06-04
以瑪已喬遷至 71084台南市 永康區 ...
置頂文章[一般] 我們的設計 - 可以玩的名片 ... 2011-07-05
以瑪對設計是有要求的! 記得要設計我們 ...
置頂文章[公告] XP 中使用 以瑪的 FTP ... 2011-01-24
在 XP 上使用 以瑪 的 FTP, 如 ...
置頂文章[公告] 關於以瑪網頁行銷 2009-01-16
...
[調查] APP 開發新里程 - jswaffle vs p ... 2014-02-16
這幾年行動裝置 APP 的開發軟體推陳出 ...
[一般] 香港 大埔休閒垂釣比賽及漁民文化大觀 活動花絮 ... 2013-12-17
以瑪來到了 ...
[調查] 國家資安通報警告:KMPlayer更新程式疑遭駭客 ... 2013-08-22
國家資安通報警告內容 itHome ...
[調查] 電腦當機出現藍底白字 ... 2012-03-03
如果電腦常當機出現藍底白字, 重開電腦前 ...

[調查] 何謂木馬病毒及清除方法

人氣1522
以瑪 - 以瑪網頁行銷 | 2009-03-04 16:45:30

一、木馬(Trojan Horse)介紹


木馬全稱為特洛伊木馬(Trojan Horse,英文則簡稱為Trojan)。此詞語來源於古希臘的神話故事,傳說希臘人圍攻特洛伊城,久久不能得手。後來想出了一個木馬計,讓士兵藏匿于巨 大的木馬中。大部隊假裝撤退而將木馬擯棄於特洛伊城下,讓敵人將其作為戰利品拖入城內。木馬內的士兵則乘夜晚敵人慶祝勝利、放鬆警惕的時候從木馬中爬出 來,與城外的部隊媕野~合而攻下了特洛伊城。

在電腦安全學中,特洛伊木馬是指一種電腦程式,表面上或實際上有某種有用的功能,而含有隱藏的可以控制用戶電腦系統、危害系統安全的功能,可能造成用戶資料的洩漏、破壞或整個系統的崩潰。在一定程度上,木馬也可以稱為是電腦病毒。

由於很多用戶對電腦安全問題瞭解不多,所以並不知道自己的電腦是否中了木馬或者如何刪除木馬。雖然現在市面上有很多新版殺毒軟體都稱可以自動清除木馬病 毒,但它們並不能防範新出現的木馬病毒(哪怕宣傳上稱有查殺未知病毒的功能)。而且實際的使用效果也並不理想。比如用某些殺毒軟體卸載木馬後,系統不能正 常工作,或根本發現不了經過特殊處理的木馬程式。

本人就測試過一些經編程人員改裝過的著名木馬程式,新的查殺毒軟體是連檢查都檢測不到,更不用說要刪除它了(哪怕是使用的是最新的病毒庫)。因此最關鍵的 還是要知道特洛伊木馬的工作原理,由其原理著手自己來檢測木馬和刪除木馬。用手工的方法極易發現系統中藏匿的特洛伊木馬,再根據其藏匿的方式對其進行刪 除。

二、木馬工作的原理


在Windows系統中,木馬一般作為一個網路服務程式,在中了木馬的機器後臺運行,監聽本機一些特定埠,這個埠號多數比較大(5000以上,但也有部分 是5000以下的)。當該木馬相應的用戶端程式在此埠上請求連接時,它會與客戶程式建立一TCP連接,從而被用戶端遠端控制。

既然是木馬,當然不會那麼容易讓你看出破綻,對於程式設計人員來說,要隱藏自己所設計的視窗程式,主要途徑有:在任務欄中將視窗隱藏,這個只要把FORM 的Visible屬性調整為False,ShowInTaskBar也設為False。那麼程式運行時就不會出現在任務欄中了。如果要在任務管理器中隱 身,只要將程式調整為系統服務程式就可以了。

好了,現在我們對木馬的運行有了大體瞭解。讓我們從其運行原理著手來看看它藏在哪。既然要作為後臺的網路服務器運行,那麼它就要乘電腦剛開機的時候得到運 行,進而常駐記憶體中。想一想,Windows系統剛啟動的時候會通過什麼項目裝入而運行一些程式呢?你可能會想到“開始->程式->啟動” 中的專案!沒錯,這是Windows啟動時要運行的東西,但要是木馬伺服器程式明顯地放在這就不叫木馬了。

木馬基本上採用了Windows系統啟動時自動載入應用程式的方法,包括有win.ini、system.ini和註冊表等。

在win.ini檔中,[WINDOWS]下面,“run=”和“load=”行是Windows啟動時要自動載入運行的程式專案,木馬可能會在這現出原 形。必須要仔細觀察它們,一般情況下,它們的等號後面什麼都沒有,如果發現後面跟有路徑與檔案名不是你熟悉的或以前沒有見到過的啟動檔專案,那麼你的電腦 就可能中上木馬了。

當然你也得看清楚,因為好多木馬還通過其容易混淆的檔案名來愚弄用戶。如AOL Trojan,它把自身偽裝成command.exe檔,如果不注意可能不會發現它,而誤認它為正常的系統啟動檔項。

在system.ini文件中,[BOOT]下面有個“shell=Explorer.exe”項。正確的表述方法 就是這樣。如果等號後面不僅僅是explorer.exe,而是“shell=Explorer.exe 程式名”,那麼後面跟著的那個程式就是木馬程式,明擺著你已經中了木馬。現在有些木馬還將explorer.exe檔與其進行綁定成為一個檔,這樣的話, 這堿搯_來還是正常的,無法瞧出破綻。

隱蔽性強的木馬都在註冊表中作文章,因為註冊表本身就非常龐大、眾多的啟動項目及易掩人耳目。

HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion Run

HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion RunOnce

HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion RunOnceEx

HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion RunServices

HKEY-LOCAL-MACHINE Software Microsoft Windows CurrentVersion RunServicesOnce


上面這些主鍵下面的啟動項目都可以成為木馬的容身之處。如果是Windows NT,那還得注意HKEY-LOCAL-MACHINESoftwareSAM下的東西,通過regedit等註冊表編輯工具查看SAM主鍵,堶惜U應該是空的。

木馬駐留電腦以後,還得要有用戶端程式來控制才可以進行相應的“黑箱”操作。

要用戶端要與木馬伺服器端進行通信就必須得建立一連接(一般為TCP連接),通過相應的程式或工具都可以檢測到這些非法網路連接的存在。具體如何檢測,在第三部分有詳細介紹。

檢測和刪除系統中的木馬(Trojan Horse)

三、檢測木馬的存在

知道木馬啟動運行、工作的原理,我們就可以著手來看看自己的電腦有沒有木馬存在了。

首先,查看system.ini、win.ini、啟動組中的啟動專案。由“開始->運行”,輸入msconfig,運行Windows自帶的“系統配置實用程式”。

1、查看system.ini文件


選中“System.ini”標籤,展開[boot]目錄,查看“shell=”這行,正常為“shell=Explorer.exe”,如果不是這樣,就可能中了木馬了。下圖所示為正常時的情況:

2、查看win.ini文件


選中win.ini標籤,展開[windows]目錄項,查看“run=”和“load=”行,等號後面正常應該為空白。

3、查看啟動組


再看看啟動標籤中的啟動項目,有沒有什麼非正常項目?要是有象netbus、netspy、bo等關鍵字,極有可能就是木馬了。本人一般都將啟動組中的項目保持在比較精簡的狀態,不需要或無大用途的專案都遮罩掉了。

4、查看註冊表


由“開始->運行”,輸入regedit,確定就可以運行註冊表編輯器。再展開至:“HKEY-LOCAL- MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目錄下,查看鍵值中有沒有自己不熟悉的自動啟動檔 專案,比如netbus、netspy 、netserver等的單詞。注意,有的木馬程式生成的伺服器程式檔很像系統自身的檔,想由此偽裝蒙混過關。比如Acid Battery木馬,它會在註冊表項“HKEY-LOCAL- MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下加入 Explorer=“C:WINDOWSexpiorer.exe”,木馬伺服器程式與系統自身的真正的Explorer之間只有一個字母的差別!

通過類似的方法對下列各個主鍵下面的鍵值進行檢查:

HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce

HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx

HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices

HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce


如果作業系統是Windows NT,還得注意 HKEY-LOCAL-MACHINESoftware SAM 下面的內容,如果有專案,那極有可能就是木馬了。正常情況下,該主鍵下面是空的。

當然在註冊表中還有很多地方都可以隱藏木馬程式,上面這些主鍵是木馬比較常用的隱身之處。除此之外,象
HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun、
HKEY-USERS****SoftwareMicrosoftWindowsCurrentVersionRun
的目錄下都有可能成為木馬的藏身之處。最好的辦法就是在
HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun
或其他主鍵下面找到木馬程式的檔案名,再通過其檔案名對整個註冊表進行全面搜索就知道它有幾個藏身的地方了。

如果有留意,註冊表各個主鍵下都會有個叫“(默認)”名稱的註冊項,而且資料顯示為“(未設置鍵值)”,也就是空的。這是正常現象。如果發現這個默認項被替換了,那麼替換它的就是木馬了。

4、其他方法


上網過程中,在進行一些電腦正常使用操作時,發現電腦速度明顯起了變化、硬碟在不停的讀寫、滑鼠不聽使喚、鍵盤無效、自己的一些視窗在未得到自己允許的情況下被關閉、新的視窗被莫名其妙地打開.....這一切的不正常現象都可以懷疑是木馬用戶端在遠端控制你的電腦。

如果懷疑你現在正在被木馬控制,那麼不要慌張地去拔了網線或抽了Modem上的電話線。有可能的話,最好可以逮到“黑”你的那個傢伙。下面就介紹一下相應的方法:

由“開始->運行”,輸入command,確定,開一個MS-DOS視窗。或者由“開始->程式->MS-DOS”來打開它。在MS-DOS視窗的命令行鍵入“netstat”查看目前已與本電腦建立的連接。

顯示出來的結果表示為四列,其意思分別為Proto:協議,Local Address:本地地址,Foreign Address:遠程地址,State:狀態。在位址欄中冒號的後面就是埠號。如果發現埠號碼異常(比如大於5000),而Foreign Address中的位址又不為正常網路流覽的位址,那麼可以判斷你的機器正被Foreign Address中表示的遠端電腦所窺視著。在對應行的Foreign Address中顯示的IP位址就是目前非法連接你電腦的木馬用戶端。

當網路處於非活動狀態,也就是目前沒什麼活動網路連接時,在MS-DOS視窗中用netstat命令將看不到什麼東西。此時可以使用“netstat -a”,加了常數“-a”表示顯示電腦中目前處於監聽狀態的埠。對於Windows98來說,正常情況下,會出現如下的一些處於監聽狀態的埠(安裝有 NETBEUI協議):

如果出現有不明埠處於監聽(LISTENING)狀態,而目前又沒有進行任何網路服務操作,那麼在監聽該埠的就是特洛伊木馬了!

注意,使用此方法查詢處於監聽狀態的埠,一定要保證在短時間內(最好5分鐘以上)沒有運行任何網路衝浪軟體,也沒有進行過任何網路操作,比如流覽網頁,收、發信等。不然容易混淆對結果的判斷。

四、刪除木馬


好了,用上面的一些方法發現自己的電腦中了木馬,那怎麼辦?當然要將木馬刪除了,難道還要保留它!首先要將網路斷開,以排除來自網路的影響,再選擇相應的方法來刪除它。

1、由木馬的用戶端程式

由先前在win.ini、system.ini和註冊表中查找到的可疑檔案名判斷木馬的名字和版本。比如“netbus”、“netspy”等,很顯然對 應的木馬就是 NETBUS 和 NETSPY。從網上找到其相應的用戶端程式,下載並運行該程式,在客戶程式對應位置填入本地電腦位址:127.0.0.1和埠號,就可以與木馬程式建立 連接。再由用戶端的卸除木馬伺服器的功能來卸除木馬。埠號可由“netstat -a”命令查出來。

這是最容易,相對來說也比較徹底載除木馬的方法。不過也存在一些弊端,如果木馬檔案名給另外改了名字,就無法通過這些特徵來判斷到底是什麼木馬。如果木馬 被設置了密碼,既使用戶端程式可以連接的上,沒有密碼也登陸不進本地電腦。當然要是你知道該木馬的通用密碼,那就另當別論了。

還有,要是該木馬的用戶端程式沒有提供卸載木馬的功能,那麼該方法就沒什麼用了。當然,現在多數木馬用戶端程式都是有這個功能的。

2、手工

不知道中的是什麼木馬、無登陸的密碼、找不到其相應的用戶端程式、......,那我們就手工慢慢來刪除這該死的木馬吧。

用msconfig打開系統配置實用程式,對win.ini、system.ini和啟動項目進行編輯。遮罩掉非法啟動項。如在win.ini文件中,將 將[WINDOWS]下麵的“run=xxx”或“load=xxx”更改為“run=”和“load=”;編輯system.ini文件,將 [BOOT]下麵的“shell=xxx”,更改為:“shell=Explorer.exe”。

用regedit打開註冊表編輯器,對註冊表進行編輯。先由上面的方法找到木馬的程式名,再在整個註冊表中搜索,並刪除所有木馬項目。由查找到的木馬程式 註冊項,分析木馬檔在硬碟中的位置(多在C:WINDOWS和C:WINDOWSCOMMAND目錄下)。啟動到純MS-DOS狀態(而不是在 Windows環境中開個MS-DOS視窗),用del命令將木馬檔刪除。

如果木馬檔是系統、隱藏或唯讀檔案,還得通過“attrib -s -h -r”將對應檔的屬性改變,才可以刪除。

為保險起見,重新啟動以後再由上面各種檢測木馬的方法對系統進行檢查,以確保木馬的確被刪除了。

目前也有一些木馬是將自身的程式與Windows的系統程式進行了綁定(也就是感染了系統檔)。比如常用到的Explorer.exe,只要 Explorer.exe一得到運行,木馬也就啟動了。這種木馬可以感染可執行檔,那就更象病毒了。由手工刪除檔的方法處理木馬後,一運行 Explorer.exe,木馬又得以複生!這時要刪除木馬就得連Explorer.exe檔也給刪除掉,再從別人相同作業系統版本的電腦中將該檔 Copy過來就可以了。

 


 

本文轉載自史萊姆論壇 2004-07-06, 07:21 PM Phantom

人氣1522


首 頁 以瑪消息 以瑪作品集 以瑪服務 以瑪線上報價 以瑪資訊分享 關於以瑪網頁 以瑪即時留言

Designed by EMA © 2009 以瑪網頁行銷公司 / Tel:06-3122606 / email:ema@ema.idv.tw / 統一編號:25045686 / 本網站請以 IE 7.0 或以上版本瀏覽