日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

2 Windows Vista如何以SYSTEM權(quán)限啟動進程(圖)

查看WinSta0窗口站的安全權(quán)限
前面的內(nèi)容隱藏了這樣一個事實,為什么Local SYSTEM進程有能力加入到WinSta0窗口站?
大家可以回想一下,在Windows 2000/XP下,只有以Local SYSTEM運行的服務(wù),可以選擇“允許服務(wù)與桌面交互” 。這實際上就是讓該服務(wù)運行在WinSta0窗口站里,而不是運行在默認的Service-0X0-3e7$窗口站里 。
但是為什么以其他帳戶身份運行服務(wù),不能選擇這個選項?甚至連以當(dāng)前登錄帳戶身份運行的服務(wù)都不行?例如當(dāng)前以Admin用戶帳戶身份登錄到系統(tǒng),而系統(tǒng)中存在著一個服務(wù),也以Admin身份運行 。
這里我們可以查看一下WinSta0窗口站的安全權(quán)限 ??梢杂肞rocess Explorer,或者調(diào)試工具(例如Windbg)進行查看 。
1. 用Windbg查看WinSta0的ACL
這里首先介紹用Windbg查看WinSta0窗口站的安全權(quán)限(更加完整) 。
由于Windows Vista默認禁用Kernel Debug,所以必須運行以下命令手動打開Kernel Debug選項:
bcdedit -debug on
盆盆評注:注意,如果安裝了Demon Tools之類的工具,請不要打開Kernel Debug的選項,以免產(chǎn)生沖突 。
下圖是利用Windbg所dump出來的WinSta0安全描述符的完整記錄:

我們主要關(guān)心日志中最后三個棕色加粗顯示的結(jié)果:Local System帳戶擁有0x000f037f權(quán)限組合;Administrators組帳戶擁有0x00020166權(quán)限組合;還有一個SACL的ACE為S-1-16-4096 。
0x000f037f和0x00020166,看上去甚是古怪,但搞開發(fā)的兄弟應(yīng)該很容易理解,這實際上是安全權(quán)限的組合掩碼 。
咱IT Pro不需要理解這到底是什么意義,只需要知道0x000f037f代表擁有WinSta0的所有可能權(quán)限;而0x00020166代表擁有大多數(shù)可能的權(quán)限,但是無法讀取屏幕內(nèi)容 。
還有一個SACL的ACE為S-1-16-4096 。這又是什么意思?
嘻嘻,這里就要請大家參考MVP小青蛙s兄弟的大作《Windows Vista UIPI和窗口消息的故事》 。原來在Windows Vista里,每個安全對象,包括窗口站,都有MIC等級的概念 。這里可以看到WinSta0窗口站的MIC等級就是S-1-16-4096,實際上就是Low Integrity Level 。當(dāng)然在盆盆的多篇拙作里也曾經(jīng)多次提及,例如《Windows Vista有趣的標(biāo)簽SID》 。
WinSta0窗口站的MIC級別為什么會是低級?這可能是為了方便IE瀏覽器這樣的Low MIC進程也能夠讀寫WinSta0里的內(nèi)容 。
2. 用Process Explorer查看WinSta0的ACL
用Windbg查看WinSta0的ACL,可以得到比較豐富的信息,但是有一點小缺點,無法查看當(dāng)前登錄帳戶的權(quán)限(相當(dāng)于查看無用戶登錄時的WinSta0的安全權(quán)限) 。
所以這里借助Process Explorer進行查看 。
隨便找到一個用戶進程,查看其打開的句柄,可以發(fā)現(xiàn)其中有/Sessions/1/Windows/WindowStations/WinSta0這樣的句柄,查看其安全權(quán)限 。
可以看到當(dāng)前登錄帳戶(本例是Admin)沒有訪問WinSta0的權(quán)限,如附圖所示 。

除了SYSTEM之外,還有一個古怪帳戶S-1-5-5-0-148836具有所有可能的權(quán)限,如附圖所示 。

S-1-5-5-0-148836實際上就是Admin登錄會話的SID 。這樣的結(jié)果非常有趣,WinSta0的權(quán)限是授予Admin的一次登錄實例(登錄會話),而不是Admin這個安全主體本身,很有意義 。其實道理很簡單,登錄會話是經(jīng)過LSA驗證的一次登錄實例,Windows可以信任 。而以Admin身份運行的進程,并不一定都是由Admin這個用戶觸發(fā)的,還有可能是以Admin身份運行的服務(wù),從WinSta0的ACL可以看出,這些服務(wù)無法訪問WinSta0,盡管它們的身份就是登錄用戶本身!
Process Explorer雖然可以看到完整的安全描述符信息,也可以看到更詳細的權(quán)限 。但是有兩個小缺點,一是無法顯示W(wǎng)inSta0的MIC級別,而是只顯示所謂的常規(guī)權(quán)限,而沒有顯示針對窗口站的特定權(quán)限 。可能Mark Russinovich還沒有來得及更新,抑或這位大牛認為這太簡單了,認為大家很容易理解,不想再修改了 。

推薦閱讀