注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

執行緒尋找木馬的痕跡  

2009-12-06 22:10:39|  分类: 系統工具 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

對於執行緒這個概念,許多電腦用戶都沒有給予太多關注。在很多人印象裏,只知道結束執行緒可以殺死程式,至於哪些執行緒對應哪些程式,究竟什麼樣的執行緒該殺,什麼樣的執行緒不能殺這些問題很少考慮。這裏通過幾個實例為大家揭開執行緒的神秘面紗。

  實例一:和執行緒的“表演者”交個朋友

  很多時候,我們並沒有注意到系統中到底有多少執行緒。如果想瞭解執行緒的秘密,首先就必須和一些常見系統執行緒交個朋友,一旦掌握了它們,就能像偵探一樣迅速從執行緒名單中發現可疑的傢伙。

  在Windows 2000/XP中,Ctrl+Shift+Esc組合鍵能快速調出任務管理器,而Windows 9X為Ctrl+Alt+Del組合鍵。

  1.“主角”執行緒

  首先來熟悉一下系統中的基本執行緒,它們是系統執行的基本條件,一般情況下不能關閉它們,否則會導致系統崩潰。

  Windows 2000/XP:smss.exe、csrss.exe、winlogon.exe、services.exe、lsass.exe、svchost.exe(可以同時存在多個)、spoolsv.exe、explorer.exe、System Idle Process;

  Windows 9x:msgsrv32.exe、mprexe.exe、mmtask.tsk、kenrel32.dll。

  你知道嗎

  執行緒與程式

  簡單地說,每啟動一個程式,就啟動了一個執行緒。在Windows 3.x中,執行緒是最小執行單位。在Windows 9X/2000/XP中,每個執行緒還可以啟動幾個線程,比如每下載一個檔可以單獨開一個線程。在Windows 9X/2000/XP中,線程是最小單位。程式是永存的,執行緒是暫時的。舉一個例子說:如果程式是劇本,那麼表演過程就是執行緒;如果程式是菜譜,那麼烹調過程就是執行緒。

  人鬼情未了——Svchost.exe

  它位於系統目錄的System32檔夾,是從動態連結程式庫(DLL)執行服務的一般性宿主執行緒。在任務管理器中,可能會看到多個Svchost.exe在執行,不要大驚小怪,這可能是多個DLL檔在調用它。不過,正因為如此,它也成為了病毒利用的物件,以前的“藍色代碼”病毒就是一例。另外,如果感染了衝擊波病毒,系統也會提示“Svchost.exe出現錯誤”。

  如果要查看哪些服務正在使用Svchost.exe,對於Windows 2000可從其安裝光碟的SupportToolsSupport.cab壓縮包中,將Tlist.exe解壓縮至任意目錄,接著在“命令提示符”中進入Tlist.exe所在目錄,輸入“tlist -s”並回車(“tlist pid”命令可看到詳細資訊)。而在Windows XP則直接輸入“Tasklist /SVC”查看執行緒資訊(“Tasklist /fi "PID eq processID"”則可看到詳細資訊)。

  2.“配角”執行緒

  這些系統執行緒雖然不是系統執行必須的,但也經常在執行緒列表中抛頭露面。如internat.exe、systray.exe、rundll32.exe、loadwc.exe、ddhelp.exe、mstask.exe、ctfmon.exe、taskmagr.exe、msnmsgr.exe、wmiexe.exe,它們都是正常的系統執行緒。

  建議在安裝完Windows後,點擊“開始→程式→附件→系統工具→系統資訊”,在打開的“系統資訊”視窗中再點擊“軟體環境→正在執行任務”(在此執行緒列表中,可看到更詳細的屬性,其中程式路徑是非常重要的資訊),接著點擊“操作→另存成文字檔案”,以後系統出現異常時則對照進行分析。另外,“優化大師”也提供了保存執行緒快照的功能。
 

  實例二:查找木馬的蛛絲馬跡

  許多木馬和一些防護工具採用了雙執行緒保護手段,例如“Falling Star”木馬就採用雙執行緒模式,下面來看看如何發現它們。

  第一步:打開任務管理器。根據和常見執行緒比較,很明顯會發現兩個“熟悉的陌生人”(和系統基本執行緒名稱相似,但不相同):“internet.exe”和“systemtray.exe”。請和上一實例中的”配角“執行緒比較。

  第二步:打開“系統資訊”的“軟體環境→正在執行任務”,查看路徑資訊,兩者均指向WindowsSystem32目錄,而且檔大小、日期均相同,但從檔日期來看並不屬於微軟的系統檔。進入資源管理器查看其版本屬性,雖然公司標明為Microsoft,但與系統檔中的微軟公司名稱書寫並不相同,基本可斷定是非法執行緒,並且為雙執行緒模式。

  第三步:在嘗試結束執行緒時,第一次選擇“systemtray.exe”來結束執行緒樹,結果執行緒馬上就再生了,任務管理器中又顯示出這兩個執行緒!於是再次選擇“internet.exe”,然後結束執行緒樹。執行緒沒有再生,從而將木馬執行緒從系統中清除。

  實例三:真真假假系統執行緒

  許多病毒和木馬為避免從執行緒名稱中發現它們的蹤影,往往會採用“障眼法”,使用和系統檔或系統執行緒名稱類似的執行緒名稱。

  1.檔案名偽裝

  (1)修改常見程式或執行緒個別字元

  例如,上面介紹的“Falling Star”木馬的執行緒名稱“internet.exe”就與輸入法執行緒“internat.exe”十分相似。“WAY無賴小子”的服務端執行緒名稱為“msgsvc.exe”,與系統基本執行緒“msgsrv32.exe”類似,還有Explorer.exe和Exp1orer.exe的區別,不仔細的話你能看出來嗎?(數位“1”取代了字母“l”)

  (2)修改副檔名

  著名的冰河木馬的服務端執行緒為Kernel32.exe,乍一看很熟悉,好像是哪個系統執行緒,其實系統根本不存在這樣一個檔,Windows 9x的基本執行緒中卻有一個叫做“Kernel32.dll”的。諸如此類的還有“Shell32.exe”的木馬執行緒是從“Shell32.dll”這個大家都很熟悉的檔“演變”而來的,實際在系統中都是不存在的。


  2.路徑偽裝

  Windows目錄和System目錄是系統核心檔所在地,一般是“閒人免進”。因此,出入它們的檔一般都被人們認為是系統檔,而病毒和木馬就借機將原始檔案放在這兩個目錄中。對於這類情況,一般只需要通過系統資訊找到其原始檔案路徑,打開檔的屬性,從日期(這個非常重要,可以看是否與系統檔日期一樣)、版本、公司名稱資訊中即可看出破綻。沒有哪個病毒、木馬檔能設計得與系統檔完全一致。

  實例四:優化系統從執行緒開始

  除系統執行必須的基本執行緒外,每個程式執行後都會在系統中生成執行緒,每個執行緒都會佔用一定的CPU資源和記憶體資源。過多的執行緒和一些設計不良的執行緒就會導致系統變慢、性能下降,這時可對它們進行一下優化。
 
  1.精簡執行緒

  系統中的一些執行緒並不是必須的,結束它們並不會對系統造成什麼損害。

  比如:internat.exe(顯示輸入法圖示)、systray.exe(顯示系統託盤小喇叭圖示)、ctfmon.exe(微軟Office輸入法)、mstask.exe(計畫任務)、sysexplr.exe(超級解霸伺服器)、winampa.exe(Winamp代理)、wzqkpick.exe(WinZip助手)等。

  有一款叫做“執行緒殺手”的免費小工具,具備自動精簡執行緒功能,可自動中止系統基本執行緒以外的所有執行緒。在懷疑電腦執行了某些駭客執行緒或病毒執行緒但又不能確定是哪一個時,該軟體就可以有效清除那些非法執行緒。不過它只適合Windows 9x/Me。下載地址http://js-http.skycn.net:8080/down/prockiller_23.rar

  2.殺死不良執行緒

  有時你會發現系統執行速度特別慢,這時可打開任務管理器,單擊“執行緒”標籤,點擊“CPU”列標籤讓執行緒按CPU資源佔用排序,可以很明顯地看到資源佔用最高的程式。同樣方法,可以點擊“記憶體”列標籤,查看那些記憶體佔用大戶,及時結束執行緒。

  這裏有一種情況比較特殊:在查看CPU佔用率時,一個叫做“System Idle Process”的執行緒會一直顯示在90%左右。不必擔心,實際上它並沒有佔用這麼多系統資源,單擊“性能”標籤可看到其實際的CPU資源佔用情況。

  ★如果某個16位元程式影響了系統執行,而且死活也關不掉,可進入任務管理器的執行緒選項卡,找到NTVDM.exe執行緒,將其關掉即可殺掉所有16位元應用程式,而不用重啟。


3.優化軟體或遊戲性能

  你還可以通過改變軟體和遊戲執行緒優先順序來提高其性能,這樣能使它們執行得更快,當然負作用就是可能影響到其他正在執行的執行緒。比如,為避免刻錄緩存溢出問題造成刻錄失敗,可進入任務管理器的執行緒選項卡,找到並右擊刻錄軟體的執行緒項,選擇“設定優先順序”,然後在彈出的子功能表中選擇“高”。如果你不想每次都這樣設定,可使用下面的方法。

  第一步:打開軟體或遊戲所在目錄,比如:D:/game,在這裏新建一個文字檔案,在其中輸入以下語句:

  echo off

  start /priority game.exe

  說明:將priority替換為所需的CPU優先順序,建議使用high(高)、abovenormal(高於標準),因為它們的效果最好。將game.exe替換為軟體或遊戲的可執行檔案名稱,比如:stvoy.exe。

  第二步:做完以上修改後將其保存為game.bat,現在就能通過這個檔來啟動遊戲或軟體,而它將會使遊戲或軟體具有更高的CPU優先順序。不過要注意的是,該檔必須要保存在遊戲或軟體所在目錄 。

  评论这张
 
阅读(460)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017