全稱是Console Host Process, 即命令行程式的宿主進程。簡單的說他是微軟出於安全考慮,在windows 7和Windows server 2008中引進的新的控制台應用程式處理機制。
基本介紹
- 外文名:conhost.exe
- 出品者:Microsoft Corp
- 進程類別:系統進程
- 存儲位置:%Systemroot%\ System32
進程信息,來歷及作用,
進程信息
名稱:conhost.exe
病毒木馬:否
來歷及作用
原先,win7之前的宿主程式是由csrss.exe來完成的,,所有命令行進程都使用session唯一的csrss.exe進程。而到了win7則改成每個命令行進程都有一個獨立的conhost作為宿主了。 這樣當然有很多好處了,比如各進程之間不會相互影響,也不會影響到csrss,畢竟csrss還有其他更重要的任務要做。 當然最最重要的還是安全性的考慮,因為csrss是運行在local system賬號下的,如果要處理Windows message,就要承擔很多威脅,比如著名的Windows Message Shatter Attack。而如果用用戶許可權的conhost來處理,則即使有攻擊,影響的也只是低許可權的宿主進程。
其實,不論是作為普通用戶還是企業管理員,我們在日常的Windows套用和運維過程中都會或多或少的使用到控制台應用程式。控制台應用程式是沒有用戶界面的,我們需要通過命令提示符(CMD,這可不是DOS,很多人混淆不清)對其進行輸入、輸出操作。Windows自帶的控制台應用程式 ,典型的有cmd.exe、nslookup.exe和telnet.exe等。
在早期的Windows版本中,所有代表非GUI活動的應用程式(即控制台應用程式)要在桌面上運行時,都通過系統進程Csrss.exe進行協調。當控制台應用程式需要接收字元時,會在Kernel32.dll中調用一個小型的“控制台APIs”以讓Kernel32產生LPC來調用CSRSS。此時CSRSS會對控制台視窗的輸入佇列進行檢查和校驗,並將字元模式的結果通過Kernel32返回給控制台應用程式進行關聯。
這樣的處理機制就已經產生了一個問題:即使一個控制台應用程式在普通用戶的上下文環境中執行,但Csrss.exe始終是運行在本地系統賬戶許可權下的。因此,某些情況下“壞人”開發的惡意軟體就有可能通過本地系統賬戶許可權執行的Csrss.exe獲取到更多特權。這種攻擊模式被稱為Shatter Attack。
而到了win7和Windows Server 2008 R2時代,所有控制台應用程式都被放到了一個新的上下文進程ConHost.exe中來執行,而ConHost(控制台主機)與控制台程式運行在相同安全級的上下文環境當中,取代了發出LPC訊息請求到CSRSS中進行處理這種機制,而是去請求ConHost。因此,任何應用程式企圖利用訊息請求來導致特權的自動提升都不會成功。
conhost不是病毒···
conhost全稱是console host process, 即命令行程式的宿主進程. 大家都知道命令行程式是什麼東西吧, 比如ipconfig.exe之類, 由於命令行程式自身沒有代碼來顯示UI, 我們平時看到的命令行視窗內容都是由宿主進程來完成的,包括視窗的顯示, window message的處理,等等.