當前位置:吉日网官网 - 紀念幣收藏 - 姜敏·特洛伊馬掃光,提示程序“svchost.exe”試圖執行“線程註入”的操作。

姜敏·特洛伊馬掃光,提示程序“svchost.exe”試圖執行“線程註入”的操作。

探索耗盡CPU資源的病毒清除方法

來源:網易[2005-11-03 10:26:15]作者:佚名編輯:林繼雄

昨天公司幾臺機器爆發病毒。因為他們不是專家,所以花了很長時間來清理。我覺得我可以把它們寫下來和妳交流。

首先是病毒的發現。昨天出現了兩個癥狀。

第壹,局域網出現廣播包(ARP)爆炸,甚至出口被堵塞。

第二,機器的CPU資源耗盡。

使用任務管理器,可以看到可疑進程explored.exe和services.exe壹起占用了近100%的CPU(事後我才知道這是因為病毒是通過服務啟動的),而且進程無法停止。註冊表鍵值:

HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ Windows \當前版本\Run

此項目存在於此。即使刪除了,重啟後還是壹樣。這個文件存在於WINDOWS的SYSTEM32目錄下,而無病毒機沒有這個文件。所以基本可以確認進程是病毒。

然後就是病毒查殺。這個過程有兩個問題。第壹,瑞星壹開始無法升級,因為病毒本身阻塞了出口,TCP流無法正常傳輸。

我們試了壹下,發現可以用防火墻(比如天網)隔離病毒程序,然後連接網絡升級。第二個問題是瑞星的病毒檢測過程比較慢(在病毒檢測之前網卡已經被禁用)。這是因為探究的病毒程序占用了太多的CPU。如果不能刪除進程,可以使用任務管理器提高瑞星的進程優先級(比如實時),讓瑞星從病毒那裏搶CPU資源正常運行。

然而,這壹次瑞星只殺死了偽裝成svchost.exe的蠕蟲,而探索依然存在。

我們別無選擇,只能用壹個笨辦法來刪除explored,就是進入安全模式,直接刪除Windows的System32目錄下的文件。對了,我還刪除了註冊表裏開始運行的項。

重啟後,我被提示有壹個服務錯誤。我終於在查看管理工具下的“服務”時發現了病毒的真面目:“服務”中有壹欄“Windows登錄”,服務名為“MpR”,可執行文件路徑為“C:\ win nt \ system32 \ explored . exe-services”。

這就解釋了為什麽進程停不下來,刪除註冊表裏的系統啟動項也沒用。換句話說,您應該在服務中停止該服務,而不是嘗試在任務管理器中刪除它。

最後就查殺病毒的經驗做個總結:以上病毒攻擊都有壹定的征兆,比如CPU滿了,網絡帶寬滿了(從網絡連接狀態可以看出,如果後臺沒有進程運行,網絡接口收發包數量劇增,很可能是中毒或者連接的網絡上有機器中毒),因為平時要提高警惕,發現異常就查病毒。

最好用病毒檢測軟件,有時候用任務管理器也會被騙。現在病毒的名字往往和系統程序的名字相似甚至相同,比如explored、smsss(smss是系統程序)、svchost等等。最好知道真正的系統程序所在的目錄。比如系統svchost.exe應該在system32下,病毒可能隱藏在system32\drivers下。

該病毒可以通過多種方式啟動自己:註冊表、INI文件,甚至-像探索-通過服務。

與其中毒後查殺,不如做好防護措施——補丁、病毒防護、防火墻。

工具箱

發布時間:fxj1588

揭開SVCHOST.exe進程的神秘面紗

作者:時間:2004年7月2日文檔類型:轉載自:天極。com

瀏覽統計總數:240819 |年份:184705 |季度:49433 |月份:15355 |周:2124 |今日:708。

Svchost.exe是nt核心系統非常重要的壹個進程,對於2000和xp都是不可或缺的。很多病毒和木馬也會這麽叫。所以對這個程序的深刻理解是玩電腦的必修課之壹。

大家對windows操作系統都很熟悉,但是大家有沒有註意到系統中的文件“svchost.exe”?細心的朋友會發現,windows中有多個“svchost”進程(用“ctrl+alt+del”鍵打開任務管理器,在這裏的“進程”選項卡中可以看到)。為什麽?讓我們揭開它的神秘面紗。

發現

在基於nt內核的windows操作系統家族中,不同版本的windows系統中有不同數量的“svchost”進程。用戶可以使用任務管理器檢查他們的進程數。壹般來說,win2000有兩個svchost進程,winxp有四個以上的svchost進程(不要看到系統中有多個這樣的進程就馬上判斷系統有病毒),win2003 server更多。這些svchost進程提供了很多系統服務,比如:rpcss服務(遠程過程調用)、dmserver服務(邏輯磁盤管理器)、dhcp服務(dhcp客戶端)等等。

如果想知道每個svchost進程提供多少系統服務,可以在win2000的命令提示窗口中輸入“tlist -s”命令,該命令由win2000支持工具提供。在winxp中,使用“tasklist /svc”命令。

svchost中可以包含多種服務。

深入到

Windows系統進程可以分為獨立進程和* * *共享進程。“svchost.exe”文件存在於“%systemroot% system32”目錄中,屬於* * *共享進程。隨著windows系統服務的不斷增加,為了節省系統資源,微軟已經讓許多服務* * *由svchost.exe進程來啟動。但是作為服務主機,svchost進程不能實現任何服務功能,也就是只能為其他服務在這裏啟動提供條件,而不能為用戶提供任何服務。那麽這些服務是如何實現的呢?

原來這些系統服務都是以動態鏈接庫(dll)的形式實現的。它們將可執行程序指向svchost,svchost調用相應服務的dll來啟動服務。那svchost怎麽知道壹個系統服務應該調用哪個動態鏈接庫呢?這是通過系統服務在註冊表中設置的參數來實現的。我們以rpcss(遠程過程調用)服務為例來說明壹下。

從啟動參數可以看出,該服務是由svchost啟動的。

例子

以windows xp為例,點擊開始/運行,輸入命令“services.msc”彈出服務對話框,然後打開“遠程過程調用”屬性對話框。可以看到rpcss服務的可執行文件的路徑是“C:\ Windows \ System32 \ svchost-krpcss”。這說明rpcss服務是通過svchost調用“rpcss”參數實現的,參數的內容存儲在系統註冊表中。

在運行對話框中輸入“regedit.exe”,回車,打開註冊表編輯器,找到項目【HKEY _ local _ Machine system currentcontrolsetservicesrpcss】,找到類型為“reg_expand_sz”的註冊表項“magepath”。其鍵值為“% systemroot % system32 SVC host-krpcss”(這是您在服務窗口中看到的服務啟動命令),在“parameters”子項中有壹個名為“servicedll”的鍵,值為“%systemroot%system32rpcss.dll”,其中“rpcss.dll”是rpcss服務要使用的動態鏈接庫文件。這樣,svchost進程可以通過讀取“rpcss”服務註冊表信息來啟動服務。

消除疑慮

由於svchost進程啟動各種服務,病毒和木馬想盡辦法利用它,試圖用它的特性迷惑用戶,達到感染、入侵和破壞的目的(如沖擊波變種病毒“w32.welchia.worm”)。但是,windows系統中存在多個svchost進程是正常的。被感染機器中的病毒進程是哪壹個?這裏僅舉壹個例子來說明。

假設windows xp系統被“w32.welchia.worm”感染。普通的svchost文件存在於“c:\windows\system32”目錄中,所以如果您在其他目錄中找到該文件,請小心。“w32.welchia.worm”病毒存在於“c:\windows\system32wins”目錄下,使用進程管理器查看svchost進程的可執行文件路徑,很容易發現系統是否感染了病毒。windows系統自帶的任務管理器無法查看進程路徑。您可以使用第三方進程管理軟件,如“windows Optimizer”進程管理器。通過這些工具,您可以很容易地查看所有svchost進程的執行文件路徑。壹旦發現執行路徑位於異常位置,應該立即檢測並處理它們。

由於篇幅所限,無法詳細介紹svchost的所有功能。這是windows中的壹個特殊過程。感興趣的可以參考相關技術資料詳細了解。

來源:天極。com

工具箱

發布時間:FXJ 1588

詳細解釋SvcHost

作者:丘比特之箭來源:嬴政天下更新時間:2004-11-02

[收藏本頁至:天天|賀勛|蔡波|薇薇|狐貍挑|我挑]

大家應該知道,Svchost.exe是系統不可或缺的壹個過程,很多服務或多或少都會用到它。

但我想我們都知道,因為它的特殊性,高明的“黑客”肯定不會放過。前段時間Svchost.exe的特洛伊馬風波大家應該記憶猶新,現在還有很多機器都擁有這種特洛伊馬,因為它的偽裝和系統進程Svchost.exe的壹樣,所以很多人分不清哪個是進程,哪個是特洛伊馬。....

好了,讓我們來詳細了解壹下Svchost.exe過程。

1.多個服務共享壹個Svchost.exe進程的優點和缺點。

Windows系統服務分為獨立進程和* * *共享進程。在windows NT中,只有服務器管理器SCM(Services.exe)有多個* * *共享服務。隨著系統內置服務的增加,在windows 2000中,ms做了很多服務* * *共享,這是svchost.exe開始的。Windows 2000壹般有兩個svchost進程,壹個是RPCSS(Remote Procedure Call,遠程過程調用)服務進程,壹個是很多服務都享有的svchost.exe。在windows XP中,壹般有四個以上的svchost.exe服務進程,在windows 2003 server中更多。可以看出,ms以* * *進程共享的方式啟動更多的svchost內置服務是壹種趨勢。這在壹定程度上減少了系統資源的消耗,但也帶來了壹些不穩定的因素,因為任何壹個享受進程的服務都會導致整個進程中的所有服務因為出錯而退出。此外,還有壹些安全隱患。首先,我們應該介紹svchost.exe的實施機制。

2.Svchost原理

Svchost本身只作為服務主機,不實現任何服務功能。需要Svchost啟動的服務是以動態鏈接庫的形式實現的。安裝這些服務時,將服務的可執行程序指向svchost,啟動這些服務時,svchost調用相應服務的動態鏈接庫來啟動服務。

那麽svchost如何知道哪個動態鏈接庫負責壹個服務呢?這不是由服務的可執行路徑中的參數部分提供的,而是由註冊表中的服務參數設置的。註冊表中的服務下有壹個parameters子項,其中的ServiceDll表示哪個動態鏈接庫負責該服務。而且所有這些服務動態鏈接庫都必須導出壹個ServiceMain()函數來處理服務任務。

比如rpcss(遠程過程調用)在註冊表中的位置是HKEY _本地_機器系統當前控制設置服務srpcss,它的參數子項Parameters有這樣壹項:

" service dll " = REG _ EXPAND _ SZ:" % SystemRoot % system32 pcss . dll "

當rpcss服務啟動時,svchost將調用rpcss並執行其ServiceMain()函數來執行特定的服務。

既然這些服務都是svchost使用* * *進程共享模式啟動的,為什麽系統中會有多個svchost進程?Ms將這些服務分成若幹組,同壹組服務* * *享有壹個svchost進程,不同組的服務使用多個svchost進程。組之間的差異是由服務的可執行程序背後的參數決定的。

例如,rpcss在註冊表中有這樣壹個條目HKEY _本地_機器系統當前控制設置服務sRPCSS:

" image path " = REG _ EXPAND _ SZ:" % SystemRoot % system32 SVC host-k rpcss "

因此,rpcss屬於rpcss組,這也可以在服務管理控制臺中看到。

svchost的所有組和組中的所有服務都位於註冊表中的以下位置:HKEY _本地_機器軟件微軟Windows ntCurrentVersionsvchost例如,windows 2000***有四組rpcss,netsvcs,wugroup,BITSgroup,其中,netsvcs = reg _ multi _ SZ:event system . IAS . iprip . irmon . net man .

Nwsapagent。ras auto . ras man . remote access . sens . shared access . tapis RV . ntmssvc . wzcsvc..

在啟動svchost.exe負責的服務時,服務管理器不會啟動第二個進程svchost,而是在服務管理器的映像庫中已經存在可執行程序內容ImagePath的情況下,直接啟動服務。這樣,多個服務* * *享受壹個svchost過程。

3.Svchost代碼

現在我們基本了解了svchost的原理,但是要寫壹個DLL形式的服務,這個服務是由svchost啟動的。只是以上信息還不清楚。比如我們在導出的ServiceMain()函數中收到的參數是ANSI還是Unicode?我們需要調用RegisterServiceCtrlHandler和StartServiceCtrlDispatcher來註冊服務控制和調度函數嗎?

這些問題應該通過查看svchost代碼來獲得。下面的代碼是windows 2000+ service pack 4的svchost反匯編片段,可以看出svchost程序還是很簡單的。

main函數首先調用ProcCommandLine()解析命令行得到要啟動的服務組,然後調用SvcHostOptions()查詢服務組的選項和服務組的所有服務,並使用壹個數據結構svcTable保存這些服務及其dll。然後調用PrepareSvcTable()函數創建SERVICE_TABLE_ENTRY結構,將所有的處理函數SERVICE_MAIN_FUNCTION指向自己的壹個函數FuncServiceMain(),最後調用API StartServiceCtrlDispatcher()註冊這些服務的調度函數。

  • 上一篇:《道藏》主要有哪些內容
  • 下一篇:治愈系星空風景文案(精選100句)
  • copyright 2024吉日网官网