久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Windows Vista如何以SYSTEM權(quán)限啟動(dòng)進(jìn)程(1)(圖)

瀏覽:3日期:2023-08-01 10:33:09

SYSTEM帳戶啟動(dòng)的實(shí)質(zhì)

其實(shí)不管用哪種方法,其本質(zhì)都一樣。都是利用SYSTEM登錄會(huì)話里已有的某個(gè)進(jìn)程A,幫助我們創(chuàng)建一個(gè)進(jìn)程B,進(jìn)程B會(huì)自然而然地運(yùn)行在SYSTEM登錄會(huì)話里-從而具有SYSTEM權(quán)限。

這里提到登錄會(huì)話(Logon Session)的概念,這個(gè)概念比較抽象,甚至連MSDN里都有點(diǎn)語(yǔ)焉不詳。這里我們且不去管它(將會(huì)在后續(xù)的文章里給大家細(xì)述這個(gè)抽象概念)。只需要了解:登錄會(huì)話用來(lái)代表特定的安全主體,代表該安全主體的一次登錄實(shí)例。

每個(gè)進(jìn)程,都必須運(yùn)行在特定的登錄會(huì)話里。這里就有一個(gè)問(wèn)題,在用戶登錄之前,Windows系統(tǒng)里已經(jīng)運(yùn)行了一些進(jìn)程,這些進(jìn)程顯然也應(yīng)該運(yùn)行在登錄會(huì)話里,這就是所謂的SYSTEM登錄會(huì)話,它所代表的安全主體就是SYSTEM帳戶。

在Windows的安全機(jī)制里,特定登錄會(huì)話里的某個(gè)進(jìn)程所啟動(dòng)的其他進(jìn)程,也會(huì)運(yùn)行在該登錄會(huì)話里,從而繼承安全上下文。

《以System帳戶身份運(yùn)行應(yīng)用程序的三種辦法》這篇文章所描述的方法,都是運(yùn)用這種原理。例如借助At命令以SYSTEM帳戶身份啟動(dòng)進(jìn)程,實(shí)際上是由Task Scheduler服務(wù)啟動(dòng)的,而Task Scheduler服務(wù)所在的進(jìn)程svchost正是運(yùn)行在SYSTEM登錄會(huì)話,如附圖所示。

圖中所示的Task Scheduler服務(wù)的進(jìn)程svchost所在的登錄會(huì)話ID(Logon Session ID)是0x0-3e7,這就是代表SYSTEM登錄會(huì)話。

用Psexec命令,道理也一樣,實(shí)際上啟動(dòng)進(jìn)程的是PsexecSvc服務(wù),該服務(wù)的進(jìn)程運(yùn)行在SYSTEM登錄會(huì)話。

如何讓用戶能夠看到SYSTEM下的進(jìn)程? 在Windows 2000/XP下,這個(gè)不是什么問(wèn)題。然而在Windows Vista下問(wèn)題就來(lái)了。如果企圖用AT命令啟動(dòng)某個(gè)Local SYSTEM進(jìn)程,就會(huì)警告說(shuō)不能和用戶進(jìn)行交互,哪怕加上/Interactive參數(shù)也不行! 原來(lái)在Windows Vista下,存在一個(gè)會(huì)話0隔離的問(wèn)題。而AT命令所對(duì)應(yīng)的Task Scheduler服務(wù)運(yùn)行在會(huì)話0,而會(huì)話0是不能和用戶進(jìn)行交互的。 盆盆評(píng)注:這里要注意,會(huì)話和登錄會(huì)話,是兩碼事。具體的介紹,敬請(qǐng)期待后續(xù)的文章。 原來(lái)在會(huì)話0里,并沒(méi)有WinSta0這個(gè)窗口站。天哪,又來(lái)了一個(gè)窗口站的概念,嗯,先不用管它,這里只需理解,窗口站用來(lái)保護(hù)進(jìn)程的用戶界面。只有WinSta0這個(gè)特殊的窗口站才可以接受用戶的鼠標(biāo)、鍵盤(pán)事件,才能和用戶進(jìn)行交互。 在Windows系統(tǒng)里,如果沒(méi)有特別指定,SYSTEM登錄會(huì)話里的進(jìn)程,將會(huì)默認(rèn)運(yùn)行在Service-0X0-3E7$窗口站里,所以無(wú)法和用戶進(jìn)行交互。 所以很顯然,要讓以SYSTEM權(quán)限運(yùn)行的進(jìn)程,能夠和用戶進(jìn)行交互,必須滿足以下條件: 1. 必須不能運(yùn)行在會(huì)話0下,例如可以運(yùn)行在當(dāng)前用戶所在的會(huì)話下(例如會(huì)話1、2等) 2. 該SYSTEM進(jìn)程必須運(yùn)行在WinSta0窗口站。 對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),推薦參考Leo Jiang朋友的Blog文章,以便了解如何通過(guò)編程的方法,創(chuàng)建運(yùn)行在WinSta0里的Local SYSTEM進(jìn)程。 而對(duì)于IT Pro來(lái)說(shuō),我們可以借助Mark Russinovich所寫(xiě)的Psexec工具,讓任意指定的進(jìn)程運(yùn)行在SYSTEM權(quán)限下。 而對(duì)于Windows Vista來(lái)說(shuō),其實(shí)有好些Local SYSTEM進(jìn)程本身運(yùn)行在WinSta0下(非會(huì)話0),例如Winlogon進(jìn)程、某個(gè)csrss進(jìn)程,還有我們大家很熟悉的UAC提示對(duì)話框(consent進(jìn)程),都運(yùn)行在SYSTEM下,但是可以和用戶進(jìn)行交互。 google_protectAndRun('render_ads.js::google_render_ad', google_handleError, google_render_ad);
標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 永年县| 永新县| 英德市| 南充市| 新宾| 兴宁市| 乌拉特中旗| 都安| 城步| 上杭县| 桐柏县| 治县。| 牟定县| 辉县市| 安顺市| 大埔区| 张家港市| 驻马店市| 元阳县| 昆明市| 宜兴市| 莎车县| 玛沁县| 和硕县| 都匀市| 常州市| 永寿县| 淮阳县| 泸定县| 昔阳县| 南城县| 若尔盖县| 司法| 澜沧| 尚志市| 卢湾区| 大安市| 肥西县| 桃江县| 荆门市| 罗甸县|